Lazarus (software) - Lazarus (software)

Lazarus
Laz banner.png
Lazarus 1.0 Carbon.png
Lazarus IDE 1.0 kører på macOS
Udvikler (er) Frivillige (Lazarus Team)
Stabil udgivelse
2.0.12 / 21. februar 2021 ; 7 måneder siden ( 2021-02-21 )
Depot
Skrevet i Objekt Pascal
Operativ system Windows , macOS , Linux , FreeBSD , Solaris og andre
Platform IA-32 , x86-64 , winCE til ARM , PowerPC
Type Integreret udviklingsmiljø
Licens GNU General Public License og ændret GNU Lesser General Public License (med statisk linkende undtagelse)
Internet side www .lazarus-ide .org

Lazarus er et gratis grænseoverskridende visuelt integreret udviklingsmiljø (IDE) til hurtig applikationsudvikling (RAD) ved hjælp af Free Pascal- kompilatoren. Dets mål er at give et brugervenligt udviklingsmiljø for programmører, der udvikler sig med Object Pascal-sproget, som er så tæt som muligt på Delphi .

Softwareudviklere bruger Lazarus til at oprette native-kode konsol og grafiske brugergrænseflade (GUI) applikationer til skrivebordet og også til mobile enheder, webapplikationer, webtjenester , visuelle komponenter og funktionsbiblioteker til en række forskellige platforme, herunder Mac, Linux og Windows.

Et projekt oprettet ved at bruge Lazarus på en platform kan kompileres på en hvilken som helst anden, som Free Pascal -kompilatoren understøtter. For desktop -applikationer kan en enkelt kilde målrette mod Mac OS , Linux og Windows , med ringe eller ingen ændringer. Et eksempel er Lazarus IDE selv, skabt ud fra en enkelt kodebase og tilgængelig på alle større platforme inklusive Raspberry Pi .

Funktioner

Lazarus giver et meget visuelt udviklingsmiljø til oprettelse af rige brugergrænseflader, applikationslogik og andre understøttende kode artefakter, der ligner Borland Delphi . Sammen med projektstyringsfunktioner giver Lazarus IDE også:

  • A Hvad du ser, er, hvad du får ( WYSIWYG ) visuel vindueslayoutdesigner
  • GUI -widgets eller visuelle komponenter såsom redigeringsbokse, knapper, dialoger, menuer osv.
  • Ikke-visuelle komponenter til almindelig adfærd, f.eks. Vedholdelse af applikationsindstillinger
  • Datatilslutningskomponenter til MySQL , PostgreSQL , FireBird , Oracle , SQLite , Sybase og andre
  • Databevidst widgetsæt, der giver udvikleren mulighed for at se data i visuelle komponenter i designeren for at hjælpe med udviklingen
  • Interaktiv kodefejlfinding
  • Kodeudfyldelse
  • Kode skabeloner
  • Fremhævelse af syntaks
  • Kontekstfølsom hjælp
  • Tekstressource manager for internationalisering (internationalisering)
  • Automatisk kodeformatering
  • Evnen til at oprette brugerdefinerede komponenter

Udvikling på tværs af platforme

Interaktion mellem klassebiblioteker og widgets i Lazarus og Free Pascal

Lazarus bruger Free Pascal som sin back-end compiler. Derfor kan Lazarus teoretisk bruges til at udvikle applikationer til alle platforme understøttet af Free Pascal .

Lazarus leverer en applikationsramme på tværs af platforme kaldet Lazarus Component Library (LCL), som giver en enkelt, samlet grænseflade til programmører med forskellige platformspecifikke implementeringer. Ved hjælp af LCL er det muligt at oprette applikationer i en skrive én gang, kompilere hvor som helst , medmindre systemafhængige funktioner eksplicit bruges.

Kryds-kompilering

Da Free Pascal understøtter krydskompilering , kan Lazarus-applikationer krydskompileres fra Windows til Linux / macOS / etc. og omvendt.

Applikationer til integrerede enheder ( smartphones , PDA'er , routere, spillekonsoller) kan krydskompileres fra enhver desktop-platform.

Lazarus komponentbibliotek

Arkitektur af Lazarus komponentbibliotek

Standardapplikationsrammen, Lazarus Component Library (LCL) blev oprindeligt modelleret efter Visual Component Library (VCL) i Delphi 6, men er i modsætning til Delphi ikke begrænset til Microsoft Windows -operativsystemer . Dette gøres ved at adskille definitionen af fælles widget klasser og deres widgetset specifik implementering. Hvert widgetsæt understøttes af en grænseflade, der interagerer direkte med sættet.

Databaseudvikling

Udviklere kan installere pakker, der gør det muligt for Lazarus at understøtte flere databasesystemer (DBMSes). Programmer kan interagere med DBMS'er via kode eller komponenter, der falder på en formular.

Følgende DBMS'er understøttes uden for kassen:

Forskelle fra Delphi

Selvom det ligner Delphi på mange måder, er der et par begrænsninger med hensyn til ydeevne og funktionssæt, herunder:

  • Under Windows er standardstørrelsen for en eksekverbar fil større end Delphi 6 eller 7 ækvivalent, da Lazarus gemmer fejlfindingsoplysninger i den eksekverbare fil, snarere end som separate filer. Fra 0.9.30 og fremefter understøtter Lazarus eksterne fejlfindingssymboler; programfilstørrelse kan reduceres betydeligt (via kompilatorindstillinger) ved hjælp af en ekstern symbolfil. Alternativt kan fejlfindingsoplysninger fjernes fra EXE'er (f.eks. Ved hjælp af en port i UNIX strip-kommandoen).
  • Komponenter til Delphi kan konverteres til arbejde i Lazarus, hvilket kan være komplekst, men er blevet mindre siden 0.9.30, baseret på FP 2.4.x.
  • Manglende Datasnap (ikke et offentligt dokumenteret system, Embarcaderos proprietære virksomhedsfunktionalitet).
  • Netværk er for det meste tilgængeligt.
  • Ingen understøttelse af direkte opkald til .NET -biblioteker. Object Pascal -kode kan kaldes fra .NET -software.
  • Ingen understøttelse af dynamisk indlæselige pakker.
  • Ikke fuldt kompatibel med VCL. Som tidligere nævnt er dette designet, selvom LCL -widgetsættet burde være tilstrækkeligt til de fleste applikationer. Men dette gør det dybe lager af tilgængelige VCL -widgets utilgængelige uden konvertering. Konverteringsindsatsen involverer for det meste en vis redigering, selvom der er et par grundlæggende forskelle. Ved overførsel er manglende enheder på bibliotekerne (og tidligere mangel på COM -understøttelse) et betydeligt større problem end uforeneligheder mellem LCL og VCL.
  • COM understøttes siden version 2.2.0.
  • Microsoft Office -forbindelse var ikke tilgængelig, før FPC 2.6.0 blev frigivet. Med FPC 2.6.0 og højere kan Excel dukke op med en simpel tabel udfyldt.

Distribution og licensering

Ligesom Free Pascal er Lazarus gratis software . Forskellige portioner distribueres under forskellige gratis softwarelicenser , herunder GPL , LGPL , MPL og en modificeret version af LGPL.

Specifikt er LCL, som er statisk indbygget i de producerede eksekverbare filer, licenseret under en modificeret version af LGPL, hvilket giver ekstra tilladelser til at lade det blive statisk indbygget i den producerede software, herunder proprietære .

Installation af en designtidspakke svarer til at oprette forbindelse til IDE, således at distribution af Lazarus IDE med en GPL-inkompatibel designtidspakke, f.eks. JEDI- pakker, der er licenseret under Mozilla Public License , forinstalleret ville forårsage en licensovertrædelse. Dette forbyder ikke proprietære pakker fra at blive udviklet med Lazarus.

Historie

Det første forsøg på at udvikle en visuel IDE til Free Pascal går tilbage til 1998 under navnet "Megido -projekt". Af forskellige årsager mislykkedes denne fremgangsmåde. Nogle af Megidos udviklere startede derefter et nyt projekt baseret på et mere fleksibelt fundament.

Den første foreløbige LCL -version var klar til udgivelse i 2001, og i 2003 blev den første betaversion af Lazarus (0.9.0.3) hostet på SourceForge . Den første sidste Lazarus -version (1.0) blev udgivet i 2012, og Lazarus 1.2 blev forbedret betydeligt med blev frigivet i 2014. Der var foretaget mere end fire millioner downloads fra SourceForge fra marts 2014.

Navnet "Lazarus" hentyder til genoplivning af Megido -konceptet. Det er inspireret af Lazarus fra Betania , der ifølge Johannesevangeliet blev genoplivet af Jesus fire dage efter hans død.

Versioner

Legende:
Gammel version
Ældre version, stadig vedligeholdt
Nyeste version
Seneste eksempelversion
Fremtidig udgivelse
Versionsnummer Udgivelses dato Platform Kommentarer
Gammel version, ikke længere vedligeholdt: 0,0,5 Januar 2001 Windows Første udgivelse af komponentbibliotek
Gammel version, ikke længere vedligeholdt: 0,1 Januar 2001 Windows Omdesign af komponentbibliotek for at understøtte platformfølsom udvikling til Linux og Windows ved hjælp af GTK+ og andre widgets .
Gammel version, ikke længere vedligeholdt: 0,5 30. januar 2001 Windows , Linux Fejlrettelser og nye funktioner, der understøtter udvikling på tværs af platforme og projektskeletter.
Gammel version, ikke længere vedligeholdt: 0,8 9. oktober 2001 Windows , Linux Codetools implementeret, fejlrettelser.
Gammel version, ikke længere vedligeholdt: 0.8.2 17. januar 2002 Windows , Linux Udvidede søgefunktioner.
Gammel version, ikke længere vedligeholdt: 0.8.4 19. august 2002 Windows , Linux Forbedret grafik og skrifttypestøtte, understøttelse af Delphi 6 -syntaks. Binære DFM'er konverteres nu automatisk til LFM'er.
Gammel version, ikke længere vedligeholdt: 0,8,5 26. oktober 2002 Windows , Linux LCL afkoblet fra grænseflader.
Gammel version, ikke længere vedligeholdt: 0.9.0.3 4. september 2003 Linux Første udgivelse på Sourceforge
Gammel version, ikke længere vedligeholdt: 0.9.1 27. februar 2004 Windows , Linux Support til pakker, mange tilføjede og forbedrede egenskaber.
Gammel version, ikke længere vedligeholdt: 0.9.4 3. januar 2005 Windows Threading support forbedret, ældste offentlig version hostet på Sourceforge
Gammel version, ikke længere vedligeholdt: 0.9.6 25. februar 2005 Windows
Gammel version, ikke længere vedligeholdt: 0.9.8 19. juli 2005 Windows
Gammel version, ikke længere vedligeholdt: 0.9.10 3. oktober 2005 Windows, Mac OS X (PPC) Fejlrettelser, udvidelse af IDE forbedret, dokumenteditor til FPDoc -filer. Inkluderer gratis Pascal 2.0.1
Gammel version, ikke længere vedligeholdt: 0.9.12 7. februar 2006 Windows Nye pakker til databasesupport, CGI -applikationer og udskrivning.
Gammel version, ikke længere vedligeholdt: 0.9.14 2. april 2006 Windows, Mac OS X (PPC), Linux Fejlrettelser, flere kontroller i WinCE- og Qt4 -grænsefladen
Gammel version, ikke længere vedligeholdt: 0.9.16 28. maj 2006 Windows, Mac OS X (PPC), Linux Fejlrettelser, onlinehjælp til IDE -vinduer og til LCL -applikationer, forbedringer af QT -widgetset -grænsefladen. Inkluderer gratis Pascal 2.0.2
Gammel version, ikke længere vedligeholdt: 0.9.18 23. september 2006 Windows, Mac OS X (PPC), Linux Fejlrettelser, procedureliste implementeret, nyt kommandolinjeværktøj "lazbuild"
Gammel version, ikke længere vedligeholdt: 0.9.20 5. november 2006 Windows, Mac OS X (PPC), Linux Bufixer, kodefoldning implementeret, QT -widgets er forbedret.
Gammel version, ikke længere vedligeholdt: 0.9.22 26. marts 2007 Windows, Mac OS X (PPC), Linux Nye komponenter til at skrive Windows -tjenester og Linux -dæmoner, understøttelse af brugerdefinerede musemarkører. Inkluderer gratis Pascal 2.0.4
Gammel version, ikke længere vedligeholdt: 0.9.24 15. november 2007 Windows, Mac OS X (Intel og PPC), Linux Første stabile version til Win64, WinCE og Intel-baserede Mac OS X. Forbedringer i Qt, Carbon og Gtk2 widgetset-grænseflader. Værktøjslinje, der kan tilpasses. Inkluderer gratis Pascal 2.2.0
Gammel version, ikke længere vedligeholdt: 0.9.26 5. oktober 2008 Windows, Mac OS X (Intel og PPC), Linux Internt grafisk system blev omskrevet. LCL bruger nu Unicode-strenge, der er kodet som UTF-8 på alle platforme. FPDoc -hjælp i værktøjstip. Første version til at køre indbygget ved hjælp af Carbon widgetset på Mac OS X.
Gammel version, ikke længere vedligeholdt: 0.9.26.2 13. marts 2009 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser, forbedret ikonstøtte. Inkluderer gratis Pascal 2.2.2
Gammel version, ikke længere vedligeholdt: 0.9.28 29. september 2009 Windows, Mac OS X (Intel og PPC), Linux Forbedringer af editor og debugger inklusive understøttelse af dobbeltbyte-skrifttyper som østlige, japanske, kinesiske og arabiske, mindre filstørrelser for genererede applikationer. Inkluderer gratis Pascal 2.2.4
Gammel version, ikke længere vedligeholdt: 0.9.28.2 25. oktober 2009 Windows, Mac OS X (Intel og PPC), Linux Hovedsageligt fejlrettelser.
Gammel version, ikke længere vedligeholdt: 0.9.30 22. marts 2011 Windows, Mac OS X (Intel og PPC), Linux Stort antal nye funktioner, herunder docking og flere kildekodevinduer. Baseret på Free Pascal 2.4.2.
Gammel version, ikke længere vedligeholdt: 0.9.30.2RC1 30. september 2011 Windows, Mac OS X (Intel og PPC), Linux Inkluderer gratis Pascal 2.4.4. Frigivelseskandidat til Lazarus 0.9.30.2.
Gammel version, ikke længere vedligeholdt: 0.9.30.2RC2 26. oktober 2011 Windows, Mac OS X (Intel og PPC), Linux Frigivelseskandidat til Lazarus 0.9.30.2.
Gammel version, ikke længere vedligeholdt: 0.9.30.2 5. november 2011 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser.
Gammel version, ikke længere vedligeholdt: 0.9.30.4RC1 3. marts 2012 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser, inkluderer Free Pascal 2.6.0. Frigivelseskandidat til Lazarus 0.9.30.4.
Gammel version, ikke længere vedligeholdt: 0.9.30.4RC2 7. marts 2012 Windows, Mac OS X (Intel og PPC), Linux Frigivelseskandidat til Lazarus 0.9.30.4.
Gammel version, ikke længere vedligeholdt: 0.9.30.4RC3 11. marts 2012 Windows, Mac OS X (Intel og PPC), Linux Frigivelseskandidat til Lazarus 0.9.30.4.
Gammel version, ikke længere vedligeholdt: 0.9.30.4 14. marts 2012 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser
Gammel version, ikke længere vedligeholdt: 1.0RC1 29. juli 2012 Windows, Mac OS X (Intel), Linux Frigivelseskandidat til Lazarus 1.0.
Gammel version, ikke længere vedligeholdt: 1.0RC2 21. august 2012 Windows, Mac OS X (Intel og PPC), Linux Frigivelseskandidat til Lazarus 1.0.
Gammel version, ikke længere vedligeholdt: 1.0 28. august 2012 Windows, Mac OS X (Intel og PPC), Linux Første sidste version. Denne stabile udgivelse inkluderer Free Pascal 2.6.0. Flere korrektioner og forbedringer af IDE, herunder en makrofunktion, udvidet kodefoldning og nye fejlfindingsfunktioner.
Gammel version, ikke længere vedligeholdt: 1.0.2 10. oktober 2012 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser, mindre tilføjelser til LCL og widgetsets
Gammel version, ikke længere vedligeholdt: 1.0.4 2. december 2012 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser, mindre tilføjelser til IDE, LCL og widgetsets samt LazReport og TAChart
Gammel version, ikke længere vedligeholdt: 1.0.6 3. februar 2013 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser, mindre tilføjelser til IDE, LCL og widgetsets samt LazReport og TAChart
Gammel version, ikke længere vedligeholdt: 1.0.8 19. marts 2013 Windows, Mac OS X (Intel og PPC), Linux Bug fix frigivelse. Inkluderer gratis Pascal 2.6.2
Gammel version, ikke længere vedligeholdt: 1.0.10 12. juni 2013 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser.
Gammel version, ikke længere vedligeholdt: 1.0.12 24. august 2013 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser.
Gammel version, ikke længere vedligeholdt: 1.0.14 16. november 2013 Windows, Mac OS X (Intel og PPC), Linux Fejlrettelser.
Gammel version, ikke længere vedligeholdt: 1.1.99 16. september 2013 Windows, Mac OS X, Linux Alpha -version til Lazarus 1.2
Gammel version, ikke længere vedligeholdt: 1.2RC1 3. november 2013 Windows, Mac OS X, Linux Frigivelseskandidat til Lazarus 1.2
Gammel version, ikke længere vedligeholdt: 1.2RC2 13. januar 2014 Windows, Mac OS X, Linux Frigivelseskandidat til Lazarus 1.2
Gammel version, ikke længere vedligeholdt: 1.2 4. marts 2014 Windows, Mac OS X, Linux Flere nye funktioner, herunder en makrooptager, understøttelse af lagdelte grafer og Pascal Script. Baseret på Free Pascal 2.6.2
Gammel version, ikke længere vedligeholdt: 1.2.2 23. april 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix frigivelse. Baseret på Free Pascal 2.6.4
Gammel version, ikke længere vedligeholdt: 1.2.4 16. juni 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.2.6 12. oktober 2014 Windows, Mac OS X, BSD, Solaris, Linux Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.4.0 19. april 2015 Windows, Mac OS X, BSD, Solaris, Linux Forbedringer af editor, ressourcehåndtering og yderligere nye funktioner. Baseret på Free Pascal 2.6.4.
Gammel version, ikke længere vedligeholdt: 1.4.2 14. juli 2015 Windows, Mac OS X, BSD, Solaris, Linux Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.4.4 4. oktober 2015 Windows, Mac OS X, BSD, Solaris, Linux Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.6 18. februar 2016 Windows 32bit/64bit, Mac OS X, Linux Flere nye funktioner, herunder docking, projektgrupper og forbedret editor. Baseret på Free Pascal 3.0.0.
Gammel version, ikke længere vedligeholdt: 1.6.2 13. november 2016 Windows 32bit/64bit, Mac OS X, Linux Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.6.4 26. februar 2017 Windows 32bit/64bit, macOS, Linux Bug fix frigivelse. Baseret på Free Pascal 3.0.2.
Gammel version, ikke længere vedligeholdt: 1.8.0 6. december 2017 Windows 32bit/64bit, macOS, BSD, Linux Stor udgivelse med mange nye funktioner, herunder en online pakkehåndtering. Baseret på Free Pascal 3.0.4.
Gammel version, ikke længere vedligeholdt: 1.8.2 28. februar 2018. Bug fix frigivelse.
Gammel version, ikke længere vedligeholdt: 1.8.4 22. maj 2018 Windows 32bit/64bit, macOS, BSD, Linux Bug fix frigivelse.
Ældre version, men stadig vedligeholdt: 2.0.0 5. januar 2019 Windows 32bit/64bit, macOS, BSD, Linux Flere nye funktioner, herunder kakaosupport og introduktion af en Pascal til JavaScript -transpiler.
Ældre version, men stadig vedligeholdt: 2.0.2 16. april 2019 Windows 32bit/64bit, macOS, BSD, Linux Bug fix frigivelse.
Ældre version, men stadig vedligeholdt: 2.0.4 6. august 2019 Windows 32bit/64bit, macOS, BSD, Linux Bug fix frigivelse.
Ældre version, men stadig vedligeholdt: 2.0.6 1. november 2019 Windows 32bit/64bit, macOS, BSD, Linux Bug fix frigivelse.
Ældre version, men stadig vedligeholdt: 2.0.8 16. april 2020 Windows 32bit/64bit, macOS, BSD, Linux Bug fix release, forbedret Cocoa widgetset.
Ældre version, men stadig vedligeholdt: 2.0.10 11. juli 2020 Windows 32bit/64bit, macOS, BSD, Linux Bug fix release, mindre tilføjelser, første version baseret på Free Pascal 3.2.0.
Nuværende stabil version: 2.0.12 21. februar 2021 Windows 32bit/64bit, macOS, BSD, Linux Baseret på Free Pascal 3.2.0. Liste over tilgængelige rettelser.

Eksempler på applikationer produceret med Lazarus

  • ASuite er en gratis open-source applikationsstarter til Windows. Fra 2.1 Alpha 1 er det fuldt ud skrevet i Lazarus/FPC.
  • Beyond Compare er et værktøj til sammenligning af data til Windows, macOS og Linux. MacOS- og Linux -versionerne kompileres ved hjælp af Lazarus/FPC.
  • Cartes du Ciel er et gratis planetarium -program til Linux, macOS og Windows. Softwaren kortlægger og mærker de fleste konstellationer, planeter og objekter, du kan se med et teleskop. Det er fuldt ud skrevet i Lazarus/FPC og udgivet under GPL.
  • C-evo er et turn-based strategispil med open source, der er blevet portet fra Delphi til Lazarus.
  • Cheat Engine er en open source-hukommelsesscanner/hex-editor/debugger. Det er nyttigt til snyd i computerspil. Siden version 6.0 er den kompileret med Lazarus/FPC.
  • EPANET , en softwarepakke til modellering af vanddistributionssystemer.
  • HNSKY , Hallo Northern Sky er et gratis planetarium -program til Windows og Linux. Siden version 3.4.0 skrevet og kompileret med Lazarus/FPC.
  • MyNotex er en gratis software til Linux, der er nyttig til at tage og administrere tekstnoter.
  • PeaZip er en open-source arkiver, lavet med Lazarus/FPC.
  • TorChat flytter væk fra Python og bliver omskrevet i Lazarus + Free Pascal.
  • Total Commander 64-bit version.
  • Double Commander er en open-source filhåndtering på tværs af platforme med to paneler side om side. Det er inspireret af Total Commander, plus nogle nye ideer.
  • CudaText er en cross-platform open-source tekst editor.
  • Coedit (omdøbt til Dexed ) er et IDE for sproget D programmering .
  • SimThyr er et kontinuerligt simuleringsprogram til thyreoidea -homeostase .
  • Tomboy-ng , den i øjeblikket aktive manifestation af Tomboy .

Eksempler på Delphi -biblioteker, der er kompatible med Lazarus

Se også

Referencer

Yderligere referencer

  • Michaël van Canneyt; Florian Klämpfl (2012), Free Pascal (Free Pascal 2 ed.), Computer & Literatur Verlag GmbH, ISBN 978-3936546729, OL  25421359M , 393654672X
  • Michaël van Canneyt; Mattias Gärtner; Swen Heinig; Felipe Monteiro de Carvalho; Inoussa Ouedraogo; Jörg Braun (2011), Lazarus , Böblingen, Tyskland: Computer & Literatur Verlag GmbH, OL  25426539M
  • Michaël van Canneyt; Mattias Gärtner; Swen Heinig; Felipe Monteiro de Carvalho; Inoussa Ouedraogo (2011), Lazarus - den komplette guide , Blaise Pascal Magazine, OL  25427992M

eksterne links