Alternatives to Flutter logo

Alternatives to Flutter

React Native, Xamarin, Android SDK, Java, and Kotlin are the most popular alternatives and competitors to Flutter.
16.2K
15.9K
+ 1
1.2K

What is Flutter and what are its top alternatives?

Flutter is an open-source UI software development kit created by Google, which allows developers to build natively compiled applications for mobile, web, and desktop from a single codebase. Its key features include hot reload, customizable widgets, and a rich set of pre-built UI components. However, some limitations of Flutter include larger app sizes compared to native applications and possible performance issues with complex animations.

  1. React Native: React Native is a popular JavaScript framework for building cross-platform mobile applications. Key features include a large community, reusable components, and easy integration with third-party libraries. Pros of React Native include strong developer support and a vast ecosystem, while cons may include performance issues on certain platforms.
  2. Xamarin: Xamarin is a Microsoft-owned framework for building cross-platform mobile applications using C#. Key features include code reusability, native performance, and integration with Microsoft technologies. Pros of Xamarin include strong support for enterprise applications and seamless access to device APIs, while cons may include a steeper learning curve for beginners.
  3. Ionic: Ionic is an open-source framework for building cross-platform mobile applications using web technologies such as HTML, CSS, and JavaScript. Key features include a vast library of pre-built components, easy prototyping, and support for popular front-end frameworks. Pros of Ionic include rapid development and a strong community, while cons may include limitations in terms of app performance.
  4. NativeScript: NativeScript is an open-source framework for building cross-platform mobile applications using JavaScript or TypeScript. Key features include direct access to native APIs, support for Angular, Vue.js, or React, and a rich plugin ecosystem. Pros of NativeScript include high performance and native user experience, while cons may include a smaller community compared to other frameworks.
  5. Unity: Unity is a popular game development platform that can also be used to build interactive 3D applications for mobile, web, and desktop. Key features include high fidelity graphics, cross-platform support, and a large asset store for ready-made assets. Pros of Unity include powerful graphics capabilities and a strong focus on gaming, while cons may include a steeper learning curve for non-gaming applications.
  6. Appcelerator Titanium: Appcelerator Titanium is a mobile app development platform that allows developers to build cross-platform applications using JavaScript, XML, and Alloy. Key features include code reusability, rapid prototyping, and a large number of modules for extending functionality. Pros of Appcelerator Titanium include fast development cycles and easy access to device features, while cons may include limited platform support compared to other frameworks.
  7. PhoneGap: PhoneGap, now known as Apache Cordova, is an open-source framework for building cross-platform mobile applications using web technologies. Key features include easy integration with existing web technologies, access to native APIs, and a large community of developers. Pros of PhoneGap include seamless integration with web assets and rapid deployment, while cons may include performance issues on certain platforms.
  8. Corona SDK: Corona SDK is a mobile app development platform focused on 2D games and interactive applications. Key features include high-performance graphics, easy-to-use API, and support for Lua scripting. Pros of Corona SDK include fast development cycles and a strong focus on gaming applications, while cons may include limitations in terms of complex UI and 3D graphics.
  9. Flutterflow: Flutterflow is a visual UI builder for Flutter applications that allows developers to design and prototype apps without writing code. Key features include drag-and-drop interface design, real-time preview, and seamless integration with Flutter code. Pros of Flutterflow include rapid prototyping and easy collaboration between designers and developers, while cons may include limitations in customizability compared to hand-written code.
  10. Quark: Quark is a low-code platform for building cross-platform applications using a visual interface and JavaScript. Key features include a drag-and-drop builder, support for native APIs, and seamless deployment to multiple platforms. Pros of Quark include rapid development cycles and easy integration with existing JavaScript libraries, while cons may include limitations in terms of customization and flexibility compared to hand-written code.

Top Alternatives to Flutter

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

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

  • Android SDK
    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

    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

    Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java ...

  • React
    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
    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
    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

React Native logo

React Native

32.8K
28.5K
1.1K
A framework for building native apps with React
32.8K
28.5K
+ 1
1.1K
PROS OF REACT NATIVE
  • 211
    Learn once write everywhere
  • 171
    Cross platform
  • 167
    Javascript
  • 122
    Native ios components
  • 69
    Built by facebook
  • 65
    Easy to learn
  • 45
    Bridges me into ios development
  • 39
    It's just react
  • 39
    No compile
  • 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 · 3.6M 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
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.4M 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 · 520.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
Android SDK logo

Android SDK

26.4K
20.2K
799
An SDK that provides you the API libraries and developer tools necessary to build, test, and debug apps...
26.4K
20.2K
+ 1
799
PROS OF ANDROID SDK
  • 289
    Android development
  • 155
    Necessary for android
  • 128
    Android studio
  • 86
    Mobile framework
  • 82
    Backed by google
  • 27
    Platform-tools
  • 21
    Eclipse + adt plugin
  • 5
    Powerful, simple, one stop environment
  • 3
    Free
  • 3
    Больно
CONS OF ANDROID SDK
    Be the first to leave a con

    related Android SDK posts

    Jesus Dario Rivera Rubio
    Telecomm Engineering at Netbeast · | 10 upvotes · 1M views

    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.

    See more
    Sezgi Ulucam
    Developer Advocate at Hasura · | 7 upvotes · 924.4K views

    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/

    See more
    Java logo

    Java

    132.1K
    99.9K
    3.7K
    A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
    132.1K
    99.9K
    + 1
    3.7K
    PROS OF JAVA
    • 599
      Great libraries
    • 445
      Widely used
    • 400
      Excellent tooling
    • 395
      Huge amount of documentation available
    • 334
      Large pool of developers available
    • 208
      Open source
    • 202
      Excellent performance
    • 157
      Great development
    • 150
      Used for android
    • 148
      Vast array of 3rd party libraries
    • 60
      Compiled Language
    • 52
      Used for Web
    • 46
      High Performance
    • 46
      Managed memory
    • 44
      Native threads
    • 43
      Statically typed
    • 35
      Easy to read
    • 33
      Great Community
    • 29
      Reliable platform
    • 24
      Sturdy garbage collection
    • 24
      JVM compatibility
    • 22
      Cross Platform Enterprise Integration
    • 20
      Universal platform
    • 20
      Good amount of APIs
    • 18
      Great Support
    • 14
      Great ecosystem
    • 11
      Backward compatible
    • 11
      Lots of boilerplate
    • 10
      Everywhere
    • 9
      Excellent SDK - JDK
    • 7
      It's Java
    • 7
      Cross-platform
    • 7
      Static typing
    • 6
      Mature language thus stable systems
    • 6
      Better than Ruby
    • 6
      Long term language
    • 6
      Portability
    • 5
      Clojure
    • 5
      Vast Collections Library
    • 5
      Used for Android development
    • 4
      Most developers favorite
    • 4
      Old tech
    • 3
      History
    • 3
      Great Structure
    • 3
      Stable platform, which many new languages depend on
    • 3
      Javadoc
    • 3
      Testable
    • 3
      Best martial for design
    • 2
      Type Safe
    • 2
      Faster than python
    • 0
      Job
    CONS OF JAVA
    • 33
      Verbosity
    • 27
      NullpointerException
    • 17
      Nightmare to Write
    • 16
      Overcomplexity is praised in community culture
    • 12
      Boiler plate code
    • 8
      Classpath hell prior to Java 9
    • 6
      No REPL
    • 4
      No property
    • 3
      Code are too long
    • 2
      Non-intuitive generic implementation
    • 2
      There is not optional parameter
    • 2
      Floating-point errors
    • 1
      Java's too statically, stronglly, and strictly typed
    • 1
      Returning Wildcard Types
    • 1
      Terrbible compared to Python/Batch Perormence

    related Java posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 9.6M views

    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

    See more
    Kamil Kowalski
    Lead Architect at Fresha · | 28 upvotes · 3.9M views

    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.

    See more
    Kotlin logo

    Kotlin

    14.8K
    11.5K
    647
    Statically typed Programming Language targeting JVM and JavaScript
    14.8K
    11.5K
    + 1
    647
    PROS OF KOTLIN
    • 73
      Interoperable with Java
    • 55
      Functional Programming support
    • 50
      Null Safety
    • 46
      Official Android support
    • 44
      Backed by JetBrains
    • 37
      Concise
    • 36
      Modern Multiplatform Applications
    • 28
      Expressive Syntax
    • 27
      Target to JVM
    • 26
      Coroutines
    • 24
      Open Source
    • 19
      Practical elegance
    • 19
      Statically Typed
    • 17
      Type Inference
    • 17
      Android support
    • 14
      Readable code
    • 13
      Powerful as Scala, simple as Python, plus coroutines <3
    • 12
      Better Java
    • 10
      Pragmatic
    • 9
      Lambda
    • 8
      Target to JavaScript
    • 8
      Better language for android
    • 8
      Expressive DSLs
    • 6
      Used for Android
    • 6
      Less boilerplate code
    • 5
      Fast Programming language
    • 5
      Less code
    • 4
      Less boiler plate code
    • 4
      Functional Programming Language
    • 4
      Native
    • 4
      Friendly community
    • 3
      Spring
    • 3
      Official Google Support
    • 2
      Latest version of Java
    • 1
      Well-compromised featured Java alternative
    CONS OF KOTLIN
    • 7
      Java interop makes users write Java in Kotlin
    • 4
      Frequent use of {} keys
    • 2
      Hard to make teams adopt the Kotlin style
    • 2
      Nonullpointer Exception
    • 1
      Friendly community
    • 1
      Slow compiler
    • 1
      No boiler plate code

    related Kotlin posts

    Shivam Bhargava
    AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 743.7K views

    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!

    See more
    Jakub Olan
    Node.js Software Engineer · | 17 upvotes · 662.4K views

    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.

    See more
    React logo

    React

    168.1K
    139K
    4.1K
    A JavaScript library for building user interfaces
    168.1K
    139K
    + 1
    4.1K
    PROS OF REACT
    • 830
      Components
    • 672
      Virtual dom
    • 578
      Performance
    • 507
      Simplicity
    • 442
      Composable
    • 186
      Data flow
    • 166
      Declarative
    • 128
      Isn't an mvc framework
    • 120
      Reactive updates
    • 115
      Explicit app state
    • 50
      JSX
    • 29
      Learn once, write everywhere
    • 22
      Easy to Use
    • 21
      Uni-directional data flow
    • 17
      Works great with Flux Architecture
    • 11
      Great perfomance
    • 10
      Javascript
    • 9
      Built by Facebook
    • 8
      TypeScript support
    • 6
      Speed
    • 6
      Server Side Rendering
    • 5
      Feels like the 90s
    • 5
      Excellent Documentation
    • 5
      Props
    • 5
      Functional
    • 5
      Easy as Lego
    • 5
      Closer to standard JavaScript and HTML than others
    • 5
      Cross-platform
    • 5
      Easy to start
    • 5
      Hooks
    • 5
      Awesome
    • 5
      Scalable
    • 4
      Super easy
    • 4
      Allows creating single page applications
    • 4
      Server side views
    • 4
      Sdfsdfsdf
    • 4
      Start simple
    • 4
      Strong Community
    • 4
      Fancy third party tools
    • 4
      Scales super well
    • 3
      Has arrow functions
    • 3
      Beautiful and Neat Component Management
    • 3
      Just the View of MVC
    • 3
      Simple, easy to reason about and makes you productive
    • 3
      Fast evolving
    • 3
      SSR
    • 3
      Great migration pathway for older systems
    • 3
      Rich ecosystem
    • 3
      Simple
    • 3
      Has functional components
    • 3
      Every decision architecture wise makes sense
    • 3
      Very gentle learning curve
    • 2
      Split your UI into components with one true state
    • 2
      Recharts
    • 2
      Permissively-licensed
    • 2
      Fragments
    • 2
      Sharable
    • 2
      Image upload
    • 2
      HTML-like
    • 1
      React hooks
    • 1
      Datatables
    CONS OF REACT
    • 40
      Requires discipline to keep architecture organized
    • 29
      No predefined way to structure your app
    • 28
      Need to be familiar with lots of third party packages
    • 13
      JSX
    • 10
      Not enterprise friendly
    • 6
      One-way binding only
    • 3
      State consistency with backend neglected
    • 3
      Bad Documentation
    • 2
      Error boundary is needed
    • 2
      Paradigms change too fast

    related React posts

    Vaibhav Taunk
    Team Lead at Technovert · | 31 upvotes · 3.6M 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
    Adebayo Akinlaja
    Engineering Manager at Andela · | 30 upvotes · 3.3M views

    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.

    See more
    Swift logo

    Swift

    19.8K
    13.2K
    1.3K
    An innovative new programming language for Cocoa and Cocoa Touch.
    19.8K
    13.2K
    + 1
    1.3K
    PROS OF SWIFT
    • 259
      Ios
    • 180
      Elegant
    • 126
      Not Objective-C
    • 107
      Backed by apple
    • 93
      Type inference
    • 61
      Generics
    • 54
      Playgrounds
    • 49
      Semicolon free
    • 38
      OSX
    • 36
      Tuples offer compound variables
    • 24
      Clean Syntax
    • 24
      Easy to learn
    • 22
      Open Source
    • 21
      Beautiful Code
    • 20
      Functional
    • 12
      Dynamic
    • 12
      Linux
    • 11
      Protocol-oriented programming
    • 10
      Promotes safe, readable code
    • 9
      No S-l-o-w JVM
    • 8
      Explicit optionals
    • 7
      Storyboard designer
    • 6
      Optionals
    • 6
      Type safety
    • 5
      Super addicting language, great people, open, elegant
    • 5
      Best UI concept
    • 4
      Its friendly
    • 4
      Highly Readable codes
    • 4
      Fail-safe
    • 4
      Powerful
    • 4
      Faster and looks better
    • 4
      Swift is faster than Objective-C
    • 4
      Feels like a better C++
    • 3
      Easy to learn and work
    • 3
      Much more fun
    • 3
      Protocol extensions
    • 3
      Native
    • 3
      Its fun and damn fast
    • 3
      Strong Type safety
    • 3
      Easy to Maintain
    • 2
      Protocol as type
    • 2
      All Cons C# and Java Swift Already has
    • 2
      Esay
    • 2
      MacOS
    • 2
      Type Safe
    • 2
      Protocol oriented programming
    • 1
      Can interface with C easily
    • 1
      Actually don't have to own a mac
    • 1
      Free from Memory Leak
    • 1
      Swift is easier to understand for non-iOS developers.
    • 1
      Numbers with underbar
    • 1
      Optional chain
    • 1
      Great for Multi-Threaded Programming
    • 1
      Runs Python 8 times faster
    • 1
      Objec
    CONS OF SWIFT
    • 5
      Must own a mac
    • 2
      Memory leaks are not uncommon
    • 1
      Very irritatingly picky about things that’s
    • 1
      Complicated process for exporting modules
    • 1
      Its classes compile to roughly 300 lines of assembly
    • 1
      Is a lot more effort than lua to make simple functions
    • 0
      Overly complex options makes it easy to create bad code

    related Swift posts

    Shivam Bhargava
    AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 743.7K views

    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!

    See more
    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 13 upvotes · 1.6M views

    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 )

    See more
    Ionic logo

    Ionic

    9.3K
    8.4K
    1.8K
    A beautiful front-end framework for developing cross-platform apps with web technologies like Angular and React.
    9.3K
    8.4K
    + 1
    1.8K
    PROS OF IONIC
    • 248
      Allows for rapid prototyping
    • 228
      Hybrid mobile
    • 208
      It's angularjs
    • 186
      Free
    • 179
      It's javascript, html, and css
    • 109
      Ui and theming
    • 78
      Great designs
    • 74
      Mv* pattern
    • 71
      Reuse frontend devs on mobile
    • 65
      Extensibility
    • 31
      Great community
    • 29
      Open source
    • 23
      Responsive design
    • 21
      Good cli
    • 14
      So easy to use
    • 13
      Angularjs-based
    • 13
      Beautifully designed
    • 12
      Widgets
    • 11
      Allows for rapid prototyping, hybrid mobile
    • 11
      Typescript
    • 10
      Quick prototyping, amazing community
    • 10
      Easy setup
    • 8
      Angular2 support
    • 7
      Fast, easy, free
    • 7
      Because of the productivity and easy for development
    • 7
      Base on angular
    • 7
      So much thought behind what developers actually need
    • 6
      Super fast, their dev team is amazingly passionate
    • 6
      Easy to use
    • 6
      It's Angular
    • 4
      UI is awesome
    • 4
      Hot deploy
    • 3
      Material design support using theme
    • 3
      Amazing support
    • 3
      It's the future
    • 3
      Angular
    • 3
      Allow for rapid prototyping
    • 3
      Easy setup, development and testing
    • 3
      Ionic creator
    • 2
      User Friendly
    • 2
      It's angular js
    • 2
      Complete package
    • 2
      Simple & Fast
    • 2
      Fastest growing mobile app framework
    • 2
      Best Support and Community
    • 2
      Material Design By Default
    • 2
      Cross platform
    • 2
      Documentation
    • 2
      Because I can use my existing web devloper skills
    • 2
      Removes 300ms delay in mobile browsers
    • 1
      Responsive
    • 1
      Native access
    • 1
      Typescript support
    • 1
      Ionic conect codeigniter
    • 1
      Fast Prototyping
    • 1
      All Trending Stack
    CONS OF IONIC
    • 20
      Not suitable for high performance or UI intensive apps
    • 15
      Not meant for game development
    • 2
      Not a native app

    related Ionic posts

    Bhupendra Madhu
    Web Developer at Ecombooks · | 8 upvotes · 520.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
    Saber Hosney
    Senior software engineer at Shortcut · | 7 upvotes · 270.8K views

    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!

    See more