Is Native Linux App Development In Decline?
Quite a disturbing thought as I am a big fan of using native apps over clunky/unreliable web apps attempting to deliver a similar UI/UX experience but fail miserably in doing so (generally speaking).
Maybe this is an opportunity for an operating system like Haiku that can spur and encourage native application development and become the ultimate killer app itself in this regard
What are your thoughts?
To achieve this goal Haiku needs:
- Haiku must reach stable version;
- Haku must get good enough hardware support;
- Haiku’s API’s must be portable to Windows, Android (Linux) and MacOS;
- Haiku ecosystem must start create new and better technologies (better ways of developing and working on computer): outgrow childhood of copying and chase others in this busines.
There are still small CLI apps being developed for Linux in the niche pentesting/hacking area - which was the original forte of Linux. So isn’t the best that Haiku can hope for is development of some small multimedia apps - which is the BeOS/Haiku forte?
Don’t the developer hordes go where there is new tech territory: phones, SBC’s, browser add-ons, etc? Wouldn’t it be unlikely that any desktop OS will attract such hordes again - and all hobby OS’s are struggling, since most desktop apps were already developed under Windows - unless there is some crazy new hardware or software feature on the desktop? When you picture yourself developing native Haiku apps, don’t you eventually think that you would just be recreating apps already done for Windows?
I don’t actually care about if the apps that I develop (for any platform) were already created elsewhere… it doesn’t matter to me. In the case of Windows, I haven’t been a user of that platform since Windows 95 (at home), so I could care less what applications already exist there or any other (major) operating system for that matter.
If the operating system didn’t matter, then you wouldn’t have the likes of Windows, MacOS, GNU/Linux, the BSDs, AmigaOS, Haiku, etc… The operating system in a nutshell sets the stage for the overall user experience when it comes to interfacing with your computer.
I mean, you’re going to have similar applications spanning across all the (desktop) operating systems solving the same problems (in slightly different ways); like take the calculator app for example… it definitely already exists for any operating system worth mentioning here.
I think it’s not Native Linux App development that is declining, but all Native OS App which are.
The Web has more and more control on content, which leads to web technologies to be more and more used.
I agree with you and that’s exactly why I raised this here for thoughtful discussion.
I agree with phoudoin. An app on my Mac stopped working and looking for workalikes on alternative.to showed that all other apps in that category had been discontinued.
I’m not sure that this is an opportunity for Haiku, though. We have very few people working on applications as it is.
The article is right, there are less native apps. For me easiest to see are with instant messengers. My favourites aren`t developed any more. Only a few left.
We need to change that through collaboration and sharing of resources (code, man power, etc…)!
The problematic word here is “native” not anything else.
Portable solutions are a prime topic not “platform lock-in” (and yes, this is not only the case with games but PC software too). If you make a pure “native” solution you are old-aged dinosaur trying to “retain” supremacy of a platform by locking people into it although your platform actually doesn’t provide enough “gain” to attract people otherwise (I call this the “apple effect”).
So yes, “native” applications decline but “portable” one rise and is correct like this. Linux is has always been a spear-head what goes for portability. Shouting paroles like “native only” and calling a decline if it doesn’t happen is very close to populist in politics: it’s off the mark by a long shot. This guy certainly doesn’t understand Linux (and Unix for that matter) one bit. Not astonishing though. If he would he would not write a crappy blog like this. <.=.<
I think it’d be more appropriate to call it the “microsoft effect” as part of the reason for the dominance of Windows is for what you just said… Office is a prime example of this.
… yet Microsoft is now advertising Office 365 instead, and that works on other OS as well.
To be fair, “native” by itself isn’t a selling point for an app. As an user, what I want is an application that works, and integrates seamlessly in my workflow. With the current state of Haiku, it happens that native apps fit better to this. I can use features like drag and drop, interoperate data formats thanks to translators, and keep track of metadata using filesystem attributes.
However, there is no reason non-native apps would not be able to achieve the same. It is just a lot of work to achieve this for all platforms, because your application will have to incorporate idiosynchrasies from each of them. This makes code more complex, makes it more difficult to maintain documentation, etc. However, it means a single app can fit multiple platforms, so the overall cost is eventually lower (1 hard to maintain app is still better than 2 easy to manage ones).
My most recent “big” application project for Haiku is http://ace.cpcscene.net/en:introduction . I ported this from MorphOS, and in the process, rewrote the whole GUI and made a lot of other changes to integrate the app with the operating system (and also fixed some problems in the OS itself in the process). I think this is a good compromise, with a reasonable amount of work, I could get the application running and it is easy for me to merge in changes from later versions.
You are correct, if by “portable” you understand web apps.
No, with portable I mean what portable originally means, that is usable between different “platforms”. This does include web platforms as well. I know there is this trend to say “native” is anything but a web-app but that’s stupid. What they really mean is “binary”/“executable” versus “interprated”/“sandboxed” application. Later ones certainly are easier to port to different platforms than the former.
Well what do you know? Both Microsoft and Google are said to be trying to attract Linux developers to their platforms in order to get more of their own native apps. They are doing this by providing Linux apps (and probably development environments): Windows Subsystem for Linux (for Microsoft), and Project Crostini (for Google’s Chrome OS). Their reasoning is that if Linux developers spend time on their platforms, they will make native apps for the underlying OS in their spare time.
So, whether people like it or nor, Haiku is in competition with other OS’s for developers. And it seems the best way to attract them is to provide apps and development environments that they are used to using, so that they will spend time on your OS. This probably also includes the latest/trendiest programming languages. For example, Redox OS uses the hip rust language, and after only a couple of years it claims to already have 40 developers.
To be honest I think rust is overestimated. Don’t get me wrong. The concept is good especially for failure critical software but I do not see much of use nor mentioning of rust.
A developer aiming at earning an income from the efforts deployed faces a harsh reality: (statistics from netmarkethare)
Mobile devices (smartphones) are about 50% of the devices out-there, desktops/laptops are the next at 45%, and tablets are the remaining 5%. The switch in dominance from desktops/laptops to mobile has occurred in the last year. And the mobile market is more or less evenly split between Android and iOS devices.
On the desktop/notebook systems, Windows is still dominant (88%) with MacOS a far second (8%) and Linux the leader of the rest (2%)…
So, applications developers will tend to go for mobile applications - Android and/or iOS - as that category keeps growing in numbers and visibility. For example, the nearest Walmart to home has not had a notebook on display for the last year…only phones and tablets…
The move by Google to support Linux native development on ChromeOS is likely to minimize the desire of Linux developers to hack the PixelBook into a Linux development machine the way it was done for the Pixel 2013 and Pixel 2015. Also, it is somewhat an extension of Crouton which nearly allows the same within a sand-boxed environment…
It is not clear what are the objectives Microsoft is truly pursuing by offering Windows Subsystem for Linux. However, ChromeOS is becoming dominant in the education market meaning that a few years down the road, the current students will most likely purchase a Chromebook?
WSL is horrible and I wouldn’t recommend its use to anyone!