Alternatives to Kivy logo

Alternatives to Kivy

PyQt, Xamarin, Electron, Android Studio, and pygame are the most popular alternatives and competitors to Kivy.
87
317
+ 1
20

What is Kivy and what are its top alternatives?

Kivy is an open-source Python framework for developing multitouch applications. It allows for creating cross-platform applications with a natural user interface, supporting various input devices such as touchscreens and mouse. Kivy offers a wide range of UI elements and can be extended with custom widgets. However, one limitation of Kivy is the lack of detailed documentation and a steeper learning curve compared to some other UI frameworks.

  1. PyQt: PyQt is a set of Python bindings for the Qt application framework. It provides a comprehensive set of widgets and tools for creating desktop applications. Key features include a rich set of GUI elements, platform independence, and seamless integration with Qt Designer. Pros: Extensive documentation, mature support, and a large community. Cons: Licensing restrictions for commercial use.

  2. Tkinter: Tkinter is Python's standard GUI library that comes bundled with Python. It offers a simple and easy-to-use interface for creating basic GUI applications. Key features include a variety of widgets, cross-platform compatibility, and lightweight footprint. Pros: Built-in library, easy to learn, and suitable for small-scale projects. Cons: Limited customization and outdated appearance.

  3. wxPython: wxPython is a Python binding for the wxWidgets GUI toolkit. It provides a robust set of UI components and tools for creating cross-platform desktop applications. Key features include native look and feel, extensive collection of widgets, and support for multiple platforms. Pros: Modern appearance, good documentation, and active community. Cons: Steeper learning curve compared to Tkinter.

  4. Dear PyGui: Dear PyGui is a simple-to-use, Python-native GUI framework. It aims to provide a fast, simple, and small alternative to other GUI libraries. Key features include a modern UI design, native look and feel on all platforms, and support for custom widgets. Pros: Easy to set up, fast performance, and minimalistic design. Cons: Limited documentation and fewer advanced features compared to other frameworks.

  5. Eel: Eel is a Python library for creating simple Electron-like desktop apps with HTML, CSS, and JavaScript. It enables developers to create desktop applications using web technologies. Key features include a familiar web development workflow, easy integration with Python backend code, and support for modern UI designs. Pros: Cross-platform compatibility, rapid development, and access to web development ecosystem. Cons: Limited native UI elements and potential performance issues.

  6. PySimpleGUI: PySimpleGUI is a Python GUI framework that aims to simplify the process of creating GUI applications. It offers a simple API for creating desktop interfaces with ease. Key features include a high-level interface, cross-platform compatibility, and customizable themes. Pros: Easy to learn, quick prototyping, and straightforward syntax. Cons: Limited customization options compared to other frameworks.

  7. GTK+: GTK+ is a cross-platform GUI toolkit for creating graphical applications. It provides a comprehensive set of tools for building desktop interfaces with various widgets. Key features include support for multiple programming languages, custom theming, and native look and feel. Pros: Extensive documentation, active community, and flexibility in design. Cons: Steeper learning curve for beginners and limited support for certain platforms.

  8. FLTK: FLTK (Fast, Light Toolkit) is a cross-platform C++ GUI library that can be used with Python bindings. It offers a lightweight and efficient framework for creating graphical applications. Key features include a fast rendering engine, minimal dependencies, and support for custom widgets. Pros: Lightweight footprint, fast performance, and simplicity in design. Cons: Limited community support and fewer built-in widgets compared to other frameworks.

  9. LibUI-Py: LibUI-Py is a Python binding for LibUI, a simple and portable GUI library. It aims to provide a lightweight and easy-to-use solution for creating desktop applications. Key features include a minimalistic design, support for native widgets, and seamless integration with Python. Pros: Lightweight library, clean API, and efficient performance. Cons: Limited customization options and smaller community compared to other frameworks.

  10. Curses: Curses is a built-in Python library for creating text-based user interfaces. It allows for creating terminal-based applications with a focus on text manipulation and keyboard input. Key features include support for terminal control, text formatting, and keyboard handling. Pros: Built-in library, lightweight footprint, and simplicity in design. Cons: Limited visual appeal and lack of graphical elements compared to other GUI frameworks.

Top Alternatives to Kivy

  • PyQt
    PyQt

    It is a set of Python v2 and v3 bindings for Qt application framework and runs on all platforms supported by Qt including Windows, OS X, Linux, iOS and Android. PyQt5 supports Qt v5. PyQt4 supports Qt v4 and will build against Qt v5. The bindings are implemented as a set of Python modules and contain over 1,000 classes. ...

  • Xamarin
    Xamarin

    Xamarin’s Mono-based products enable .NET developers to use their existing code, libraries and tools (including Visual Studio*), as well as skills in .NET and the C# programming language, to create mobile applications for the industry’s most widely-used mobile devices, including Android-based smartphones and tablets, iPhone, iPad and iPod Touch. ...

  • Electron
    Electron

    With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor. ...

  • Android Studio
    Android Studio

    Android Studio is a new Android development environment based on IntelliJ IDEA. It provides new features and improvements over Eclipse ADT and will be the official Android IDE once it's ready. ...

  • pygame
    pygame

    It is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. ...

  • Qt
    Qt

    Qt, a leading cross-platform application and UI framework. With Qt, you can develop applications once and deploy to leading desktop, embedded & mobile targets. ...

  • React Native
    React Native

    React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native. ...

  • Flutter
    Flutter

    Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. ...

Kivy alternatives & related posts

PyQt logo

PyQt

58
132
0
A GUI widgets toolkit
58
132
+ 1
0
PROS OF PYQT
    Be the first to leave a pro
    CONS OF PYQT
      Be the first to leave a con

      related PyQt posts

      William Miller

      We are developing an AWS IoT app for large boats. The IoT devices have sensors all over the boat for engine oil pressure, position, water depth, fuel level, crew location, etc. When the boat has internet, we interact with AWS cloud using lambda and Amazon DynamoDB. When the boat is offshore, the captain and crew still need normal and emergency alerts and real-time sensor information. The crew might have an Android or IoS phone or a Windows or macOS PC to receive alerts and interact with sensors. We may use the AWS GreenGrasss edge computing solution and either MQTT or HTML for that function.

      Question: We want to develop a cross-platform client to run on Windows, Mac, Android, IOS, and possibly Linux. We are primarily Python programmers, so PyQt or Kivy are options for us, but we have heard good things about React Native, Flutter, Xamarin, and others. We think an AWS Greengrass core on an RPI4 could communicate to the client with MQTT or a local webserver with a client web interface.

      Any thoughts would be much appreciated.

      See more
      Shared insights
      on
      C langC langJavaJavaElectronElectronPyQtPyQt

      The appropriate programming language is required to deploy GUI programs used by small people for continuous updates. I'm currently developing with PyQt, but I'm having trouble implementing the update. So when I make my next program, I want to use a development language with a lot of community or documents, which one is good, Electron or PyQt? Or are there other options such as Java or C lang?

      See more
      Xamarin logo

      Xamarin

      1.3K
      1.5K
      785
      Create iOS, Android and Mac apps in C#
      1.3K
      1.5K
      + 1
      785
      PROS OF XAMARIN
      • 121
        Power of c# on mobile devices
      • 81
        Native performance
      • 79
        Native apps with native ui controls
      • 73
        No javascript - truely compiled code
      • 67
        Sharing more than 90% of code over all platforms
      • 45
        Ability to leverage visual studio
      • 44
        Mvvm pattern
      • 44
        Many great c# libraries
      • 36
        Amazing support
      • 34
        Powerful platform for .net developers
      • 19
        GUI Native look and Feel
      • 16
        Nuget package manager
      • 12
        Free
      • 9
        Backed by Microsoft
      • 9
        Enables code reuse on server
      • 8
        Faster Development
      • 7
        Use of third-party .NET libraries
      • 7
        It's free since Apr 2016
      • 7
        Best performance than other cross-platform
      • 7
        Easy Debug and Trace
      • 7
        Open Source
      • 6
        Mac IDE (Xamarin Studio)
      • 6
        Xamarin.forms is the best, it's amazing
      • 5
        That just work for every scenario
      • 5
        C# mult paradigm language
      • 5
        Power of C#, no javascript, visual studio
      • 4
        Great docs
      • 4
        Compatible to develop Hybrid apps
      • 4
        Microsoft stack
      • 4
        Microsoft backed
      • 3
        Well Designed
      • 3
        Small learning curve for Mobile developers
      • 2
        Ionic
      • 2
        Ability to leverage legacy C and C++
      CONS OF XAMARIN
      • 9
        Build times
      • 5
        Visual Studio
      • 4
        Price
      • 3
        Complexity
      • 3
        Scalability
      • 2
        Nuget
      • 2
        Maturity
      • 2
        Build Tools
      • 2
        Support
      • 0
        Maturidade
      • 0
        Performance

      related Xamarin posts

      Greg Neumann
      Indie, Solo, Developer · | 8 upvotes · 1.5M views

      Finding the most effective dev stack for a solo developer. Over the past year, I've been looking at many tech stacks that would be 'best' for me, as a solo, indie, developer to deliver a desktop app (Windows & Mac) plus mobile - iOS mainly. Initially, Xamarin started to stand-out. Using .NET Core as the run-time, Xamarin as the native API provider and Xamarin Forms for the UI seemed to solve all issues. But, the cracks soon started to appear. Xamarin Forms is mobile only; the Windows incarnation is different. There is no Mac UI solution (you have to code it natively in Mac OS Storyboard. I was also worried how Xamarin Forms , if I was to use it, was going to cope, in future, with Apple's new SwiftUI and Google's new Fuchsia.

      This plethora of techs for the UI-layer made me reach for the safer waters of using Web-techs for the UI. Lovely! Consistency everywhere (well, mostly). But that consistency evaporates when platform issues are addressed. There are so many web frameworks!

      But, I made a simple decision. It's just me...I am clever, but there is no army of coders here. And I have big plans for a business app. How could just 1 developer go-on to deploy a decent app to Windows, iPhone, iPad & Mac OS? I remembered earlier days when I've used Microsoft's ASP.NET to scaffold - generate - loads of Code for a web-app that I needed for several charities that I worked with. What 'generators' exist that do a lot of the platform-specific rubbish, allow the necessary customisation of such platform integration and provide a decent UI?

      I've placed my colours to the Quasar Framework mast. Oh dear, that means Electron desktop apps doesn't it? Well, Ive had enough of loads of Developers saying that "the menus won't look native" or "it uses too much RAM" and so on. I've been using non-native UI-wrapped apps for ages - the date picker in Outlook on iOS is way better than the native date-picker and I'd been using it for years without getting hot under the collar about it. Developers do get so hung-up on things that busy Users hardly notice; don't you think?. As to the RAM usage issue; that's a bit true. But Users only really notice when an app uses so much RAM that the machine starts to page-out. Electron contributes towards that horizon but does not cause it. My Users will be business-users after all. Somewhat decent machines.

      Looking forward to all that lovely Vue.js around my TypeScript and all those really, really, b e a u t I f u l UI controls of Quasar Framework . Still not sure that 1 dev can deliver all that... but I'm up for trying...

      See more
      Bhupendra Madhu
      Web Developer at Ecombooks · | 8 upvotes · 524.1K views

      I want to learn cross-platform application frameworks like React Native, Flutter, Xamarin, or Ionic, and I'm a web developer. I can learn other programming languages as well. But I'm confused about what to learn, which framework is best, and which framework will last long as the application grows further into complexity.

      See more
      Electron logo

      Electron

      11.2K
      9.8K
      148
      Build cross platform desktop apps with JavaScript, HTML, and CSS
      11.2K
      9.8K
      + 1
      148
      PROS OF ELECTRON
      • 69
        Easy to make rich cross platform desktop applications
      • 53
        Open source
      • 14
        Great looking apps such as Slack and Visual Studio Code
      • 8
        Because it's cross platform
      • 4
        Use Node.js in the Main Process
      CONS OF ELECTRON
      • 18
        Uses a lot of memory
      • 8
        User experience never as good as a native app
      • 4
        No proper documentation
      • 4
        Does not native
      • 1
        Each app needs to install a new chromium + nodejs
      • 1
        Wrong reference for dom inspection

      related Electron posts

      Paul Whittemore
      Developer and Owner at Appurist Software · | 15 upvotes · 1.1M views

      I'm building most projects using: Server: either Fastify (all projects going forward) or ExpressJS on Node.js (existing, previously) on the server side, and Client app: either Vuetify (currently) or Quasar Framework (going forward) on Vue.js with vuex on Electron for the UI to deliver both web-based and desktop applications for multiple platforms.

      The direct support for Android and iOS in Quasar Framework will make it my go-to client UI platform for any new client-side or web work. On the server, I'll probably use Fastly for all my server work, unless I get into Go more in the future.

      Update: The mobile support in Quasar is not a sufficiently compelling reason to move me from Vuetify. I have decided to stick with Vuetify for a UI for Vue, as it is richer in components and enables a really great-looking professional result. For mobile platforms, I will just use Cordova to wrap the Vue+Vuetify app for mobile, and Electron to wrap it for desktop platforms.

      See more

      Vue.js vuex Vue Router Quasar Framework Electron Node.js npm Yarn Git GitHub Netlify My tech stack that helps me develop quickly and efficiently. Wouldn't want it any other way.

      See more
      Android Studio logo

      Android Studio

      24.9K
      19.8K
      361
      Android development environment based on IntelliJ IDEA
      24.9K
      19.8K
      + 1
      361
      PROS OF ANDROID STUDIO
      • 176
        Android studio is a great tool, getting better and bet
      • 103
        Google's official android ide
      • 37
        Intelligent code editor with lots of auto-completion
      • 25
        Its powerful and robust
      • 5
        Easy creating android app
      • 3
        Amazing Layout Designer
      • 3
        Great Code Tips
      • 3
        Great tool & very helpful
      • 2
        Easy to use
      • 2
        Built in Emulator
      • 2
        Keyboard Shortcuts are Amazing Out of the box
      CONS OF ANDROID STUDIO
      • 4
        Slow emulator
      • 4
        Huge memory usage
      • 2
        Using Intellij IDEA, while Intellij IDEA have too
      • 2
        Complex for begginers
      • 2
        No checking incompatibilities
      • 1
        Lags behind IntelliJ IDEA
      • 1
        Slow release process

      related Android Studio posts

      Gustavo Muñoz
      Senior Software Engineer at JOOR · | 8 upvotes · 444K views

      In my modest opinion, Flutter is the future of mobile development. The framework is as important to mobile as React is to the web. And seeing that React Native does not finish taking off, I am focusing all my efforts on learning Flutter and Dart. The ecosystem is amazing. The community is crazy about Flutter. There are enough resources to learn and enjoy the framework, and the tools developed to work with it are amazing. Android Studio or Visual Studio Code has incredible plugins and Dart is a pretty straight forward and easy-to-learn language, even more, if you came from JavaScript. I admit it. I'm in love with Flutter. When you are not a designer, having a framework focused on design an pretty things is a must. And counting with tools like #flare for animations makes everything easier. It is so amazing that I wish I had a big mobile project right now at work just to use Flutter.

      See more
      Julien DeFrance
      Principal Software Engineer at Tophatter · | 8 upvotes · 442.8K views

      As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.

      Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.

      Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.

      After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.

      After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.

      Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.

      See more
      pygame logo

      pygame

      110
      170
      5
      Open Source python programming language library for making multimedia applications
      110
      170
      + 1
      5
      PROS OF PYGAME
      • 3
        Easy to install
      • 1
        Simple
      • 1
        Lightweigt by only being 12 mb
      CONS OF PYGAME
      • 2
        Has only 2d
      • 1
        Slow

      related pygame posts

      Qt logo

      Qt

      446
      623
      138
      A leading cross-platform application and UI framework
      446
      623
      + 1
      138
      PROS OF QT
      • 17
        High Performance
      • 13
        Declarative, easy and flexible UI
      • 12
        Cross platform
      • 12
        Performance
      • 9
        Fast prototyping
      • 8
        Easiest integration with C++
      • 8
        Up to date framework
      • 7
        Python
      • 6
        Multiple license including Open Source and Commercial
      • 6
        Safe 2D Renderer
      • 5
        Great Community Support
      • 4
        HW Accelerated UI
      • 4
        Game Engine like UI system
      • 3
        No history of broken compatibility with a major version
      • 3
        JIT and QML Compiler
      • 3
        True cross-platform framework with native code compile
      • 3
        Reliable for industrial use
      • 3
        Pure C++
      • 3
        Been using it since the 90s - runs anywhere does it all
      • 2
        Open source
      • 2
        Easy Integrating to DX and OpenGL and Vulkan
      • 2
        From high to low level coding
      • 1
        Learning Curve
      • 1
        Great mobile support with Felgo add-on
      • 1
        Native looking GUI
      CONS OF QT
      • 5
        Paid
      • 4
        C++ is not so productive
      • 2
        Lack of community support
      • 1
        Lack of libraries
      • 1
        Not detailed documentation

      related Qt posts

      Shared insights
      on
      QtQtLinuxLinux

      Hi Everyone, I need to choose a graphics framework for app development on Linux. Since I know Qt from previous projects it would be a straightforward choice for me but the cost is a huge issue in this project. Any advice for a free and nice framework to use for app development? The requested UI contains some dynamic elements, like graphs, etc. Thanks in advance!

      See more
      React Native logo

      React Native

      33.1K
      28.7K
      1.1K
      A framework for building native apps with React
      33.1K
      28.7K
      + 1
      1.1K
      PROS OF REACT NATIVE
      • 213
        Learn once write everywhere
      • 172
        Cross platform
      • 168
        Javascript
      • 122
        Native ios components
      • 69
        Built by facebook
      • 65
        Easy to learn
      • 45
        Bridges me into ios development
      • 39
        No compile
      • 39
        It's just react
      • 36
        Declarative
      • 22
        Fast
      • 13
        Virtual Dom
      • 12
        Insanely fast develop / test cycle
      • 12
        Livereload
      • 11
        Great community
      • 9
        It is free and open source
      • 9
        Native android components
      • 9
        Easy setup
      • 9
        Backed by Facebook
      • 7
        Highly customizable
      • 7
        Scalable
      • 6
        Awesome
      • 6
        Everything component
      • 6
        Great errors
      • 6
        Win win solution of hybrid app
      • 5
        Not dependent on anything such as Angular
      • 5
        Simple
      • 4
        Awesome, easy starting from scratch
      • 4
        OTA update
      • 3
        As good as Native without any performance concerns
      • 3
        Easy to use
      • 2
        Many salary
      • 2
        Can be incrementally added to existing native apps
      • 2
        Hot reload
      • 2
        Over the air update (Flutter lacks)
      • 2
        'It's just react'
      • 2
        Web development meets Mobile development
      • 1
        Ngon
      CONS OF REACT NATIVE
      • 23
        Javascript
      • 19
        Built by facebook
      • 12
        Cant use CSS
      • 4
        30 FPS Limit
      • 2
        Slow
      • 2
        Generate large apk even for a simple app
      • 2
        Some compenents not truly native

      related React Native posts

      Vaibhav Taunk
      Team Lead at Technovert · | 31 upvotes · 4M views

      I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

      See more

      I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

      We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

      Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

      We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

      Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

      See more
      Flutter logo

      Flutter

      16.4K
      16K
      1.2K
      Cross-platform mobile framework from Google
      16.4K
      16K
      + 1
      1.2K
      PROS OF FLUTTER
      • 142
        Hot Reload
      • 121
        Cross platform
      • 104
        Performance
      • 89
        Backed by Google
      • 73
        Compiled into Native Code
      • 59
        Fast Development
      • 58
        Open Source
      • 53
        Fast Prototyping
      • 49
        Single Codebase
      • 48
        Expressive and Flexible UI
      • 36
        Reactive Programming
      • 34
        Material Design
      • 30
        Dart
      • 29
        Widget-based
      • 26
        Target to Fuchsia
      • 20
        IOS + Android
      • 17
        Easy to learn
      • 16
        Great CLI Support
      • 14
        You can use it as mobile, web, Server development
      • 14
        Tooling
      • 13
        Debugging quickly
      • 13
        Have built-in Material theme
      • 12
        Good docs & sample code
      • 12
        Target to Android
      • 12
        Community
      • 11
        Support by multiple IDE: Android Studio, VS Code, XCode
      • 10
        Easy Testing Support
      • 10
        Written by Dart, which is easy to read code
      • 9
        Real platform free framework of the future
      • 9
        Have built-in Cupertino theme
      • 9
        Target to iOS
      • 8
        Easy to Unit Test
      • 8
        Easy to Widget Test
      • 1
        Large Community
      CONS OF FLUTTER
      • 29
        Need to learn Dart
      • 10
        Lack of community support
      • 10
        No 3D Graphics Engine Support
      • 8
        Graphics programming
      • 6
        Lack of friendly documentation
      • 2
        Lack of promotion
      • 1
        Https://iphtechnologies.com/difference-between-flutter

      related Flutter posts

      Vaibhav Taunk
      Team Lead at Technovert · | 31 upvotes · 4M views

      I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

      See more

      The only two programming languages I know are Python and Dart, I fall in love with Dart when I learned about the type safeness, ease of refactoring, and the help of the IDE. I have an idea for an app, a simple app, but I need SEO and server rendering, and I also want it to be available on all platforms. I can't use Flutter or Dart anymore because of that. I have been searching and looks like there is no way to avoid learning HTML and CSS for this. I want to use Supabase as BASS, at the moment I think that I have two options if I want to learn the least amount of things because of my lack of time available:

      1. Quasar Framework: They claim that I can do all the things I need, but I have to use JavaScript, and I am going to have all those bugs with a type-safe programming language avoidable. I guess I can use TypeScript?, but that means learning both, and I am not sure if I will be able to use 100% Typescript. Besides Vue.js, Node.js, etc.

      2. Blazor and .NET: There is MAUI with razor bindings in .Net now, and also a Blazor server. And as far as I can see, the transition from Dart to C# will be easy. I guess that I have to learn some Javascript here and there, but I have to less things I guess, am I wrong? But Blazor is a new technology, Vue is widely used.

      See more