Hacker News new | past | comments | ask | show | jobs | submit login
Kivy - Open source cross-platform library for rapid development (kivy.org)
107 points by pajju on Oct 2, 2012 | hide | past | favorite | 23 comments



Why on earth do they shy away from saying the word "Python" anywhere? Seems pretty relevant, considering it's a Python library. It's a pretty important fact for potential users, and one they would probably want to know sooner rather than later.

Personally, any sense of excitement and discovery I had upon visiting the front page was killed pretty flat when I spent a couple of minutes skimming the front page for what it's a library for, visiting 'About' and 'Docs', returning to the front page for a closer look, and finally figuring it out by taking a look at the sample source and noticing the reference to Cython.

The Github readme is much denser, and I think a lot of people would prefer this intro:

> Kivy is a Python library for development of multi-touch enabled media rich applications. The aim is to allow for quick and easy interaction design and rapid prototyping, while making your code reusable and deployable.

> Kivy is written in Python, based on OpenGL and supports different input devices such as: Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch, Apple's products and so on.


I had to go to the Wikipedia page for Kivy

https://en.wikipedia.org/wiki/Kivy

to find out that the "Kivy language" is QML! Seems to me that should have been spelt out a bit more clearly too.

It looks great!


No, it's not QML. It's similar in the concept, but that's all :) Look at our examples, you'll see how is it.


Kivy is running on Linux, Windows, MacOSX, Android and IOS. You can run the same code on all supported platforms. Many parts are written in C using Cython and tested with regression tests.

This is awesome!

Kivy uses natively most inputs protocols and devices like WM_Touch, WM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. A multi-touch mouse simulator is included. The graphics engine is built over OpenGL ES 2, using modern and fast way of doing graphics. The toolkit is coming with more than 20 widgets designed to be extensible.

Kivy Github page - https://github.com/kivy/kivy-website/


That was the website github, the code is at https://github.com/kivy/kivy


Well, this addresses atleast some of the issues regarding the future of python that someone else was worrying about a few days ago on HN. Kivy promises to be fast (which is usually the main sourpoint for the be-all do-alls)

""" Kivy is fast. This applies to both: application development and application execution speeds. We have optimized Kivy in many ways. We implement time-critical functionality on the C level to leverage the power of existing compilers. More importantly, we also use intelligent algorithms to minimize costly operations. Most importantly, we use the GPU wherever it makes sense in our context. The computational power of today’s graphics cards surpasses that of today’s CPUs by far for some tasks and algorithms, especially drawing. That’s why we try to let the GPU do as much of the work as possible, thus increasing performance considerably. """

Itching to try!


It looks like this is a Python library. How can you use it to make an iOS app like the site claimes?


It uses cython, which means "Python compiled to C"

http://cython.org/ https://github.com/kivy/kivy-ios


So the end to end build is not yet available out of the box?


There's a tutorial which looks slightly old: http://kivy.org/docs/guide/packaging-ios.html

If Kivy wants to become "the primary Python for iOS" rather than just "yet another cross-platform Python implementation which nobody uses for serious iOS projects", they have to nail packaging more convincingly.


We embed the python interpreter with your python app inside an iOS app. Then, we have a bootstrap in objective-c that start the interpreter on your main.py file. ProcessCraft and Deflectouch are made with this approach, and are available on the app store :)


You should be able to make iOS apps with Python. Plenty of iOS apps have interpreters. You just can't download and run code from the net.

(See, for example, Codea which lets you write and run Lua programs right on the iPad. There are similar Python systems there.)


This seems really neat .. I have met a few folks who don't share my enthusiasm for MOAI recently, on the basis of not being able to use much Python (I'm a huge MOAI fan and love Lua) so now there is a great option.


What is MOAI?


Well, it could be those giant statues on Easter Island ... or a quick Google search for "moai lua" turns up this: http://getmoai.com


Yes, sorry I didn't include that reference, that is indeed what I meant. I had sort of gotten used to folks on HN knowing what MOAI was when I mentioned it, silly me .. ;)

Anyway, MOAI is also great in this regard: cross-platform, single language development.


how would one start developing cross platform mobile apps with this? From what I have read, they only provide the GUI part? So the logic (GPS, Contacts etc) has to be handled by something else? Anyone knows?


For now, yes. But we are working on it. Recently, we released Pyjnius (http://github.com/kivy/pyjnius) to access dynamically Java from Python. That way, we can access to various Android API without any Java code. We are doing the same with objective-C: pyobjus (http://github.com/kivy/pyobjus), but not yet finished.

Take a look at http://pyjnius.readthedocs.org/


I was wondering the same. Seems to me that it's mostly limited to games then.. Probably some interfaces for webapps which don't rely on phone APIs..


It's not limited to game, check the gallery :) It's funny because before we did the contest, peoples was thinking it's not made for games...


How good is twisted working? That should give nearly every internet protocol to the developer :D

Especially IMAP/POP/SMTP (+SSL)? :)



Interesting. Might be fun to play now that bigger touchscreens are cheap enough. Need to check how well they're supported under Linux nowadays. Used to be quite sketchy.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: