Cross platform development options

Hamish McPanji

Honorary Master
Joined
Oct 29, 2009
Messages
42,084
Preface: I am a lazy git. I am so good at it, I can usually automatically find the way to do something with the minimal effort required. That is my super power. People often amazed at my final methods often think I am a genius, but tbh my solutions are actually all entirely based on me doing as little work as possible. Hence this thread being created:

I want to get back into coding cheaply. There are many options available at the moment :

Visual Studio, PHP, Python, Go, Swift, etc as development platform/language
SQL server express/ MySql / Postgres/ Mongo/ SQlite as database

Problem: We use windows based solutions at the office, and I use Linux based solutions at home (cheaper by far). I think they are both competent in their own way, but have differences which present difficulties

My final goal is to be able to create data related mobile apps (business stuff). I like data (not data entry...please see preface). Gaming and stuff....not really of interest to me so much.

However, In the ultimate goal of laziness and code reuse, I would like to be able to code and script as cross platform as possible. Which are the best options to go for?
 

Thor

Honorary Master
Joined
Jun 5, 2014
Messages
44,236
Preface: I am a lazy git. I am so good at it, I can usually automatically find the way to do something with the minimal effort required. That is my super power. People often amazed at my final methods often think I am a genius, but tbh my solutions are actually all entirely based on me doing as little work as possible. Hence this thread being created:

I want to get back into coding cheaply. There are many options available at the moment :

Visual Studio, PHP, Python, Go, Swift, etc as development platform/language
SQL server express/ MySql / Postgres/ Mongo/ SQlite as database

Problem: We use windows based solutions at the office, and I use Linux based solutions at home (cheaper by far). I think they are both competent in their own way, but have differences which present difficulties

My final goal is to be able to create data related mobile apps (business stuff). I like data (not data entry...please see preface). Gaming and stuff....not really of interest to me so much.

However, In the ultimate goal of laziness and code reuse, I would like to be able to code and script as cross platform as possible. Which are the best options to go for?
AngularjS + Ionic + Cordova


Then for APIs from your Linux box for the app to interact with, Lumen (php)


That's what I do, works like charm.
 

Hamish McPanji

Honorary Master
Joined
Oct 29, 2009
Messages
42,084
AngularjS + Ionic + Cordova


Then for APIs from your Linux box for the app to interact with, Lumen (php)


That's what I do, works like charm.
Sorry, my Chinese is a little rusty.
Please run that by me again? With pictures if possible
 

Thor

Honorary Master
Joined
Jun 5, 2014
Messages
44,236
Sorry, my Chinese is a little rusty.
Please run that by me again? With pictures if possible
In bed on the phone.

Basically to create a cross platform app (hybrid app) you will use a framework like ionic to handle the UI/UX ionic works hand in hand with AngularjS which is a Javascript framework used to create hybrid apps onder andere. Then Cordova is the wrapper that enables your AngularjS app to work on various platforms so 1 code base for all the mobile OSes

Your app however will most likely pull push get post whatever you want want to call it, data from somewhere so on the main sever I would use lumen it's a very small very fast php library which is ideal to create APIs
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
You can add React Native and Native Script to the above
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
With regards to APIs:

PHP - if you really must for some weird reason :sick:
NodeJS is by far the more popular
Go - learning curve
Python - use bottle.py etc.
Java - Spring Boot

Not sure how far C# Core has come a long, but you could potentially use C# for cross platform.

Of the above, NodeJS means using NPM which I'm not fond off. Python gives me the giggles and takes me to my happy place, Go is boring AF but this is exactly the type of work is is meant for and works very well, Java.. pom files and what not :(
 

Beachless

Executive Member
Joined
Oct 6, 2010
Messages
6,003
Microsoft is pushing hard for cross os support these days so with xamarin, visual studio code , sql server you can develop on linux quite happily these days.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Dogfooding says a lot about what's been proposed.

As for real code portability C++ still is King.
 

Hamish McPanji

Honorary Master
Joined
Oct 29, 2009
Messages
42,084
[)roi(];18741156 said:
Dogfooding says a lot about what's been proposed.

As for real code portability C++ still is King.
Lazy, I am. You can't feed an old dog new meal plans, they can't handle the healthy stuff
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
[)roi(];18741156 said:
As for real code portability C++ still is King.

We're going to derail this thread but I don't believe that is true. Not that it isn't up there, but it's hardly the holy grail.
 

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
[)roi(];18741362 said:
Dogfooding, do your research.

Sigh, just when I thought things changed. Anyway, imran, if you have a beard and struggle to let go of the past C++ is the way to go.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Sigh, just when I thought things changed. Anyway, imran, if you have a beard and struggle to let go of the past C++ is the way to go.
Guess this is another Javascript vs. ... debate.

Says much when the project owners don't actively utilise this is their mainstream products. i.e. Any serious and it's best avoided.

Ps. You should have noted I never mentioned e.g. Rust or Swift; because both aren't feature complete on all platforms
 
Last edited:

Hamster

Resident Rodent
Joined
Aug 22, 2006
Messages
42,920
[)roi(];18741482 said:
Guess this is another Javascript vs. ... debate.

Says much when the project owners don't actively utilise this is their mainstream products.
It's not. I asked you why and your response boils down to a condescending "Google it". Anyway, don't really much care. Moving on.
 

[)roi(]

Executive Member
Joined
Apr 15, 2005
Messages
6,282
Lazy, I am. You can't feed an old dog new meal plans, they can't handle the healthy stuff
Always a toss up between the dream and reality.

If it's something not too complex (and won't become it later), then you might very well get away with many of the options.

Real portable code is anyway not the overwhelming part of any code base. Platforms differ, so too the features, capabilities and frameworks; generalisation always comes at a cost, one which e.g. Java knows too well.
 

V1rus

Well-Known Member
Joined
Mar 30, 2012
Messages
102

He says how lazy he is and now you want him to learn c++ :D .

I have had a few long investigations and for simple apps (stupid lists with some details) you might get away with nativescript etc. If you want a fast and maintainable app which handles offline functionality such as form caching then go native. You will probably need a mac for any iOS development.

You can even go as far as learning Kotlin (Android) and Swift (iOS), both are kind of the same language, then just learn the UI stuff. This is like a hybrid cross platform.

For games use libgdx or unity.
 

IndigoIdentity

Expert Member
Joined
May 10, 2010
Messages
1,964
For desktop applications and with a basic understanding of front end web development technologies and Node you can take a look at Electron or NW.js which would enable you to build for Windows, Linux and Mac quite easily.

Manning has a decent book which runs through both of them and here is an article which describes the basic differences between them.

If your end result was mobile and given the same understanding then you could take a look at Cordova and Ionic.

I have personally found it less daunting when starting off to first get an understanding of cross platform compilers in a Desktop environment than in a mobile one but maybe that is just me and relative to how much more I use a desktop over a mobile device.
 
Last edited:
Top