Evening Folks!
So, for my upcoming side project which is a cross-platform desktop productivity app (soon to be open sourced, Apache 2.0 licensed), I wanted to evaluate the viability of Lazarus IDE for the same. Many of my concerns in this regard can be found
in this reddit thread I had posted few days ago.
Ordinarily, .NET (WinForms) would have been my first choice here but I've rejected that choice considering it's not cross-platform (one of my goals is ubiquity, users of Windows/Mac/Linux should be able to use my tool). There is also the case of a continual decline in market share of Windows OS over the past decade in favor of Mac Books and Linux Distros like Ubuntu, so a "windows only" solution isn't quite future-proof from that aspect, me thinks.
The app I'm going to write is non-trivial though and very much feature-filled, which is why I'm stuck with Java (Swing) and Pascal (Lazarus IDE) as the final shortlist. I had briefly considered C/C++ also but neither I'm a system programmer, nor I want to needlessly add machine level complexity on top of user level complexity (which is already a pretty tough nut to crack as it is!).
Basically, I want these features:
1) Ability to multi-task in the background with timer control or something (resident in the system tray).
2) Editable grid control, preferably not data-bound (there is TTable or something for that, right?)
3) A Tabbed Pane or Notebook container (possibly a second layer of tabs within tab as I want to have things like text-notes in each one)
4) Native connectivity to Sqlite databases for storing details about tasks and milestones.
5) Good networking API, some features will require making HTTP/HTTPS web requests to fetch online information.
6) Seamless support for event binding for things like dropdowns, text boxes, check and radio buttons, etc.
7) A long text or memo control, preferably with syntax highlighting (I think there is TSynEditor or something but syntax highlighting for coding languages has to be manual, right?)
What do you think? How does Lazarus IDE fare for a non-trivial app with these features?
I might want to add more features as the development progresses which I can't think of now but the LCL seems to be powerful enough from what I've researched so far. But I've heard equally good things about Java/Siwng also and the Eclipse IDE. What do you think are the pros and cons of Swing/Lazarus in this regard?