Python Windows + Web +Mobile application: Kivy or Django

1,051 views
Skip to first unread message

MHK

unread,
Feb 5, 2016, 10:18:13 AM2/5/16
to Django users
Hi All,

I am planning to develop an application which should be mainly work with desktop and latter may be use the same desktop app to convert into web and mobile application using python. I wanted to know whether kivy will suffice for all the three platforms (desktop, web and mobile) or do I need to work on kivy for desktop and Django for web. Please suggest

Thanks

Vernon D. Cole

unread,
Feb 5, 2016, 4:02:44 PM2/5/16
to Django users
Kivy will do desktop and mobile, but web applications are a different animal completely. Since they run on a web browser, rather than directly on the computer operating system, your ability to interact with the user's environment is very limited. Anything complex must be written in JavaScript.  There are a few Python-to-JavaScript "transpiler" projects out there which attempt to make it possible to write python code to run in a browser, but I have never heard of kivy running on one of them. I think your best bet would be to either plan on doing two implementations, or have your website be a portal to download your desktop app.

Russell Keith-Magee

unread,
Feb 5, 2016, 9:02:25 PM2/5/16
to Django Users
On Fri, Feb 5, 2016 at 10:42 PM, MHK <hemanthku...@gmail.com> wrote:
Hi All,

I am planning to develop an application which should be mainly work with desktop and latter may be use the same desktop app to convert into web and mobile application using python. I wanted to know whether kivy will suffice for all the three platforms (desktop, web and mobile) or do I need to work on kivy for desktop and Django for web. Please suggest

It depends on what you want to produce. 

Django by itself is a server-side tool. You’re not going to be able to write a mobile application in the “available in the app store” sense of the word. However, you will be able to write a web page that is adaptive to mobile devices; you can also use HTML5 features like manifests to produce an app-like experience on mobile. The same goes for desktop apps - you can write something that will load in a browser, but unless you’re going to wrap that web page up in a single-page app loader (like Fluidapp [1]), you’re going to need different tools to write the desktop app.

Kivy, on the other hand, can only be used to make standalone apps. To the best of my knowledge, there isn’t a “browser” option for Kivy - you’d be writing a Kivy app for the mobile app (and possibly a desktop app as well), with Django providing the server side (if a server-side is even needed - your requirements aren’t clear). However, Kivy apps aren’t really “native” - They *run* as native apps, but the widgets they expose are all custom-drawn Kivy widgets. Ivy takes the approach of having a common widget set across all platforms, rather than providing native widgets on each platform.

I’d also be remiss if I didn’t point you in the direction of BeeWare [2]  it’s a project that I’m working on to improve the story for developing Python applications for mobile. It’s still early days - definitely not as mature as Kivy - but if you’re willing to put up with plenty of sharp edges, and contribute to an early stage project, you can develop completely native mobile (and desktop) applications in Python.


Yours,
Russ Magee %-)
Reply all
Reply to author
Forward
0 new messages