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.
546
522
+ 1
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 Native Paper
    React Native Paper

    Material design for React Native.

SwiftUI alternatives & related posts

React logo

React

168K
138.9K
4.1K
A JavaScript library for building user interfaces
168K
138.9K
+ 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.1K
1.3K
An innovative new programming language for Cocoa and Cocoa Touch.
19.8K
13.1K
+ 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 · 740K 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
Cocoa (OS X) logo

Cocoa (OS X)

37
52
6
The Cocoa frameworks consist of libraries, APIs, and runtimes that form the development layer for all of OS...
37
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

    786
    413
    262
    A lightweight and modular front-end framework for developing fast and powerful web interfaces
    786
    413
    + 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 · 996.4K 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

      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
      Flutter logo

      Flutter

      16.2K
      15.8K
      1.2K
      Cross-platform mobile framework from Google
      16.2K
      15.8K
      + 1
      1.2K
      PROS OF FLUTTER
      • 141
        Hot Reload
      • 120
        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 · 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

      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 Lead · | 19 upvotes · 4.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 Native Paper logo

          React Native Paper

          58
          109
          0
          Material Design for React Native (Android & iOS)
          58
          109
          + 1
          0
          PROS OF REACT NATIVE PAPER
            Be the first to leave a pro
            CONS OF REACT NATIVE PAPER
              Be the first to leave a con

              related React Native Paper posts