Python for Decision Makers and Business Leaders Transcripts
Chapter: No Python here
Lecture: Probably not for mobile apps

Login or purchase this course to watch this video and the rest of the course contents.
0:00 We've spent some time talking about why Python is so awesome how many of the great things it does and how flexible it is. And flexibility it does have
0:10 but there are times when you should not use Python to solve certain problems. Maybe this is because Python is not very efficient at this problem.
0:18 Or, it might not work at all. So we're going to talk quickly about some of those situations. You got a sense of that already.
0:26 Remember we did Python vs C++, vs MATLAB and so on. And Python scored pretty high, I think. There's a lot of green but there are a few standouts
0:35 where there's some red in there. And that's around mobile apps and, to a lesser degree, desktop apps but still, it's not maybe the best story
0:43 you got going on there. So let's talk about those two situations and just packaging up applications, in general.
0:52 Mobile: maybe you've heard of these things these little smartphones, everybody has one everywhere and having a mobile app is super important.
0:59 It turns out the story of Python on mobile is not incredible. Here's a data point for you to consider.
1:06 One of the biggest Python training sites out there that teaches people how to build stuff with Python the website that is built with Python
1:13 the company, the podcast that is about Python when we had to go build our mobile apps I went around and I looked at all the different options.
1:20 How could I possibly build this in Python? You know what I decided? There's not a reasonable way to do that.
1:27 Technically, I maybe, maybe could have pulled it off with some of the things that are out there. But it is not the mainstream way
1:34 and it's going to be jumping through a ton of hoops. So, at Geniusy, we have an app in the Apple App Store, and on Google Play.
1:41 Those were written in C# and .NET using the Xamarin platform. We have one code base for these two projects which is actually pretty killer.
1:49 We're able to share almost all the logic across those two operating systems and there's two phones. So that's great but, even though I wanted to
1:58 even though I tried, I could not find a way to reasonably build our apps in Python, on mobile. Now you might be saying
2:06 Michael, you can build your apps in Python on mobile there's this thing called Kivy, K-I-V-Y. Yes, technically, there is Kivy.
2:15 To me, my impression, I haven't built anything in earnest with it but my impression is it is mostly about building
2:20 kind of simulator game like interfaces. And its ability to say, drag over a button here and put a text box there
2:28 and have this stretch when it does this and a video player goes there. Didn't really think that it could do it.
2:33 And by the way, until we have something that looks like this, a really cool development environment were I can have a UI definition and a UI designer
2:42 and then my Python code, then I push a button and it compiles into a thing that I drop on the App store.
2:49 Until I have that, there is no way Python is on par for building mobile apps compared to, well, this. This is literally how we built our mobile apps
2:58 for the App Store at Talk Python Training. Thing you see on the screen is login page not XAML. The code is on the left
3:04 this is XAML, like a WPF type of thing on .NET. On the right we have both Android and IOS preview. You can interact with the stuff on the right
3:13 the tool box or you can drag over buttons and Carousel views and all kinds of stuff. On the left we have our code
3:19 these compile all into like the final version that gets shipped to the App Store. Not only is there not something that's really
3:26 not quite close to this in Python. There is like not anything that even approaches this concept, not even close in Python.
3:34 And so until Python is on par with things like this on Android studio or working with Android directly
3:41 in Kotlin or Xcode and Swift. Until its something like that I personally would not use it. As much as I want to
3:49 unfortunately we are stuck doing something like this. It worked out fine, but I would it's prefer Python, it's just it's not.

Talk Python's Mastodon Michael Kennedy's Mastodon