Forum > Operating Systems

Cross platform - is Lazarus/FPC mature enough to compete?

(1/4) > >>

Hi all,

till now I have successfully created small to medium size single-developer projects for Windows and Linux/Raspberry Pi, and I love Lazarus for those kind of work. Testing has revealed that most of my code would run on MacOS too, great.

The next project I am working on is going to be one step beyond, a fully blown portal site with SQL database and web frontend. backend work is done, the whole thing works well.

Front-end is Browser/Javascript/Bootstrap, backend is PHP on IIS or Apache, protocol is JSON. Of course, a working Internet connection is required.

What's on schedule now is an offline client for data aquisition in buildings, where there isn't a reliable Internet connection, if any at all. The user has to synchronize his data before entering the building, do his work (data aquisition) against a local storage, and the system shall synchronize the data back to the portal as soon as the user has Internet access again. Technically speaking the client has to buffer data in the local storage and connect to the JSON interface and deliver the data as soon as the Internet connection becomes active again.

The frontend has to run on the current mobile platforms (Android &  Ios are must, Windows Mobile maybe).

Must haves are:

- native look and feel (top requirement by management, where the Android and IOS fanboys fight a fierce battle, and I don't want to favor one side)
- need access to the hardware (camera, Internet connection)
- need some local storage with simple database capabilities
- must be distibutable via Application Store (i.e. whatever comes out of the development environment must be able to pass the Apple/Google/Microsoft certification process)
- must run on unmodified devices (no rooting or other kind of hack) without any dependencies except what the OS brings with it or what can be delivered via the package
- reasonably comfortable IDE with live debugger
- must *not* be free, but if it is, great.

I'd rather have a program once/run anywhere approach than develop with each platform's native development tools, but I am very well aware that not using the native tools may backfire, as the big players don't have any interest to support cross platform development, but rather lock everything in their ecosystem.

There are systems specialized on such Projects, Xamarin, PhoneGap, React Native, and from what I know I don't think Lazarus can compete with them.

Would anyone disagree?


There is NativeScript from Telerik, at which you should have a look at:
You can build native Android and iOS applications that can reuse your existing JavaScript code. In contrast to Apache Cordova etc. it creates true native frontends from an HTML-like (in fact it is XML) template and your JavaScript logic.

I don't think that Lazarus / FreePascal can compete with the JavaScript ecosystem for your use-case.

dubst: Without any substantiation as to the reasons that sounds more like a plug/ad than an advise. You give no indication you actually know either FPC's mobile or the other suggested platforms. (e.g. by giving pros and cons)


Anyway, I don't know much about mobile (with FPC or without), but if Management is so sensitive it is usually best to keep your nose clean and go with their default. Free is then also not important, since Management can then cough up the cash.

Choosing your own tools is only beneficial if management and customers give you enough room for that, since otherwise you spend more time defending than you actually gain.

@marcov, sorry, it is not an advertisement! We're developing web applications for more than a decade. With the development of the EcmaScript standard and the capabilities of the modern browsers, it is a huge advantage when you can re-use your existing JavaScript code. And it is an big advantage, when you write your application directly in JavaScript (or some dialect that can compile to it). We're also creating web applications that can be used offline and that sync data back as soon as the application is connected to the internet. So I have a big experience with this topic (more than with Free Pascal). And as I read that Nimrai wants to use native GUIs, NativeScript came into my mind immediately.

Maybe it is possible to create an mobile app für iOS and Android with Lazarus/FPC, but why should the developer want to rewrite the whole client logic from JavaScript in any other language (not only Free Pascal), when he can re-use the same code he has in production already?

But if there is a easy way with Free Pascal / Lazarus, I would be very interested! :-)

"Progressive Web Apps"?


[0] Message Index

[#] Next page

Go to full version