+1 -1 +7
Vote on this proposal

Rapid application development on android, ios, linux, windows, macosx in Python using Kivy framework

by Akshay Arora (speaking)

Section
Workshops
Technical level
Beginner

Objective

The main objective of this talk is to showcase how one can leverage kivy to quickly write a application that works on Android, ios, windows, linux, Mac OsX with the same code base harnessing the power of your GPU to present a hardware accelerated gui.

With majority of the market place moving to the mobile space; being able to rapidly develop a application and have it be deployed easily is a necessity. This workshop would focus on providing a base for any one who wants to run python natively on mobile devices to get the performance advantage of using native apps that are also cross-platform.

Description

We will start with guiding people through the installation of kivy on various platforms and then start with a simple hello world application. Followed by a demo of the app working on different platforms.

Step 2::

Focus on basic concepts like::

  • Kivy App and it's lifecycle

  • kivy properties, bindings

  • widgets

  • canvas .before .after

  • touch handling/input

Sep 3::

Introduce people to kv language

  • Auto loading of app class name.kv

  • Introductions to the Builder

  • special keywords:

    • rule

    • root

    • app

    • self

  • experimenting with kvlanguage using kivycatalog

  • accessing widget defined in kv inside python code

  • Dynamic classes

  • accessing dynamic classes in python code

Step 4::

Introduction to tools around kivy:

  • Modules
  • Inspector
  • Screen
  • Monitor

  • Kivy garden

  • python-for-android

  • pyjnius

  • kivy-remote-shell

  • kivy-ios

  • pyobjus

  • plyer

  • buildozer

Step 5:

Go through programming guide extending our application

Step 6::

Deploy our application on devices using buildozer.

Step 7:
Q & A

Requirements

Kivy has a complete package with dependencies for windows and mac. http://kivy.org/#download
for Linux people will need to install the packages for their distro available from http://kivy.org/#download.

Kivy has a hard limitation of only working on devices that have a gpu that support OpenGL E.S 2.0

Speaker bio

Akshay a core member of Kivy development team loves to code for fun and spends majority of his free time working on kivy. He can be caught at #kivy irc channel with the nick name qua-non.

His major interests right now are to leverage easy to learn interfaces like those of kivy language for making youngsters interested in programming.