I reinstalled Lazarus. It’s been a while - about 6 to 8 months or so. Using Qt, though the library provided almost everything, especially when used with Boost, I was always concerned with the fact that it’s too heavyweight - yes. Qt is feature bloated and the size of library is sometimes too big.
Recently I developed a simple GUI application, which downloads something using SCP and show on a grid. It was based on Qt Quick Controls and libssh. Later I found out that the package was bigger than 50MB. Of course half of the library was ICU(about 27.5MB) so I could remove it if I rebuild Qt without ICU, but still it’s 25MB with lots of files(EXE, DLL, as well as a lot of Qt Quick Controls QML files). The size of file matters, especially in cold start - in my Core i5 system, the application needed more than 3 seconds to show its main interface. It’s slow enough for the user to click the icon again, thinking that Windows in some way ignored user’s click.
So I searched for some alternatives. I considered two: wxWidgets and Lazarus. My first consideration was wxWidgets - well, anyway there are far more C++ users than Object Pascal users so I may get more helpful materials(though according to my short research on a few sites, actual user base would be about the same for both).
The winner was clearly Lazarus. Both are cross-platform, and use native widgets, meaning smaller application = simpler architecture = faster speed. After building a GUI application with empty form, I turned to my beloved love-hate Lazarus again - wxWidgets gave me an EXE of 7.45MB, while Lazarus gave me one of only 1.44MB.
(c.f. Qt is not native - it just ‘refers to’ native GUI library to draw the interface in native way.)
But I was still reluctant to use Lazarus again, because I clearly know how small the user base of Object Pascal is, meaning I may be the lone survivor after all other developers turning back to other environment, fighting the hard fight.
And this time, one of my friend said something important:
“Do whatever you’d like to do.”
Small user base is not a problem so long as you have passion. If everyone mindlessly follows the mainstream, there would be no D, Vala, Haskell, etc., and LISP and others would not have survived.
So I landed again to the land of my beloved love-hate Lazarus. I’m not sure what I’ll do with this thing, but I’m sure that some day I’ll do something with it.
P.S:
During the time I left my FreePascal/Lazarus world, the Lazarus team made something fun; instantFPC. It reads FPC source code and run it as if it’s a script. In fact it compiles the source code and run the binary, but please remember, Pascal compilers are among the fastest compilers in the world(in my Core i5 system it took less than 2 minutes to fully rebuild Lazarus IDE with -O3 switch).
Back to Lazarus
Subscribe to:
Post Comments (Atom)
블로그를 이전합니다
뭐, 이런 작은 변방의 블로그에 관심있으신 분들은 아무도 없으시리라 생각합니다만...... (웃음) 블로그 플랫폼을 블로거에서 dev.to로 옮겼습니다. 새 URL은 아래와 같습니다: https://dev.to/teminian 새로운 거처에서 뵙겠습니...
Popular in Code{nested}
-
Unlike libssh, which uses cmake, libssh2 forces you to use Linux-like environment even in Windows, which eventually makes you to install MSY...
-
Net-SNMP는 거의 모든 리눅스 배포본에서 표준 SNMP 관리자로 사용되고 있는, 사실상의 표준이라고 할 수 있는 범용적인 도구입니다. 이번에 기회가 있어서 SNMP Trap 메시지를 받아서 처리는 도구를 만들게 되었는데, 개발중 중요하다고 생각되...
-
2019년 6월 19일부로 Qt 5.13.0이 발표 되었습니다. Qt 5.13.0의 새로운 기능 중에서 제 눈길을 꽤 끈 신기능이 하나 있었는데요....... Qt for WebAssembly 입니다. 그러니까...... Emscripten 을 사용해...
No comments:
Post a Comment