Prikaz jedne poruke
Stara 11.4.2018, 16:57   #3
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: Programiranje pocetnici

Još par opcija.

PyQt, PySide i wxPython

Za: Python je izuzetno lak i moćan jezik koji se odlično integriše u pomenute multiplatformske frameworke Qt i wxWidgets. Uz Qt Designer za vizuelno dizajniranje aplikacija i ekstenzije koje te dizajne pretvaraju u Python kod rad na bilo kakvoj desktop aplikaciji je izuzetno lak i komforan.

Protiv: Python kao interpretirani jezik ima slabije performanse od kompajliranih byte-code aplikacija ali ta razlika se u velikom broju slučajeva ne primećuje i može da se mitigira korišćenjem Cythona koji dodaje statičko tipiziranje Python sintaksi i tako znatno ubrzava izvršavanje.

Isto tako kompanija koja izdaje PyQt ima pomalo nejasne uslove licenciranja pa bilo kakvo zalaženje u LGPL vode može da bude problematično. Recimo, iako sam Qt nudi i LGPL opciju (varijanta GPL-a koja ne zahteva od developera da distribuira kod) PyQt nudi samo GPL i komercijalnu opciju čime se LGPL praktično eliminiše. Zato je sam Qt preuzeo PySide projekat i počeo da radi na PySide 2 verziji koji će imati punu podršku za LGPL.

Praktično nepostojanje bilo kakve podrške za mobilne platforme.

JavaFX

Za: poprilično moćan framework za desktop aplikacije zasnovan na jednom od industrijskih standarda, Javi. Dolazi sa sopstvenim vizuelnim alatom za dizajniranje aplikacija pod imenom JavaFX Scene builder čije izdavanje binarnih verzija je sada na sebe preuzeo Gluon.

Protiv: JavaFX se nekako provukao ispod radara, najviše zahvaljući nemarnosti izdavača. Naime, iako nudi poprilično moćan set alata za izradu desktop pa i mobilnih aplikacija Oracle godinama nije dodavao nove funkcionalnosti a da ironija bude veća znatno stariji alati, od kojih su neki već zvanično u deprecated statusu (Swing itd.), imaju neuporedivo bolju dokumentaciju, podršku i kritičnu masu developera.

Electron

Za: zagarantovana multiplatformnost sa najvišim stepenom kompatibilnosti između platformi zbog toga što osnovu čini kombinacija Chromium browsera i node.js. Posebno pogodan za aplikacije koje trebaju da obezbedi identičan vizuelni identitet među platformama i timove koji imaju iskustva sa web tehnologijama (JavaScript, CSS, HTML itd.) Nudi izuzetnu brzinu razvoja aplikacija zbog ogromnog repozitorijuma koda i gotovih alata kroz npm pakete. Za developere koji ne podnose JavaScript postoji opcija transpilovanja koda iz tehnologija koje nude i statičko tipiziranje (TypeScript, Coffe script itd.)

Protiv: pomalo kontraverzna tehnologija koju puristi smatraju novom verzijom Flasha jer se web tehnologije koriste za izradu desktop aplikacija. Zahteva distribuciju kompletnog Chromiuma i node.js za svaku aplikaciju (minimum 100MB raspakovano) i performanse generalno ne mogu da se mere sa nativnim aplikacijama. Update i distribucija paketa mogu da budu nešto komplikovaniji od drugih rešenja.

Poslednja ispravka: Neutrino (11.4.2018 u 17:04)
Neutrino je offline   Odgovor sa citatom ove poruke
Sledećih 5 korisnika se zahvaljuje korisniku Neutrino na korisnoj poruci:
Aleksandar Djurovic (13.4.2018), doctor (11.4.2018), Neta00 (11.4.2018), Teva (13.4.2018), voodoo_ (12.4.2018)