What is Flutter and what are its top alternatives?
Top Alternatives to Flutter
- 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. ...
- 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. ...
- Android SDK
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment. ...
- Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere! ...
- Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java ...
- React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project. ...
- Swift
Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C. ...
- Ionic
Free and open source, Ionic offers a library of mobile and desktop-optimized HTML, CSS and JS components for building highly interactive apps. Use with Angular, React, Vue, or plain JavaScript. ...
Flutter alternatives & related posts
- Learn once write everywhere206
- Cross platform168
- Javascript164
- Native ios components120
- Built by facebook67
- Easy to learn63
- Bridges me into ios development44
- It's just react40
- No compile39
- Declarative36
- Fast22
- Virtual Dom12
- Insanely fast develop / test cycle12
- Livereload12
- Great community11
- Native android components9
- It is free and open source9
- Backed by Facebook9
- Easy setup9
- Scalable7
- Highly customizable7
- Great errors6
- Win win solution of hybrid app6
- Everything component6
- Awesome6
- Not dependent on anything such as Angular5
- Simple5
- OTA update4
- Awesome, easy starting from scratch4
- Easy to use3
- As good as Native without any performance concerns3
- Many salary2
- Can be incrementally added to existing native apps2
- Hot reload2
- Over the air update (Flutter lacks)2
- 'It's just react'2
- Web development meets Mobile development2
- Ngon1
- Javascript23
- Built by facebook18
- Cant use CSS12
- 30 FPS Limit4
- Slow2
- Some compenents not truly native2
- Generate large apk even for a simple app2
related React Native posts









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.
















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.
- Power of c# on mobile devices120
- Native performance80
- Native apps with native ui controls77
- No javascript - truely compiled code71
- Sharing more than 90% of code over all platforms67
- Ability to leverage visual studio45
- Many great c# libraries44
- Mvvm pattern43
- Amazing support36
- Powerful platform for .net developers34
- GUI Native look and Feel19
- Nuget package manager15
- Free11
- Backed by Microsoft9
- Enables code reuse on server9
- Faster Development8
- Easy Debug and Trace7
- Use of third-party .NET libraries7
- It's free since Apr 20167
- Best performance than other cross-platform7
- Open Source7
- Mac IDE (Xamarin Studio)6
- Xamarin.forms is the best, it's amazing6
- Power of C#, no javascript, visual studio5
- C# mult paradigm language5
- Compatible to develop Hybrid apps4
- Microsoft backed4
- Microsoft stack4
- Great docs4
- That just work for every scenario4
- Well Designed3
- Small learning curve for Mobile developers3
- Ability to leverage legacy C and C++2
- Ionic2
- Build times9
- Visual Studio5
- Complexity3
- Scalability3
- Price3
- Nuget2
- Maturity2
- Build Tools2
- Support2
- Maturidade0
- Performance0
related Xamarin posts
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...












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.
Android SDK
- Android development285
- Necessary for android153
- Android studio127
- Mobile framework85
- Backed by google81
- Platform-tools26
- Eclipse + adt plugin21
- Powerful, simple, one stop environment4
- Больно2
- Free2
related Android SDK posts










We are using React Native in #SmartHome to share the business logic between Android and iOS team and approach users with a unique brand experience. The drawback is that we require lots of native Android SDK and Objective-C modules, so a good part of the invested time is there. The gain for a app that relies less on native communication, sensors and OS tools should be even higher.
Also it helps us set different testing stages: we use Travis CI for the javascript (business logic), Bitrise to run build tests and @Detox for #end2end automated user tests.
We use a microservices structure on top of Zeit's @now that read from firebase. We use JWT auth to authenticate requests among services and from users, following GitHub philosophy of using the same infrastructure than its API consumers. Firebase is used mainly as a key-value store between services and as a backup database for users. We also use its authentication mechanisms.
You can be super locked-in if you also rely on it's analytics, but we use Amplitude for that, which offers us great insights. Intercom for communications with end-user and Mailjet for marketing.
I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.
The Expo SDK also provides convenient features like Facebook login, MapView
, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/
Java
- Great libraries589
- Widely used442
- Excellent tooling400
- Huge amount of documentation available388
- Large pool of developers available332
- Open source204
- Excellent performance200
- Great development155
- Vast array of 3rd party libraries149
- Used for android148
- Compiled Language60
- Used for Web49
- Managed memory46
- High Performance45
- Native threads44
- Statically typed43
- Easy to read35
- Great Community33
- Reliable platform29
- Sturdy garbage collection24
- JVM compatibility24
- Cross Platform Enterprise Integration21
- Universal platform20
- Good amount of APIs20
- Great Support18
- Great ecosystem14
- Lots of boilerplate11
- Backward compatible11
- Everywhere10
- Excellent SDK - JDK9
- Static typing7
- It's Java7
- Better than Ruby6
- Portability6
- Mature language thus stable systems6
- Cross-platform6
- Long term language6
- Clojure5
- Used for Android development5
- Vast Collections Library5
- Most developers favorite4
- Old tech4
- Javadoc3
- History3
- Testable3
- Great Structure3
- Stable platform, which many new languages depend on3
- Best martial for design3
- Faster than python2
- Type Safe1
- Verbosity32
- NullpointerException27
- Overcomplexity is praised in community culture16
- Nightmare to Write14
- Boiler plate code11
- Classpath hell prior to Java 98
- No REPL6
- No property4
- Non-intuitive generic implementation2
- There is not optional parameter2
- Code are too long2
- Floating-point errors2
- Returning Wildcard Types1
- Java's too statically, stronglly, and strictly typed1
- Terrbible compared to Python/Batch Perormence1
related Java posts











How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:
Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.
Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:
https://eng.uber.com/distributed-tracing/
(GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)
Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark
When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.
- Interoperable with Java67
- Functional Programming support51
- Null Safety46
- Official Android support42
- Backed by JetBrains41
- Concise34
- Modern Multiplatform Applications33
- Expressive Syntax25
- Coroutines24
- Target to JVM23
- Open Source22
- Practical elegance16
- Statically Typed16
- Type Inference15
- Android support15
- Readable code11
- Better Java11
- Powerful as Scala, simple as Python, plus coroutines <310
- Pragmatic10
- Lambda8
- Better language for android7
- Expressive DSLs7
- Target to JavaScript7
- Less boilerplate code6
- Used for Android5
- Fast Programming language4
- Less code4
- Functional Programming Language3
- Less boiler plate code3
- Friendly community3
- Native2
- Official Google Support1
- Latest version of Java1
- Java interop makes users write Java in Kotlin7
- Frequent use of {} keys4
- Hard to make teams adopt the Kotlin style2
- Nonullpointer Exception2
- Friendly community1
- Slow compiler1
- No boiler plate code1
related Kotlin posts
Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?
What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!
In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.
- Components781
- Virtual dom661
- Performance570
- Simplicity495
- Composable440
- Data flow178
- Declarative163
- Isn't an mvc framework125
- Reactive updates115
- Explicit app state113
- JSX41
- Learn once, write everywhere26
- Uni-directional data flow20
- Easy to Use19
- Works great with Flux Architecture15
- Great perfomance11
- Built by Facebook9
- Javascript8
- TypeScript support6
- Speed6
- Scalable5
- Awesome5
- Hooks5
- Easy to start5
- Feels like the 90s5
- Server Side Rendering4
- Functional4
- Server side views4
- Fancy third party tools4
- Cross-platform4
- Scales super well4
- Excellent Documentation4
- Props4
- Has functional components3
- Simple3
- Closer to standard JavaScript and HTML than others3
- Super easy3
- Allows creating single page applications3
- Rich ecosystem3
- Great migration pathway for older systems3
- SSR3
- Fast evolving3
- Simple, easy to reason about and makes you productive3
- Just the View of MVC3
- Beautiful and Neat Component Management3
- Sdfsdfsdf3
- Very gentle learning curve3
- Start simple3
- Has arrow functions3
- Strong Community3
- Fragments2
- Every decision architecture wise makes sense2
- Split your UI into components with one true state2
- Sharable2
- Easy as Lego2
- Permissively-licensed2
- Image upload1
- Recharts1
- Requires discipline to keep architecture organized36
- No predefined way to structure your app24
- Need to be familiar with lots of third party packages23
- JSX9
- Not enterprise friendly7
- One-way binding only5
- State consistency with backend neglected2
- Bad Documentation2
- Paradigms change too fast1
related React posts









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.
I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.
A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.
In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.
If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.
Swift
- Ios255
- Elegant178
- Not Objective-C125
- Backed by apple106
- Type inference92
- Generics60
- Playgrounds54
- Semicolon free49
- OSX39
- Tuples offer compound variables35
- Easy to learn24
- Clean Syntax23
- Open Source21
- Functional20
- Beautiful Code19
- Dynamic11
- Linux11
- Protocol-oriented programming10
- Promotes safe, readable code10
- No S-l-o-w JVM8
- Explicit optionals8
- Storyboard designer7
- Type safety5
- Optionals5
- Best UI concept5
- Super addicting language, great people, open, elegant5
- Its friendly4
- Swift is faster than Objective-C4
- Feels like a better C++4
- Highly Readable codes4
- Fail-safe4
- Powerful4
- Faster and looks better4
- Much more fun3
- Easy to learn and work3
- Protocol extensions3
- Native3
- Its fun and damn fast3
- Strong Type safety3
- Easy to Maintain3
- Protocol oriented programming2
- Esay2
- MacOS2
- Type Safe2
- All Cons C# and Java Swift Already has2
- Protocol as type2
- Objec1
- Can interface with C easily1
- Numbers with underbar1
- Optional chain1
- Runs Python 8 times faster1
- Actually don't have to own a mac1
- Free from Memory Leak1
- Swift is easier to understand for non-iOS developers.1
- Great for Multi-Threaded Programming1
- Must own a mac5
- Memory leaks are not uncommon2
- Its classes compile to roughly 300 lines of assembly1
- Complicated process for exporting modules1
- Very irritatingly picky about things that’s1
- Is a lot more effort than lua to make simple functions1
- Overly complex options makes it easy to create bad code0
related Swift posts
Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?
What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!
Excerpts from how we developed (and subsequently open sourced) Uber's cross-platform mobile architecture framework, RIBs , going from Objective-C to Swift in the process for iOS: https://github.com/uber/RIBs
Uber’s new application architecture (RIBs) extensively uses protocols to keep its various components decoupled and testable. We used this architecture for the first time in our new rider application and moved our primary language from Objective-C to Swift. Since Swift is a very static language, unit testing became problematic. Dynamic languages have good frameworks to build test mocks, stubs, or stand-ins by dynamically creating or modifying existing concrete classes.
Needless to say, we were not very excited about the additional complexity of manually writing and maintaining mock implementations for each of our thousands of protocols.
The information required to generate mock classes already exists in the Swift protocol. For Uber’s use case, we set out to create tooling that would let engineers automatically generate test mocks for any protocol they wanted by simply annotating them.
The iOS codebase for our rider application alone incorporates around 1,500 of these generated mocks. Without our code generation tool, all of these would have to be written and maintained by hand, which would have made testing much more time-intensive. Auto-generated mocks have contributed a lot to the unit test coverage that we have today.
We built these code generation tools ourselves for a number of reasons, including that there weren’t many open source tools available at the time we started our effort. Today, there are some great open source tools to generate resource accessors, like SwiftGen. And Sourcery can help you with generic code generation needs:
https://eng.uber.com/code-generation/ https://eng.uber.com/driver-app-ribs-architecture/
(GitHub : https://github.com/uber/RIBs )
Ionic
- Allows for rapid prototyping246
- Hybrid mobile227
- It's angularjs208
- Free185
- It's javascript, html, and css179
- Ui and theming108
- Great designs76
- Mv* pattern74
- Reuse frontend devs on mobile70
- Extensibility65
- Great community31
- Open source29
- Responsive design22
- Good cli20
- So easy to use13
- Beautifully designed13
- Angularjs-based13
- Widgets12
- Typescript11
- Allows for rapid prototyping, hybrid mobile11
- Quick prototyping, amazing community10
- Easy setup10
- Angular2 support8
- Base on angular7
- So much thought behind what developers actually need7
- Because of the productivity and easy for development7
- Fast, easy, free7
- Super fast, their dev team is amazingly passionate6
- Easy to use6
- It's Angular6
- Hot deploy4
- UI is awesome4
- Amazing support3
- Easy setup, development and testing3
- Material design support using theme3
- It's the future3
- Angular3
- Allow for rapid prototyping3
- Ionic creator3
- User Friendly2
- It's angular js2
- Complete package2
- Simple & Fast2
- Removes 300ms delay in mobile browsers2
- Fastest growing mobile app framework2
- Best Support and Community2
- Material Design By Default2
- Cross platform2
- Documentation2
- Because I can use my existing web devloper skills2
- Ionic conect codeigniter1
- Fast Prototyping1
- All Trending Stack1
- Native access1
- Typescript support1
- Not suitable for high performance or UI intensive apps20
- Not meant for game development15
- Not a native app2
related Ionic posts
Greetings!
I have been searching lately for frameworks to build mobile apps.
We are trying to make something like a quiz app as a way for customers to contact us. I considered Ionic and React Native because we use JavaScript most of the time in websites, e.g., Vue.js/Nuxt.js. But Flutter seems a decent choice as well, especially since you can use Android/iOS-like components. We are looking for something that works in the long term, something that's time and cost-effective, especially when paired with backend services like Firebase or a GraphQL server. I would like to know your opinions and recommendations. Thank you!
Hi community, I am looking into how I should build my tech stack for a business/analytics platform. I am not very familiar with frontend development; when looking into cross-platform frameworks, I found a lot of options. What is the best cross-platform frontend framework to go with? I found Flutter interesting, but Ionic also looks promising? Thank you for the advice!