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