Skip to main content

Posts

Showing posts with the label enaml-native

Enaml Native - New build system for cross compiling Python for iOS and Android coming

Besides speed, I think the biggest barrier preventing python from making it's way onto mobile is the lack of a good way of cross compiling python and all the extension modules that are commonly required for mobile devices. This is not exactly straightforward, nor standardized (at all), but it's actually not too bad if you have a lot of time and don't mind waking up in the morning with CFLAGS and LDFLAGS flying through your head.  Still, it's extremely time intensive and is not an option for someone with deadlines nor for the person trying to learn python. I think it's time for something different. Existing options While there have been many scattered projects here and there for cross compiling Python for Android or iOS, most don't support building 3rd party extensions.  The only projects that I know that do provide this are kivy's subprojects python-for-android and kivy-ios. While these are great and very popular, they were written close to

Enaml Native - iOS app preview

I just updated the iOS code and demo app to work with the latest version (2.14.0) of enaml-native and decided to make a video to share the status of using enaml-native for iOS. Still a lot of work ahead...  My goal at some time down the road would be to write a "unified"  build system for both Android and iOS that merges python-for-android and python-for-ios (kivy-ios) as they have a lot of code that does the same thing. Anyways, happy new year!  

Kivy vs Enaml native - A comparision

Since it was asked on HackerNews I thought I'd do a post that compares Kivy and enaml-native .  This should help you to decide which framework to choose to use when and why as they both have pros and cons. Let me also state that I'm the author of enaml-native and thus I cannot give a truly unbiased comparison. With that aside. Let's begin.   Goals Kivy and enaml-native have similar but slightly different goals. Kivy's tagline is " Open source UI framework written in Python " while enaml-native's is " Build native mobile apps in python with enaml".  Kivy aims to support desktop (windows, mac, linux), mobile (android, ios), and the raspberry pi. enaml-native targets only iOS and android (as enaml already does windows, mac, and linux). The huge difference between the two here is that Kivy has it's own widget framework, while enaml and enaml-native use native widgets.  The rest is about the same. They're both made for building apps/