Kotlin
There’s actually a Python-based framework that can make mobile apps called Kivy, but as you might expect it would not be terribly performant.
And there’s also KivyMD after you learn base Kivy, that adds more widgets with the intent of following Google’s Material Design spec.
I’m not going to vouch for the project, or link, just mentioning it exists.
I am following BeeWare for some time now. From the website:
Write your apps in Python and release them on iOS, Android, Windows, MacOS, Linux, Web, and tvOS using rich, native user interfaces.
Never tried it, though.
Interesting, thank you!
I know I won`t make friends with this but check out B4A.
Its a “BASIC like” syntax (no its not basic spaghetti code) in a RAD environment that outputs native java code apk.
Its free and a good support forum. You could even put your app on the store
Edit: you could also compile to java for pc and ios software
You had me at “BASIC”! I’m going to check it out.
I think that BASIC has historically been my most productive language. My favourite implementation was something called “Z-Basic”, a compiled BASIC with device-independent graphics that could run on and target Apple//, Mac, and PC.
I made some apps for my own use.
One is a food score browser. It connects to an offline database supplied with the apk and shows search results in a scrollable list as well as details on select. You can search in english and german the same time.
It looks like I need a Windows machine (or VM or wine). Is that correct?
VM should work. For B4i (ios) you need also a mac for compile afaik.
The output runs on win, linux, server, mac, ios, android or arduino. Depending on what you used b4a, b4i, b4j or b4r. The syntax is the same eveywhere.
The crossplatform libary b4x pages makes sure that the same program look and feel can be compiled to various platforms without to much hassle.
Thanks!
This is interesting, thank you!
When it comes to mobile apps, I generally recommend native (swift/kotlin) or Flutter, they all have good tooling and have good performance
In this case though, they are all curly braces languages and don’t have much in common with python.
If you don’t want to learn at least 1 new language, there are some python libraries/frameworks which can be used for mobile dev. Like Kivy or Beeware. I’ve never used any of these though so I can’t tell you how good/bad they are.
Just out of curiosity: which do you think is closer to Python? Kotlin or Swift?
Not knowing wither, my hunch would be to say Kotlin. But I am curious.
Kotlin and Swift have similar syntax and neither are like Python to be honest. If I were to pick one, Kotlin all the way. You can do a fair amount of back-end work with itas well.
I’ve never used swift myself, but as far as I’m aware swift doesn’t need to have a main function so I’d say it’s closer
That’s a weird way to compare them…
Sure, but how else should I compare a language I’ve never used to python?
Even in python, writing code at the top level is not recommended for any non-trivial project. I mean, you might as well say “kotlin is closer to python because they both end with N”. Neither method of comparison offers any value to OP.
And I said, if op doesn’t want to learn a new language, here are some python mobile frameworks. And was explicitly asked which of kotlin/swift I would recommend for a python dev.
These days, you have several options. You could use JavaScript/Typescript via React Native which builds both iOS and Android.
You could use Kotlin Multi-Platform, builds both iOS and Android, vut I believe you will need to know some Kotlin for Android and Swift for iOS.
You could use Flutter, which uses the Dart programming language, also builds both iOS and Android.
Then there is MAUI using C#, builds both iOS and Android.
Finally, you could resort to native for each platform.
As you can see, there are plenty of options. Picking one comes down to what you need and which language works for you. Keep in mind, most of the languages aren’t really close to Python.
Good luck.
@ohlaph @nieceandtows yeah, we’re really spoiled for choice nowadays in cross-platform mobile development. It’s been a few years since I’ve shipped anything with Flutter, but I remember the developer experience being superb. And from what I hear, Expo has really made a big impact on React Native development the last few years.
You could use React Native, so the language would be Javascript / Typescript.
If the goal is cross platform mobile apps, this is the answer.
You can write cross platform mobile (and desktop and even browser) apps with Kotlin.
I’ve never made a native mobile app. I’ve made a couple of web apps designed for mobile devices, and for those I used HTML+JS when it was really simple and React with Typescript for anything more complex. I choose those options mostly because they’re what I’m already familiar with from work.
That makes sense, thanks
I pretty much agree with everyone else said. I just want to say that I don’t recommend xamarin. I had to work with it at a job and it’s a massive headache imo.
I think xamarin has been replaced with MAUI.
Hmm… A bit personal, but Python’s old school at this point, and so Javascript might feel like the closest.
Modern-er languages for mobile devs have more language support for building apps in my personal opinion.
Python has never been a big language for app development… no idea why you would call it old school.
To answer op, Swift for iOS; Kotlin on Android.
Thanks. Yeah, I wasn’t looking for python based frameworks, but rather other languages that are at least somewhat similar and easier to learn/transition to.
I didn’t say it’s an old-school app development language…
I know I should just look this up, but I’ll ask anyway.
Back in 2013, in grad school, I remember we used Objective C for iOS and Java for Android. Can I still build compatible apk’s and iOS packages using these older language choices respectively for modern mobile OS’s or am I a dinosaur and need to get with the times (swift and kotlin)?
For iOS you can still use Objective C, but there are additions to platform frameworks and whole new frameworks that are Swift first. I don’t really know how hard it would be to use those APIs from Objective C. Swift is certainly the default going forward.
I don’t work on Android but my understanding is that Java hasn’t and isn’t going anywhere on Android. Kotlin is supposed to be great but I haven’t heard mention of Java being dropped.
Not dropped, but google has suggested all new android projects be done with Kotlin instead
You can still use either.
Python is the number 1 programming language and has been for years. All of these sources use different methods to calculate their rankings and come to the same conclusion:
I didn’t say it’s not the no. 1 programming language.
Flutter with Dart