Nepradėsiu aiškinti, kad atviro kodo softas yra gerai, kas yra blogai ir t.t… jei norit pasiskaityti apie atviro kodo ideologiją, rekomenduoju knygas, pvz.: “Open Source Development with CVS”, “The Cathedral and the Bazaar”.
Sakykim, kad nusprendėt naudot atvirą kodą… pradėjot nuo Firefox, OpenOffice… ir t.t. Bet netrukus pastebėjot, kad ne visam Jūsų naudojamam softui yra GPL (General Public License) analogai. Va sakykim, Jūs ilgą laiką programavote “Borland ” ir dabar neturit jokio noro pereiti prie kitos kalbos… ir nebūtina - bent jau išmėginkite !

Trumpai apie : FreePascal pagrindu paremtas IDE labai panašus į . Iš karto turiu nuliūdinti - ir naudoja skirtingus failų formatus projektų saugojimui. Taigi, seniai pradėtą projektą negalėsit atsidaryti ir tęsti ant (ir atvirkščiai). Geriausiu atveju galėsite susikurti naują projektą, identiškai sudėlioti komponentus ant formų, sukurti tuos pačius event-handler’ius, į kuriuos nukopijuosite tą patį savo kodą. Na gerai, gal neviskas taip blogai - atsidarysit failus su notepad’u, pasinagrinėsit skirtumus, atliksit nežymius pakeitimus ir gal pavyks atidaryt projektą ant … bent jau oficialiam tinklapy rašo, kad turėtų būt įmanoma tą padaryt su paprastais projektais (kurie naudoja standartinius komponentus, nenaudoja PURE Win API, duombazių).

Bandome
Nusprendžiau aš išmėginti šį gamtos stebuklą… siūlau ir Jums :) Einame į oficialų puslapį http://lazarus.freepascal.org/ . Einame į downloads.. nukreipia mus į sourceforge.net . Pasirenkame paketą “ Windows Binaries” ir siunčiamės naujausią versiją. Instaliavimas paprastas.

Pirmas įspūdis neblogas :) Kas krenta į akis, kad komponentų ne per daugiausiai… Pabandžiau susikurti programą, kuri imituotų pelės mygtuko paspaudimą. Kadangi WinAPI beveik nemoku, nuėjau į torry.net ir ten tips’uose susiradau reikalingą kodo gabaliuką:

mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);

Pradėjus kompiliuoti iškarto pranešė, kad: identifier not found “mouse_event”. Ant unit’as “Windows” būna pagal nutylėjimą įtrauktas į uses.. čia reikėjo pačiam įrašyti… rezultate sukompiliavo. Paleidus programą veikia kaip ir tikėtasi. Smalsu, kiek užima sukompiliuotas exe failas? ~6,3 MiB.. nemažai… gal koks ASPack sumažintų failą, nebandžiau. Beje, kompiliavo daug daug ilgiau nei Delphis… kokias 6 sekundes. Screenshotas:
Lazarus ant Windows

Bandome ant GNU/Linux
Tai dar ne viskas… veikia ir ant kitų platformų - GNU/Linux, Mac OS X. Nusprendžiau pabandyti ant GNU/Linux, nes turėjau jau įdiegtą Ubuntu 6.06. Taigi, atsidariau konsolę, įrašiau:
apt-cache search
Bet nieko nesurado… taip taip, į apt source’ų list’ą esu įdėjęs papildomus (restricted, universe, multiverse) repozitorius. Ką gi, einame į tą patį oficialų tinklapį ir siunčiamės iš ten. Tik šį kartą renkamės ne “ Windows Binaries” o “ Linux DEB”. Parsiunčiame visus ten esančius deb paketus: fp*.deb, *.deb. Sudedame juos į atskirą katalogą. Įsijungiame konsolę root vartotoju (sudo -s) ir vykdome:
dpkg -i kelias_iki_parsiustu_paketu/fp*.deb
dpkg -i kelias_iki_parsiustu_paketu/*.deb

Kažkas jam nepatiko, pradėjo pasakoti apie priklausomybes… jei ir Jum taip tada:
apt-get -f install
Man padėjo. Suinstaliavo, ir net shortcut’ą sukūrė į start meniu :) (meniu, applications, programming, ). Pasileidžia be problemų. Bandžiau sukurti tą patį projektą, kokį ir ant Win mėginau… šį kartą unit’o “Windows” įtraukimas į uses nepadėjo :) Nėra išvis tokio unit’o… Čia turbūt reiktų kreiptis į kokią nors X’ų biblioteką, bet neįsivaizduoju kokią:) Parašykit Jūs, jei žinot… Gerai, išmečiau viską, palikau tuščią projektą, sukompiliavau. Vykdomasis failas gavosi ~6,6 MB. Trupučiuką daugiau nei ant win… bet tik 4,8%. Kompiliavo daug trumpiau nei ant win. Screenshotas:
Lazarus ant GNU/Linux

Išvados
Parsisiųskite, išmėginkite ir išvadas padarykite patys :) O jeigu labai susidomėjote, ir ieškote daugiau atviro kodo programų tai rekomenduoju:
http://osswin.sourceforge.net/
sąrašas lt kalba

Panašūs straipsniai


“Delphi: Programuojame GPL naudodami GPL” komentarų: 9

  1. IdeaG

    stilius tokis biski i reklamini bukleta nesa, bet siaip straipsnelio tema aktuali.

  2. enc

    kazkaip nesitiki, kad paprastas peles veiksmu emuliatorius tiek daug svertu .\ tu gal ten bibliotekas statiskai linkinai?

  3. Raigedas

    ne, aš pats nieko nelinkinau… tuščias projektas sukompiliuotas irgi tiek sveria.

  4. IdeaG

    freepascal’is turi sita problema. jis labai daug dalyku ilinkina automatiskai

  5. Commandos

    piuikus straipsnis

  6. vilmantas

    straipsnis atbaido nuo Lazarus :).

    Naudosiu toliau piratini Delphi.

  7. OggyH

    Norit programuot delphi ir nieko nemoket? - Naudokit Turbo Delphi

  8. junerijus

    na kzkaip letaviakanapatiko lazaro o ir tuscia forma kazkaip kartais padaro 7mb ,,,

  9. Koksskirtumas

    Pasinaudokit strip programa (pvz.: strip.exe –strip-all failas.exe), tada .exe užims daug mažiau

Rašyti komentarą

Jūs privalote prisijungti jeigu norite rašyti komentarą.