What is cross-platform development?

What is cross-platform development?

What is cross-platform development?

What is cross-platform development anyway? If you need your application to work on several operating systems at once with minimal human resource costs, then most likely you will resort to this. You develop one program, write one code, and it runs on all supported platforms. Conveniently! But it is worth distinguishing between cross-platform and nativeness.

In short, cross-platform is the ability of software to work with multiple hardware platforms or operating systems. Native programs, in turn, are written to run on a specific hardware or software platform. From this we can conclude: if your program will work with hardware, then most likely, even in a cross-platform program, you will have to write native functionality for a specific platform.

What is the advantage of cross-platform development? Firstly, you need to involve fewer people (you do not need to contain a DotNet developer, Swift / objective C developer and everything that comes with them), and secondly, you cover more devices -> more people will be able to use your program.

Also, this principle is not without its drawbacks – poor nativeness, optimization will also be worse than that of the same program written for a specific platform. But sometimes it happens that you really need your application to support multiple platforms, but there is no way to develop for every opportunity. Then already created Frameworks and technologies for developing cross-platform GUIs come to the rescue. Here are some of them:

Electron JS

I recently wrote an article on how to write “Hello World” in Electron JS. In the comments, a discussion about the pros and cons of this technology arose. Until now, many developers are arguing about whether to use Electron in their projects or not. Electron JS is a JavaScript framework that allows you to write a complete program using Web Technologies – HTML & CSS, JS. Electron JS is the Chromium engine that runs all your code. Electron has one, but rather serious drawback – a large consumption of memory, both physical and operational. Everyone has long known what a gluttonous Chrome, and we still want to hang our code on it. But if you look from the other side: today, many popular applications are written in Electron – Slack, Skype, Discord, VSCode, Atom, Postman, Insomnia, etc. And given the ever-increasing power of computers, it is less and less common to hear from users that “your chrome has eaten all my memory.” High memory consumption will not play a big role if the product is good in its field, the code is correctly written and the processes are distributed

Plus

Using best practices from the Web

Just find (or “educate”) a specialist

High quality (and russified) documentation

Community and GitHub support

Minuses

High memory consumption (physical and RAM)

It”s easy to write bad code

Bad nativeness

NW.JS

Just like Electron, NW.JS allows you to create cross-platform applications using Web technologies. Today NW.JS is sponsored by Intel and developed by the community. NW.JS doesn”t boast the same rich project list as Electron, but it”s still a very good framework for building cross-platform applications. Just like Electron, NW.JS drags Chromium and all the problems that come with it. NW.JS is very similar in principle to Electron, but there are still differences. I can recommend this article for your reference.

Plus

Using best practices from the Web

Just find (or “educate”) a specialist

High quality (and russified) documentation

Community and GitHub support

Minuses

High memory consumption (physical and RAM)

It”s easy to write bad code

Bad nativeness

Qt / QML

Qt is a very powerful set of tools for building cross-platform applications in C ++ and Python (as well as Ruby, PHP, C #, etc., but they are in contrast supported by the community). Qt is already a fairly old framework, but it continues to actively develop and programs such as 2GIS for Android, Kaspersky Internet Security, Virtual Box, Skype, VLC Media Player, Opera and others are written on it. The KDE desktop environment known to many Linux users is also written using Qt. Qt has a development environment – Qt Creator, which includes Qt Designer with which you can create a graphical interface. Visual interface creation allows you to easily and easily create an interface by dragging and dropping various widgets (drop-down lists, buttons, radio buttons) onto the form. Qt has extensive documentation, active community support, and many other benefits.

Plus

Visual interface editor

A huge number of modules as part of the framework

Support for a large number of programming languages ​​(officially only Python and C ++, others are supported by the community) -> good nativeness with good code

Leave a Reply

Your email address will not be published. Required fields are marked *

*