Alternatives to SwiftUI logo

Alternatives to SwiftUI

React, Swift, Cocoa (OS X), UIkIt, and React Native are the most popular alternatives and competitors to SwiftUI.
576
6

What is SwiftUI and what are its top alternatives?

Provides views, controls, and layout structures for declaring your app's user interface. The framework provides event handlers for delivering taps, gestures, and other types of input to your app.
SwiftUI is a tool in the Mobile UI Frameworks category of a tech stack.

Top Alternatives to SwiftUI

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

  • Cocoa (OS X)
    Cocoa (OS X)

    Much of Cocoa is implemented in Objective-C, an object-oriented language that is compiled to run at incredible speed, yet employs a truly dynamic runtime making it uniquely flexible. Because Objective-C is a superset of C, it is easy to mix C and even C++ into your Cocoa applications. ...

  • UIkIt
    UIkIt

    UIkit gives you a comprehensive collection of HTML, CSS, and JS components which is simple to use, easy to customize and extendable. ...

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

  • jQuery Mobile
    jQuery Mobile

    jQuery Mobile is a HTML5-based user interface system designed to make responsive web sites and apps that are accessible on all smartphone, tablet and desktop devices. ...

  • React Navigation
    React Navigation

    Start quickly with built-in navigators that deliver a seamless out-of-the box experience. Navigation views that deliver 60fps animations, and utilize native components to deliver a great look and feel. ...

SwiftUI alternatives & related posts

React logo

React

173.1K
142.9K
4.1K
A JavaScript library for building user interfaces
173.1K
142.9K
+ 1
4.1K
PROS OF REACT
  • 832
    Components
  • 673
    Virtual dom
  • 578
    Performance
  • 508
    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
    Server Side Rendering
  • 6
    Speed
  • 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
    Image upload
  • 2
    Permissively-licensed
  • 2
    Fragments
  • 2
    Sharable
  • 2
    Recharts
  • 2
    HTML-like
  • 1
    React hooks
  • 1
    Datatables
CONS OF REACT
  • 41
    Requires discipline to keep architecture organized
  • 30
    No predefined way to structure your app
  • 29
    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

Johnny Bell

I was building a personal project that I needed to store items in a real time database. I am more comfortable with my Frontend skills than my backend so I didn't want to spend time building out anything in Ruby or Go.

I stumbled on Firebase by #Google, and it was really all I needed. It had realtime data, an area for storing file uploads and best of all for the amount of data I needed it was free!

I built out my application using tools I was familiar with, React for the framework, Redux.js to manage my state across components, and styled-components for the styling.

Now as this was a project I was just working on in my free time for fun I didn't really want to pay for hosting. I did some research and I found Netlify. I had actually seen them at #ReactRally the year before and deployed a Gatsby site to Netlify already.

Netlify was very easy to setup and link to my GitHub account you select a repo and pretty much with very little configuration you have a live site that will deploy every time you push to master.

With the selection of these tools I was able to build out my application, connect it to a realtime database, and deploy to a live environment all with $0 spent.

If you're looking to build out a small app I suggest giving these tools a go as you can get your idea out into the real world for absolutely no cost.

See more
Collins Ogbuzuru
Front-end dev at Evolve credit · | 38 upvotes · 262.3K views

Your tech stack is solid for building a real-time messaging project.

React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

See more
Swift logo

Swift

20.3K
13.4K
1.3K
An innovative new programming language for Cocoa and Cocoa Touch.
20.3K
13.4K
+ 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
  • 6
    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 · 877.1K 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 · 2.1M 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
Cocoa (OS X) logo

Cocoa (OS X)

38
52
6
The Cocoa frameworks consist of libraries, APIs, and runtimes that form the development layer for all of OS...
38
52
+ 1
6
PROS OF COCOA (OS X)
  • 3
    Great community
  • 2
    IOS
  • 1
    Backed by apple
CONS OF COCOA (OS X)
    Be the first to leave a con

    related Cocoa (OS X) posts

    UIkIt logo

    UIkIt

    789
    415
    262
    A lightweight and modular front-end framework for developing fast and powerful web interfaces
    789
    415
    + 1
    262
    PROS OF UIKIT
    • 39
      Complete GUI
    • 29
      Easy modify
    • 27
      Practical
    • 24
      Easy to learn
    • 24
      Functional
    • 22
      Intuitive
    • 21
      Free
    • 16
      Simple
    • 15
      Lightweight
    • 15
      Easy to use
    • 5
      Modular
    • 5
      Because I can create amazing things with little effort
    • 5
      Modern look
    • 4
      Responsiveness
    • 3
      Small but Active Community
    • 2
      Convenient JS Components
    • 2
      Based on Flexbox
    • 2
      No requires jquery
    • 2
      Responsive grid
    CONS OF UIKIT
      Be the first to leave a con

      related UIkIt posts

      Daniel Hernández Alcojor
      Frontend Developer at atSistemas · | 8 upvotes · 1M views

      I'm building, from scratch, a webapp. It's going to be a dashboard to check on our apps in New Relic and update the Apdex from the webapp. I have just chosen Next.js as our framework because we use React already, and after going through the tutorial, I just loved the latest changes they have implemented.

      But we have to decide on a CSS framework for the UI. I'm partial to Bulma because I love that it's all about CSS (and you can use SCSS from the start), that it's rather lightweight and that it doesn't come with JavaScript clutter. One of the things I hate about Bootstrap is that you depend on jQuery to use the JavaScript part. My boss loves UIkIt, but when I've used it in the past, I didn't like it.

      What do you think we should use? Maybe you have another suggestion?

      See more
      React Native logo

      React Native

      33.6K
      29K
      1.2K
      A framework for building native apps with React
      33.6K
      29K
      + 1
      1.2K
      PROS OF REACT NATIVE
      • 214
        Learn once write everywhere
      • 174
        Cross platform
      • 169
        Javascript
      • 122
        Native ios components
      • 69
        Built by facebook
      • 66
        Easy to learn
      • 46
        Bridges me into ios development
      • 40
        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

      Collins Ogbuzuru
      Front-end dev at Evolve credit · | 38 upvotes · 262.3K views

      Your tech stack is solid for building a real-time messaging project.

      React and React Native are excellent choices for the frontend, especially if you want to have both web and mobile versions of your application share code.

      ExpressJS is an unopinionated framework that affords you the flexibility to use it's features at your term, which is a good start. However, I would recommend you explore Sails.js as well. Sails.js is built on top of Express.js and it provides additional features out of the box, especially the Websocket integration that your project requires.

      Don't forget to set up Graphql codegen, this would improve your dev experience (Add Typescript, if you can too).

      I don't know much about databases but you might want to consider using NO-SQL. I used Firebase real-time db and aws dynamo db on a few of my personal projects and I love they're easy to work with and offer more flexibility for a chat application.

      See more
      Vaibhav Taunk
      Team Lead at Technovert · | 31 upvotes · 4.2M 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
      Flutter logo

      Flutter

      16.9K
      16.4K
      1.2K
      Cross-platform mobile framework from Google
      16.9K
      16.4K
      + 1
      1.2K
      PROS OF FLUTTER
      • 143
        Hot Reload
      • 123
        Cross platform
      • 105
        Performance
      • 89
        Backed by Google
      • 73
        Compiled into Native Code
      • 61
        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
        Target to Android
      • 12
        Good docs & sample code
      • 12
        Community
      • 11
        Support by multiple IDE: Android Studio, VS Code, XCode
      • 10
        Written by Dart, which is easy to read code
      • 10
        Easy Testing Support
      • 9
        Target to iOS
      • 9
        Real platform free framework of the future
      • 9
        Have built-in Cupertino theme
      • 8
        Easy to Widget Test
      • 8
        Easy to Unit Test
      • 1
        Large Community
      CONS OF FLUTTER
      • 29
        Need to learn Dart
      • 11
        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 · 4.2M 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
      jQuery Mobile logo

      jQuery Mobile

      1.5K
      304
      0
      Touch-Optimized Web Framework for Smartphones & Tablets
      1.5K
      304
      + 1
      0
      PROS OF JQUERY MOBILE
        Be the first to leave a pro
        CONS OF JQUERY MOBILE
          Be the first to leave a con

          related jQuery Mobile posts

          Ganesa Vijayakumar
          Full Stack Coder | Technical Architect · | 19 upvotes · 5.5M views

          I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

          I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

          As per my work experience and knowledge, I have chosen the followings stacks to this mission.

          UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

          Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

          Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

          Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

          Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

          Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

          Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

          Happy Coding! Suggestions are welcome! :)

          Thanks, Ganesa

          See more
          React Navigation logo

          React Navigation

          1.1K
          345
          1
          Flexible navigation library for React Native and web. Learn once, navigate anywhere.
          1.1K
          345
          + 1
          1
          PROS OF REACT NAVIGATION
          • 1
            Easy to use
          CONS OF REACT NAVIGATION
            Be the first to leave a con

            related React Navigation posts