

Kivy - Open source cross-platform library for rapid development - pajju
http://kivy.org/

======
jrajav
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.

~~~
nacker
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!

~~~
txprog
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.

------
pajju
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/>

~~~
txprog
That was the website github, the code is at <https://github.com/kivy/kivy>

------
sharmi
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!

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

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

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

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

~~~
toyg
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.

------
primitur
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.

~~~
perfunctory
What is MOAI?

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

~~~
primitur
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.

------
hyuuu
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?

~~~
buster
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..

~~~
txprog
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...

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

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

~~~
qua-non
[http://kivy.org/docs/guide/other-frameworks.html#using-
twist...](http://kivy.org/docs/guide/other-frameworks.html#using-twisted-
inside-kivy)

------
mhd
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.

