Cross-platform native development with Lazarus. Tristan Linnell [email_address]
Lazarus <ul><li>A full IDE on top of the  Free Pascal  Compiler.
RAD IDE, similar to Delphi.
”Drag and drop”, event driven design.
Cross-platform: Win, Mac, Linux, FreeBSD, Win CE... ”Write Once, Compile Anywhere”.
Multiple Widget Sets: Win, QT, GTK, Carbon...
Produces standard executables, shared libraries and object files. </li></ul>
Free Pascal Compiler (FPC) <ul><li>Object Oriented modern Pascal dialect.
Cross-platform.
Written in FPC (itself).
Supports multiple dialects (Object Pascal, FPC, Delphi, Turbo Pascal, Mac Pascal...)
Many built-in functions in the Run Time Library (RTL). </li></ul>
Lazarus
Lazarus Component Library <ul><li>Or  LCL . Similar to Delphi's  VCL .
Collection of standard and advanced controls.
Abstracts away the Widgetset's and OS's APIs.
Provides extra functions for cross-platform development, minimising use of  {$IFDEF} s </li></ul>
Upcoming SlideShare
Loading in...5
×

Lazarus

1,357

Published on

Tristan Linnell's presentation on the Lazarus IDE that was presented at Barcamp Canterbury 2011.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,357
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
23
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Lazarus

  1. 1. Cross-platform native development with Lazarus. Tristan Linnell [email_address]
  2. 2. Lazarus <ul><li>A full IDE on top of the Free Pascal Compiler.
  3. 3. RAD IDE, similar to Delphi.
  4. 4. ”Drag and drop”, event driven design.
  5. 5. Cross-platform: Win, Mac, Linux, FreeBSD, Win CE... ”Write Once, Compile Anywhere”.
  6. 6. Multiple Widget Sets: Win, QT, GTK, Carbon...
  7. 7. Produces standard executables, shared libraries and object files. </li></ul>
  8. 8. Free Pascal Compiler (FPC) <ul><li>Object Oriented modern Pascal dialect.
  9. 9. Cross-platform.
  10. 10. Written in FPC (itself).
  11. 11. Supports multiple dialects (Object Pascal, FPC, Delphi, Turbo Pascal, Mac Pascal...)
  12. 12. Many built-in functions in the Run Time Library (RTL). </li></ul>
  13. 13. Lazarus
  14. 14. Lazarus Component Library <ul><li>Or LCL . Similar to Delphi's VCL .
  15. 15. Collection of standard and advanced controls.
  16. 16. Abstracts away the Widgetset's and OS's APIs.
  17. 17. Provides extra functions for cross-platform development, minimising use of {$IFDEF} s </li></ul>
  18. 18. Cross-platform example <ul><li>Constants, eg DirectorySeparator ('/' or '')
  19. 19. Functions, eg to find the location of the settings directory: GetAppConfigDir():
  20. 20. /home/tristan/.config/project1/
  21. 21. C:Documents and SettingsTristanLocal SettingsApplication Dataproject1
  22. 22. /Users/Tristan/.config/project1 </li></ul>
  23. 23. Cross-platform example <ul><li>GUI Elements, e.g.
  24. 24. Tbutton:
  25. 25. Linux (GTK) Windows Mac OS X (Carbon) </li></ul>
  26. 26. App Architecture
  27. 27. LCL Architecture
  28. 28. A Proper Example! PicPicker <ul><li>Intuative image resizing application. </li></ul>
  29. 29. Linux (GTK2)
  30. 30. Linux (GTK2)
  31. 31. Windows
  32. 32. Windows
  33. 33. Mac OS X (Carbon)
  34. 34. Mac OS X (Carbon)
  35. 35. More Information <ul><li>lazarus.freepascal.org and
  36. 36. www.freepascal.org </li><ul><li>Wiki
  37. 37. Forums
  38. 38. Tutorials
  39. 39. Documentation </li></ul><li>IRC </li><ul><li>#lazarus-ide on irc.freenode.net </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×