7 ms·
Kivy: Cross-Platform Python Framework for UI Development
- heavyset_go 6y agoIf anyone's used Kivy or Beeware for mobile app development, I'd love to hear about it.
- GirkovArpa 6y agoHow does Kivy compare to Sciter?
- mixmastamyk 6y agoKivy is awesome considering what it,s trying to do. As ambitious as flutter but without corporate support. Unfortunately the project is quite under-resourced, can anyone help? For example, stick to the basics and it works well. But do something off the beaten track like write a background service for Android and hit a bug and you're completely on your own, even if you offer to pay a core dev. I once hit another bug where Unicode couldn't be used in .kv files, was a one line fix but there were 70 unread pull requests and more even more issues untouched. Two or three heros try to help on the mailing list. I gave up but would like to try one more time with 2.0.
- mzakharo1 6y agoWhat problems did you have with android services? Have been using them without issues (sticky services work well enough), and with python machine learning/scikit-learn, scipy,numpy, pandas, opencv this framework is one of a kind for rapid moibile development if you are doing any kind of edge data processing.
- mixmastamyk 6y agoGiant tracebacks that no one could help with. I'll try again soon with 2.0.
- hanselot 6y agoDid you try using grep with adb logcat to find the pattern of the thing you built? Generally I found that you don't have very easy access to the logs otherwise, but if you do something like adb logcat -c adb logcat | grep python you should get anything with python in the logs etc etc. its a pain, but it can be done. I've built super simple POS apps using Kivy as well (only demo apps though), and even managed to integrate the files from the POS device SDK in the app.
- Apocryphon 6y agoIt's quite fascinating to read about mobile crossplatform projects beyond React Native/Flutter/Xamarin and the old Cordova/PhoneGap and Appcelerator Titanium efforts. There's a surprising amount of them out there- Kivy isn't even the only one in Python, there's also Beeware (https://www.youtube.com/watch?v=qaPzlIJ57dk https://www.youtube.com/watch?v=qaPzlIJ57dk) and PyMob. The question is, who actually uses these projects? The people developing them? Hobbyists? Language diehards? If you're a large company that just needs LOB apps, one would assume one of the aforementioned projects (or Delphi) would be sufficient. Who uses NativeScript, Ionic, QT on mobile, or obscure stuff like Sencha, Alibaba's Weex or Codename One? RubyMotion at least has one famous app: http://www.rubymotion.com/news/2014/04/08/rubymotion-success-story-a-dark-room.html http://www.rubymotion.com/news/2014/04/08/rubymotion-success...
- tmpz22 6y agoGreat UI has diminishing returns that, for most orgs, are not worth the talent and effort it takes to create them. For that reason investment in these frameworks, or new frameworks at all, is discouraged. Web based approaches have completely supplanted native || crossplatform frameworks because its good enough and established enough to diminish the many development liabilities that other frameworks pose.
- mzakharo1 6y agoNot everyone is trying to display a widget, with data from a remote database. If you work with local/edge data, then having access to numpy/pandas/scikit-learn/pytorch can be quite handy
- Apocryphon 6y agoBut the point of cross-platform frameworks is for non-tech or non-mobile focused companies to quickly churn out LOB apps with whatever developers they have on hand. (There was even one for PHP - KikApp - which appears to be dead.) So in theory, ignoring great UI/UX in favor of quick development time would drive investment in and adoption of some of these frameworks. Your point on web based approaches also doesn't seem to match reality yet as PWA are still the once and future destiny of mobile apps, much like \(currentYear) is the year of Linux on the desktop. afaik, it would seem like most mobile apps are still primarily native, and if crossplatform, possibly React Native or Xamarin, with some older ones using Cordova/PhoneGap/Titanium. Web based approaches are far from replacing native and cross-platform; most companies that support mobile web also have their own apps.
- rossdavidh 6y ago1) I have toyed with Kivy, but found it not easy to use. It was a few years ago. 2) I prefer tkinter, a python wrapper for tk. 3) In regards to whether or not anyone still needs this, consider that tkinter search traffic bottomed out in June 2012, and has been rising ever since: https://trends.google.com/trends/explore?date=all&geo=US&q=tkinter https://trends.google.com/trends/explore?date=all&geo=US&q=t...
- tartakovsky 6y agoSo, I’m not sure whether the website was made using the product, but the homepage renders overlapping text on Chrome for IPhone 11 with IOS 14
- rossdavidh 6y agoKivy is not a web framework, it's a library for making native desktop (or etc.) applications.
- inclemnet 6y agoAs has already been said, Kivy isn't a web framework, but we're well aware the website isn't great. Unfortunately it hasn't had much love for a long time, especially as it's quite a task to seriously change it and we're both under-resourced and Python-oriented. We've been talking about various options for a long time. It's possible we might make some moves now as Kivy 2.0 was just recently released, which was a major update taking up a lot of focus.
- solarkraft 6y agoFrom a marketing protective it may have made sense to revamp the website before launching 2.0 since you could've made a lot of better first impressions. That said I don't think it's that bad, but the styling could be nicer.
- tartakovsky 6y agoThanks for clarifying. Good to understand I’ll take a closer look at Kivy 2.0.
- pestatije 6y agoA cross-platform framework which does not support the web platform. What's the point? There are so many UI development frameworks, and so many of them are missing the web. This limits the options available enormously, and is forcing programmers into inconvenient and inappropriate solutions.
- epse 6y agoHey! I actually did my thesis on porting kivy to the Web and may I tell you, its going to be infinitely easier and faster to just develop your app for Web or hire a good webdev right now. Nativescript angular can run both Web and native from 1 codebase if you like, but kivy is inherently hard to port
- solarkraft 6y agoI really like the Kivy project's goals and the demos I saw were super fast and nice. But when I had a look at actually building something with it I discovered that the default UI is completely raster based, which is just a weird deal breaker.
- inclemnet 6y agoIf there was one thing I could wish to be revamped about Kivy it's the default widgets. There's a core of good ones, especially those that are most commonly used, but quite a few make bad design decisions like an over-reliance on images for styling. This is often much easier to work around than is probably obvious and maybe that's part of the problem, more experienced developers likely habitually sidestep the parts that don't work well. But on the other hand, it's quite a bit of work to revamp them (including documentation and dealing somehow with breaking changes it would introduce), unfortunately that has kept us from seriously addressing it so far.
- hypervisorxxx 6y agoLong time fan of kivy checking in here. Important if you wanna be off internet grid. Portal to OpenGL as well. Kivy hugely underrated and better than QT imho. Made a 2D skateboarding game and tried to get it working with buildozer on android back in the day (2017) Cheers to the devs.
- danishdev 6y agoHow about Python that outputs javascript? Would have many more use cases.
- tobijkl 6y agoI love the idea of Kivy, an open-source, community-driven, cross-platform framework, but flutter delivers much nicer mobile apps, and QT a far better desktop apps. I do not think that I have ever used a cross-platform app that works as well on desktop as on mobile.