brudjuz
2.11.2010, 22:30
(Ovo je jedno programersko iskustvo iz Blaise Pascal Newsletter, koje dokazuje da je Pascal multiPlatform/multiOS/multiCPU magija moguća, ali u Open Source svetu kroz Lazarus projekat, koje Vam objavljujem u slobodnom prevodu...- op.a.)
"Ovaj članak pokazuje ogroman napredak koji je Lazarus napravio zbog predanog rada jezgra razvojnog tima. On pokazuje da je danas Lazarus na mnoge načine u rangu s Delphijem, a u nekoliko ključnih područja i daleko ispred Delphija (32/64 bitni, multi-platforma i multi-OS, omogućava razvoj na mobilnim i ugrađenim sistemima).
Naravno, to nije isto kao i Delphi, ali je vrlo jeftino. Lazarus je pristupačan za svakoga i možete da započnete odmah sa
realizacijom informatičkih zahteva. Možete stvoriti bilo koji program, koji ste ikada želeli, a broj dostupnih komponenata stalno raste.
Dakle, odgovor je DA. Savršeno za komercijalne svrhe!
Počeo sam svoj posao 2001. u hrvatskoj firmi, koja se zove Holobit. U to vreme Holobit je bio prilično mala firma, sa nekoliko desetina kupaca. Moj primarni zadatak je bio da set trenutnih C++ poslovnih aplikacija prevedem na Linux i Windows, pomoću Delphi, Kylix i Borland-a CLX tehnologije. Nakon godina, C/C++ kodiranje na Linux OOP je izgledalo vrlo jednostavno i dobro organizovano. Dva meseca kasnije sam zaključio da Borland daje odlične proizvode, i vreme kodiranja je puno kraće nego što je bilo sa C/C++ (gtk+, QT) pomoću vi editora. U svakom slučaju, u roku od 3 meseca naše poslovne aplikacije su pretvorene u CLX i firma je počela prodaju za Linux i Win32. Sve je učinjeno sa Kylix 2 i Delphi 6 (kasnije nadogradili na K3 i D7).
Izrada native Linux aplikacija je bila dobra odluka, tako da je broj kupaca počeo ubrzano da raste. Naši klijenti su bili
sretni sa mogućnošću izbora između Linux i Windows klijent aplikacija za desktop PC, jer štede novac i stvaraju bolju i
sigurniju okolinu. Drugo pitanje pretvaranja, koje je izgledalo prilično komplikovano - u to vreme - bilo je oko baza
podataka. Kada sam počeo pretvaranje naših aplikacija, sve od njih su koristile FoxPro. Bio sam jako razočaranim s njim, jer sam tada već koristio PostgreSQL na Linuxu. Pogađate, preselili smo sve naše aplikacije na PostgreSQL.
U to vreme nisam znao za ThirdParty komponente, kao što su Zeos itd. .., pa sam napisao svoj PostgreSQL driver, koji se koristio još nekoliko godina. Kasnije, kada sam pronašao Zeos - ugodno iznenađenje - odmah sam ga počeo koristiti. Tako je došla 2004., bilo je glasina da je Kylix ugašen, nema vesti iz Borlanda - samo tišina ...
Da, bio je ugašen: sram vas Borland, ne zato što ste stavili Kylix u grob, već zato što ste varali svoje klijente.
Tokom godina smo se borili sa Borland proizvodima. U međuvremenu, Kylix se nije mogao pokrenuti na bilo kojoj distribuciji, ako se ona temelji na glibc, većem od 2.4.X. Sve dok nisam video da je neko počeo qt-widgetset u Lazarus projektu, i taj tip je bio Felipe, a i zahvaljujući Den Jean za Qt C bindings (jer bez toga nismo mogli imati Qtwidgetset unutar Lazarusa).
Iako sam probao Lazarus samo nekoliko puta pre, nisam bio privučen ranije, jer podržava samo Gtk1 widgetset, koji je izgledao strašno, u poređenju sa Qt2, koji koristi Kylix. Sad sam bio motivisan za preuzimanje Lazarus builda, kako bih saznao za način rada sa Qt. (jer sam već ranije pokušao Gtk). Kao što je spomenuto, rad na Qt widgetset je tek počeo, a rezultat je pokazivao da je potrebno puno poboljšanja, tako to tada nije radilo.
Nakon brzog skeniranja Lazarus principa, biblioteke Lazarus komponenti (LCL) i widgetset veze LCL, počeo sam sa korekcijama, sa primarnim ciljem da Qt widgetset proradi. Moje prve zakrpe su zatim poslate Felipeu. Bunio se mojim standardima kodiranja (hej, hej), pa sam promenio moje standarde kodiranja prema Lazarus principima. U svakom slučaju, nakon nekih godinu dana, Qt widgetset je postao upotrebljiv. U međuvremenu, Lazarus programeri su mi odobrili SVN pristup - tako da nema više potrebe da čekam na Felipeovo odobrenje, i drugih da izvrše svoje zakrpe.
U isto vreme - poslovni problemi narastaju sa Kylix i Delphi programiranjem i uprava firme je razmatrala o tome da se aplikacije presele kompletno u Javu ili .Net. Kada je uprava donela odluku za tu promenu, brzo sam prigovorio.
Nisam bio jako sretan s tim. Ne zbog programa, nego zbog svih ThirdParty komponenata, koje se koriste u našim aplikacijama (ZeosLib, FastReports, TMS mreža, VirtualTrees itd). Rekao sam da ćemo trebati puno vremena i resursa, da se preseli naš kod u Javu ili .Net, a mogući rezultat te operacije nije bio ohrabrujuć. Bio sam uznemiren tom poslovnom odlukom (i već sam imao na umu da promenim posao), tako da sam jednog dana pitao šefa, ako bi se mogli dogovoriti, da mi da neko vreme za razvoj koda koristeći Lazarus. U sledećih nekoliko mjeseci, sam pokazao neke od naših aplikacija koje trče na Qt4.
(nastaviće se...)
"Ovaj članak pokazuje ogroman napredak koji je Lazarus napravio zbog predanog rada jezgra razvojnog tima. On pokazuje da je danas Lazarus na mnoge načine u rangu s Delphijem, a u nekoliko ključnih područja i daleko ispred Delphija (32/64 bitni, multi-platforma i multi-OS, omogućava razvoj na mobilnim i ugrađenim sistemima).
Naravno, to nije isto kao i Delphi, ali je vrlo jeftino. Lazarus je pristupačan za svakoga i možete da započnete odmah sa
realizacijom informatičkih zahteva. Možete stvoriti bilo koji program, koji ste ikada želeli, a broj dostupnih komponenata stalno raste.
Dakle, odgovor je DA. Savršeno za komercijalne svrhe!
Počeo sam svoj posao 2001. u hrvatskoj firmi, koja se zove Holobit. U to vreme Holobit je bio prilično mala firma, sa nekoliko desetina kupaca. Moj primarni zadatak je bio da set trenutnih C++ poslovnih aplikacija prevedem na Linux i Windows, pomoću Delphi, Kylix i Borland-a CLX tehnologije. Nakon godina, C/C++ kodiranje na Linux OOP je izgledalo vrlo jednostavno i dobro organizovano. Dva meseca kasnije sam zaključio da Borland daje odlične proizvode, i vreme kodiranja je puno kraće nego što je bilo sa C/C++ (gtk+, QT) pomoću vi editora. U svakom slučaju, u roku od 3 meseca naše poslovne aplikacije su pretvorene u CLX i firma je počela prodaju za Linux i Win32. Sve je učinjeno sa Kylix 2 i Delphi 6 (kasnije nadogradili na K3 i D7).
Izrada native Linux aplikacija je bila dobra odluka, tako da je broj kupaca počeo ubrzano da raste. Naši klijenti su bili
sretni sa mogućnošću izbora između Linux i Windows klijent aplikacija za desktop PC, jer štede novac i stvaraju bolju i
sigurniju okolinu. Drugo pitanje pretvaranja, koje je izgledalo prilično komplikovano - u to vreme - bilo je oko baza
podataka. Kada sam počeo pretvaranje naših aplikacija, sve od njih su koristile FoxPro. Bio sam jako razočaranim s njim, jer sam tada već koristio PostgreSQL na Linuxu. Pogađate, preselili smo sve naše aplikacije na PostgreSQL.
U to vreme nisam znao za ThirdParty komponente, kao što su Zeos itd. .., pa sam napisao svoj PostgreSQL driver, koji se koristio još nekoliko godina. Kasnije, kada sam pronašao Zeos - ugodno iznenađenje - odmah sam ga počeo koristiti. Tako je došla 2004., bilo je glasina da je Kylix ugašen, nema vesti iz Borlanda - samo tišina ...
Da, bio je ugašen: sram vas Borland, ne zato što ste stavili Kylix u grob, već zato što ste varali svoje klijente.
Tokom godina smo se borili sa Borland proizvodima. U međuvremenu, Kylix se nije mogao pokrenuti na bilo kojoj distribuciji, ako se ona temelji na glibc, većem od 2.4.X. Sve dok nisam video da je neko počeo qt-widgetset u Lazarus projektu, i taj tip je bio Felipe, a i zahvaljujući Den Jean za Qt C bindings (jer bez toga nismo mogli imati Qtwidgetset unutar Lazarusa).
Iako sam probao Lazarus samo nekoliko puta pre, nisam bio privučen ranije, jer podržava samo Gtk1 widgetset, koji je izgledao strašno, u poređenju sa Qt2, koji koristi Kylix. Sad sam bio motivisan za preuzimanje Lazarus builda, kako bih saznao za način rada sa Qt. (jer sam već ranije pokušao Gtk). Kao što je spomenuto, rad na Qt widgetset je tek počeo, a rezultat je pokazivao da je potrebno puno poboljšanja, tako to tada nije radilo.
Nakon brzog skeniranja Lazarus principa, biblioteke Lazarus komponenti (LCL) i widgetset veze LCL, počeo sam sa korekcijama, sa primarnim ciljem da Qt widgetset proradi. Moje prve zakrpe su zatim poslate Felipeu. Bunio se mojim standardima kodiranja (hej, hej), pa sam promenio moje standarde kodiranja prema Lazarus principima. U svakom slučaju, nakon nekih godinu dana, Qt widgetset je postao upotrebljiv. U međuvremenu, Lazarus programeri su mi odobrili SVN pristup - tako da nema više potrebe da čekam na Felipeovo odobrenje, i drugih da izvrše svoje zakrpe.
U isto vreme - poslovni problemi narastaju sa Kylix i Delphi programiranjem i uprava firme je razmatrala o tome da se aplikacije presele kompletno u Javu ili .Net. Kada je uprava donela odluku za tu promenu, brzo sam prigovorio.
Nisam bio jako sretan s tim. Ne zbog programa, nego zbog svih ThirdParty komponenata, koje se koriste u našim aplikacijama (ZeosLib, FastReports, TMS mreža, VirtualTrees itd). Rekao sam da ćemo trebati puno vremena i resursa, da se preseli naš kod u Javu ili .Net, a mogući rezultat te operacije nije bio ohrabrujuć. Bio sam uznemiren tom poslovnom odlukom (i već sam imao na umu da promenim posao), tako da sam jednog dana pitao šefa, ako bi se mogli dogovoriti, da mi da neko vreme za razvoj koda koristeći Lazarus. U sledećih nekoliko mjeseci, sam pokazao neke od naših aplikacija koje trče na Qt4.
(nastaviće se...)