Live data from Hacker News

Lazarus – A Delphi-compatible cross-platform IDE

lazarus-ide.org

131–140 of 187 posts

Re: Lazarus – A Delphi-compatible cross-platform IDE

#131

Earlier quoted context omitted.

Have you tried QtQuick/QML? It sounds like its anchor/grid/constraints-based layouts work very similarly to Lazarus.

QtQuick, on the other hand, uses non-native widgets - the whole thing is rendered as an OpenGL scene.

True. Some people may find that as a deal-breaker. Personally, with the age of web-UI's (that look very different from each other and certainly don't look like the native widgets), I don't see QtQuick's native-styled-but-non-native widgets a problem (and the OpenGL-based system has proven to be really great for performant animation).

But I can see that if you require platform-native widgets, QtQuick is probably not an option. I just think that most people don't need this ;-)

Re: Lazarus – A Delphi-compatible cross-platform IDE

#132
post #79

Earlier quoted context omitted.

There is https://blind.guru/qta11y.html as a problem with QT, I think it made to HN like three days ago.

Whether or not that is a negative point for Qt depends on your perspective. I mean, Qt never claimed to have JAWS support and the guy is free to submit a patch. Its unfortunate, for sure, that Qt doesn't support popular accessibility tools, but that's hardly a problem unique to Qt or open source tools. This "If you want to support users with disabilities, you probably should not rely on hippie coders right now" is un…

> Does Lazarus/Delphi fare better with accessibility and JAWS support specifically?

For this particular issue, yes, because Lazarus uses Win32 for Windows applications. For Linux it uses GTK2 (can also use Qt instead) which AFAIK has good accessibility support. For Mac OS X it uses Carbon (there is a Cocoa backend but it is still in prealpha) so... it depends on how accessible Carbon apps are i suppose.

I don't think there is any special support for accessibility however, it is all about what the underlying widgets provide out of the box.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#133

For the FPC/Lazarus project as a whole, it is also good news that there is some work going on to build up a foundation (it exists already), with funding and stuff, to support further development: https://foundation.freepascal.org/ Among founders being Delphi luminaire Boian Mitov (author of Visuino / OpenWire / OpenWireStudio etc). Hoping the foundation can take off with some good funding.

I've been watching the foundation since it's creation (I think it's over one year ago), I don't think it has done any significant help to the FPC/Lazarus development so far. Anyhow, such effort is plausible. On the other hand, open source projects like this (http://newpascal.org/) is what actually driving open source going forward.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#134
post #73

I mentioned Lazarus in other threads a few days ago (since my kids are playing around with it) and it's great to see it as a top-level post. Some random thoughts: - It's somewhat amusing to realize that in 2017 this is pretty much the easiest way to do a desktop app (besides RealBasic/Xojo which I've yet to try - was put off by their mandatory registration) - I wish we had RAD environments like this for more language…

Now, if it can spit out Android apps :-)

Re: Lazarus – A Delphi-compatible cross-platform IDE

#135

Earlier quoted context omitted.

QtQuick, on the other hand, uses non-native widgets - the whole thing is rendered as an OpenGL scene.

True. Some people may find that as a deal-breaker. Personally, with the age of web-UI's (that look very different from each other and certainly don't look like the native widgets), I don't see QtQuick's native-styled-but-non-native widgets a problem (and the OpenGL-based system has proven to be really great for performant animation). But I can see that if you require platform-native widgets, QtQuick is probably not a…

I'd argue that at this point, if you're building a desktop application, one of your goals is probably going to be the use of native widgets, which could be for e.g. accessibility concerns. Else you might as well build a web application.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#136

Earlier quoted context omitted.

I've not used Lazarus or Delphi, so I can't really compare properly. Perhaps I'm missing something. But: > if anyone knows of any similar environments (besides QtCreator, etc.) Why "besides QtCreator, etc"? It sounds to me almost like "do you know any X besides all of the popular X". Is there any particular reason you discount QtCreator? Does it not work for your purposes? Or is it just a case of you already know abo…

> Why "besides QtCreator, etc"? It sounds to me almost like "do you know any X besides all of the popular X". Is there any particular reason you discount QtCreator? I know Lazarus (almost) inside out and i've tried several times to use QtCreator, mainly because C++ would allow me to reuse some of my C code. However i could never get used to how QtCreator expects from me to do more stuff, how unweildy the laying out w…

> Qt's layout management was made expecting programmers to do layouts via code

what ? no.

For widgets: http://doc.qt.io/qt-5/designer-layouts.html

For QML: http://doc.qt.io/qtcreator/quick-screens.html

Re: Lazarus – A Delphi-compatible cross-platform IDE

#137

Earlier quoted context omitted.

True. Some people may find that as a deal-breaker. Personally, with the age of web-UI's (that look very different from each other and certainly don't look like the native widgets), I don't see QtQuick's native-styled-but-non-native widgets a problem (and the OpenGL-based system has proven to be really great for performant animation). But I can see that if you require platform-native widgets, QtQuick is probably not a…

I'd argue that at this point, if you're building a desktop application, one of your goals is probably going to be the use of native widgets, which could be for e.g. accessibility concerns. Else you might as well build a web application.

> Else you might as well build a web application.

The reasons to use something like Qt instead are many:

  - While the widgets aren't platform-native, they emulate the native look and feel, so look a lot more native than your web application. Yes, yes, you likely won't have the accessibility features, so if that's a concern (which it probably should be), sure, Qt and other such libraries won't help. (Note that even MS don't use their own "native" widgets in, eg, Office and Visual Studio, so even within first-party windows applications, you lose consistent look and feel)
  - Battery life. A C++ Qt application typically uses much less battery than a similar web application. This may or may not be a concern.
  - Smooth animation. QML's OpenGL-based widget rendering has incredibly smooth animation support (and its super easy to add to your applications). Anecdotally, much nicer animations than I've ever seen in web applications.
  - Platform access or native libraries. Even though your widgets aren't native widgets, you might still want to manually access platform features or C/native libraries. While some web-applications-in-a-webview tools do allow you to do this, Qt makes it trivial since you can drop down to C++ with ease. With conditional compilation, you can even make this work cross platform.
  - Performance. Sometimes you have requirements that simply require C++ performance. Many industrial users of Qt, for example.
  - Qt is also used for embedded UI's where a web application may not be feasible.
My point is that there are many reasons why you might choose to use a toolkit like Qt for desktop applications even if you don't need native widgets.

Re: Lazarus – A Delphi-compatible cross-platform IDE

#138

Earlier quoted context omitted.

Have you tried QtQuick/QML? It sounds like its anchor/grid/constraints-based layouts work very similarly to Lazarus.

Isn't that a JSON-like language? I find describing UIs in text instead of "drawing" them like done in Lazarus to be going backwards. Although TBH i haven't really looked into that. Most QtQuick programs i've seen look like something you'd see in a mobile phone or tablet instead of a normal desktop application, so i didn't had the incentive

You can do a lot of things graphically : http://blog.qt.io/blog/2017/05/24/qt-quick-designer-qt-creat...

Re: Lazarus – A Delphi-compatible cross-platform IDE

#139

Earlier quoted context omitted.

Whether or not that is a negative point for Qt depends on your perspective. I mean, Qt never claimed to have JAWS support and the guy is free to submit a patch. Its unfortunate, for sure, that Qt doesn't support popular accessibility tools, but that's hardly a problem unique to Qt or open source tools. This "If you want to support users with disabilities, you probably should not rely on hippie coders right now" is un…

> Does Lazarus/Delphi fare better with accessibility and JAWS support specifically? For this particular issue, yes, because Lazarus uses Win32 for Windows applications. For Linux it uses GTK2 (can also use Qt instead) which AFAIK has good accessibility support. For Mac OS X it uses Carbon (there is a Cocoa backend but it is still in prealpha) so... it depends on how accessible Carbon apps are i suppose. I don't think…

Apparently GTK2 doesn't fare better with JAWS: https://stackoverflow.com/a/4136662/1495627

Re: Lazarus – A Delphi-compatible cross-platform IDE

#140

Earlier quoted context omitted.

You are not comparing apples to apples. Try finding any native code static typing compiler with RAD on board featuring quick compilation within 2x C++ resulting binary speed.

Not apples to apples, but its a pretty good tradeoff for C++ IMO: you get super high turnaround times because the bulk of the UI tweaking cycle is in QML or the RAD tools and you only need slow-compiling-C++ where native performance is required. For me, while I like fast compile times as much as the next person, its not a deal breaker -- the workflow/environment and library features are. Ie can they easily deliver th…

It's not a good trade off for the end user. As it's not native you end up with a much slower running application with more memory overhead and bloat. Lazarus is compiled to small native applications that are easily installable for the user, fast, with both small memory and disk space usage.

I say this next piece as both a developer and an end user; developers of desktop applications are getting out of hand with how they treat these things. We are now to the point where a large segment of the developer population has so little regard for the end user that they believe bloatware Electron solutions are a good choice for "native" text based chat application.

Post reply on HN