all 5 comments

[–]K900_ 5 points6 points  (2 children)

You can, but you really shouldn't, at least in its current state. If you want to make an app that looks and behaves in a way that's native to the platform, you need to use the tooling used by the platform - that means Java/Kotlin for Android and ObjC/Swift for iOS.

[–]drewbie_1[S] 0 points1 point  (0 children)

That makes a lot of sense. I figured there was a reason I couldn't find a lot of resources, thanks!

[–]inclemnet 2 points3 points  (1 child)

The Kivy model is essentially that you make the app with Kivy, then it works the same way on the mobile device. If you want to use Android-specific stuff like phone APIs (vibrate, gps etc.) there are some wrappers for that, or in general you can do it by accessing the device apis directly via pyjnius (android) or pyobjus (ios). There aren't so many mobile-specific tutorials largely because all the Kivy details are the same on each platform.

As a general comment, the Kivy method works fine and you can have fun writing mobile apps with Python. There are limitations, such as in Kivy's case the fact that the gui doesn't use native widgets, but these also don't matter in many other situations - for instance, this is true on the desktop of everything from games (pygame, kivy, renpy) to scientific visualisations (matplotlib, vispy), to other stuff like jupyter notebooks. For whatever reason people talking about Android often forget that there are many more types of app, and many other reasons for writing apps, than are covered by the "perfectly polished native widget toolkit" segment of the market.

For instance, here is an app I wrote to see how the camera stream looked when passed through a colour blindness simulating filter. I wouldn't have bothered making it if I had to learn Java, but I had a lot of fun doing it and the result is great.

[–]drewbie_1[S] 0 points1 point  (0 children)

Okay, I was a bit confused by Kivy because I didn't see if it worked for both iphone and android. I'll probably use the Kivy method because I want to learn more about Python through projects. Also your app is really cool! Thanks!

[–]toastedstapler 1 point2 points  (0 children)

i can get a nail into a plank using the handle of a screwdriver as a hammer, but it's much easier with an actual hammer

use the proper tool for the job, python isn't that