Alternatives to Create React App logo

Alternatives to Create React App

Next.js, Create React Native App, Expo, Brunch, and React Native are the most popular alternatives and competitors to Create React App.
1K
995
+ 1
4

What is Create React App and what are its top alternatives?

Create React App is a convenient tool provided by Facebook that helps developers quickly set up a new React project with all the necessary build configurations. It allows developers to focus on writing code without worrying about configuring Webpack, Babel, or other tools. Create React App comes with features such as hot reloading, code splitting, and various optimizations for production builds. However, Create React App has limitations in terms of customization, as it abstracts away many configuration options that advanced users may require.

  1. Next.js: Next.js is a popular React framework that offers server-side rendering, static site generation, and other powerful features out of the box. It provides excellent performance optimization, routing capabilities, and seamless integration with API routes. Pros include built-in SSR and SSG support, automatic code splitting, and a thriving community. Cons include a steeper learning curve compared to Create React App.
  2. Gatsby: Gatsby is a static site generator that leverages React for building fast, SEO-friendly websites. It offers features like image optimization, data sourcing from various CMSs, and a rich plugin ecosystem. Pros include blazing fast performance, GraphQL data layer, and easy deployment options. Cons include a more opinionated approach and potential limitations in complex web applications.
  3. Vue CLI: Vue CLI is the official tool for developing Vue.js applications, providing a project scaffolding structure, plugin system, and interactive GUI. It offers features like instant prototyping, zero-config setups, and out-of-the-box TypeScript support. Pros include flexible project configurations, efficient bundling options, and seamless Vue framework integration. Cons include a focus on Vue.js and limited support for React projects.
  4. Angular CLI: Angular CLI is the command-line interface for Angular applications, offering features like code generation, testing utilities, and build optimization. It provides tools for creating components, services, modules, and more with ease. Pros include strict project structure, dependency management, and advanced build options. Cons include a larger learning curve compared to Create React App and a more opinionated project setup.
  5. Parcel: Parcel is a zero-configuration bundler that supports various web technologies, including React. It offers features like automatic asset optimization, code splitting, and a fast build process. Pros include simplicity, speed, and support for multiple file types out of the box. Cons include potential limitations in customization and advanced build configurations.
  6. Webpack: Webpack is a powerful module bundler that can be tailored to suit various project requirements. It provides features like code splitting, hot module replacement, and a rich plugin system. Pros include flexibility, extensive customization options, and support for complex build workflows. Cons include a steep learning curve, configuration complexity, and potential maintenance overhead.
  7. Snowpack: Snowpack is a modern frontend build tool that focuses on speed and simplicity. It offers features like instant dev server startup, holistic caching, and first-class ESM (ECMAScript Modules) support. Pros include fast build times, lean development environment, and seamless integration with modern web technologies. Cons include a relatively new tool with evolving features and potential compatibility issues.
  8. Stencil: Stencil is a compiler for building web components that can be used with any framework or with no framework at all. It provides features like component encapsulation, JSX support, and lazy loading. Pros include cross-framework interoperability, performance optimization, and code sharing between projects. Cons include a specific focus on web components and potential limitations for traditional React projects.
  9. Vite: Vite is a next-generation frontend build tool that leverages native ES module imports for fast development. It offers features like blazing fast hot module replacement, optimized production builds, and plugin extensibility. Pros include speed, simplicity, and seamless support for modern web features. Cons include potential compatibility issues with legacy browser environments and limited project scaffolding capabilities.
  10. Rome: Rome is an all-in-one toolchain for frontend development that aims to provide a comprehensive set of tools for building modern web applications. It offers features like integrated linting, formatting, bundling, and testing tools. Pros include unified tooling experience, powerful customization options, and a forward-looking approach to web development. Cons include a relatively new and evolving tool with potential limitations in community support and ecosystem maturity.

Top Alternatives to Create React App

  • Next.js
    Next.js

    Next.js is a minimalistic framework for server-rendered React applications.

  • Create React Native App
    Create React Native App

    Create React Native App allows you to work with all of the Components and APIs in React Native, as well as most of the JavaScript APIs that the Expo App provides. ...

  • Expo
    Expo

    It is a framework and a platform for universal React applications. It is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps. ...

  • Brunch
    Brunch

    Brunch is an assembler for HTML5 applications. It's agnostic to frameworks, libraries, programming, stylesheet & templating languages and backend technology. ...

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

  • React.js Boilerplate
    React.js Boilerplate

    Quick setup for new performance orientated, offline–first React.js applications featuring Redux, hot–reloading, PostCSS, react-router, ServiceWorker, AppCache, FontFaceObserver and Mocha. ...

  • npm
    npm

    npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day. ...

  • Webpack
    Webpack

    A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows to load parts for the application on demand. Through "loaders" modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff. ...

Create React App alternatives & related posts

Next.js logo

Next.js

6.2K
4.6K
322
A small framework for server-rendered universal JavaScript apps
6.2K
4.6K
+ 1
322
PROS OF NEXT.JS
  • 49
    Automatic server rendering and code splitting
  • 43
    Built with React
  • 33
    Easy setup
  • 26
    TypeScript
  • 24
    Universal JavaScript
  • 22
    Zero setup
  • 21
    Static site generator
  • 12
    Simple deployment
  • 12
    Just JavaScript
  • 12
    Incremental static regeneration
  • 10
    Filesystem as an API
  • 10
    Frictionless development
  • 9
    Everything is a function
  • 9
    Well Documented
  • 8
    Has many examples and integrations
  • 8
    Testing
  • 7
    Isomorphic React applications
  • 4
    File based routing + hooks built in
  • 2
    Deployment
  • 1
    SEO
CONS OF NEXT.JS
  • 9
    Structure is weak compared to Angular(2+)

related Next.js posts

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
Robert Zuber

We are in the process of adopting Next.js as our React framework and using Storybook to help build our React components in isolation. This new part of our frontend is written in TypeScript, and we use Emotion for CSS/styling. For delivering data, we use GraphQL and Apollo. Jest, Percy, and Cypress are used for testing.

See more
Create React Native App logo

Create React Native App

97
205
0
Create a React Native app on any OS with no build config
97
205
+ 1
0
PROS OF CREATE REACT NATIVE APP
    Be the first to leave a pro
    CONS OF CREATE REACT NATIVE APP
      Be the first to leave a con

      related Create React Native App posts

      Expo logo

      Expo

      667
      662
      66
      Build one project that runs natively on all your users' devices
      667
      662
      + 1
      66
      PROS OF EXPO
      • 15
        Free
      • 13
        Hot Reload
      • 9
        Easy to learn
      • 9
        Common ios and android app setup
      • 6
        Open Source
      • 6
        Streamlined
      • 5
        Builds into a React Native app
      • 2
        PWA supported
      • 1
        Plugins for web use with Next.js
      CONS OF EXPO
        Be the first to leave a con

        related Expo posts

        Vishal Narkhede
        Javascript Developer at getStream.io · | 19 upvotes · 437.9K views

        Recently, the team at Stream published a React Native SDK for our new Chat by Stream product. React Native brings the power of JavaScript to the world of mobile development, making it easy to develop apps for multiple platforms. We decided to publish two different endpoints for the SDK – Expo and React Native (non-expo), to avoid the hurdle and setup of using the Expo library in React Native only projects on the consumer side.

        The capability of style customization is one a large deal breaker for frontend SDKs. To solve this, we decided to use styled-components in our SDK, which makes it easy to add support for themes on top of our existing components. This practice reduces the maintenance effort for stylings of custom components and keeps the overall codebase clean.

        For module bundling, we decided to go with Rollup.js instead of Webpack due to its simplicity and performance in the area of library/module providers. We are using Babel for transpiling code, enabling our team to use JavaScript's next-generation features. Additionally, we are using the React Styleguidist component documentation, which makes documenting the React Native code a breeze.

        See more
        Sezgi Ulucam
        Developer Advocate at Hasura · | 7 upvotes · 924K 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
        Brunch logo

        Brunch

        100
        125
        40
        Ultra-fast HTML5 build tool
        100
        125
        + 1
        40
        PROS OF BRUNCH
        • 13
          Easy and awesome
        • 9
          Ultra Fast
        • 9
          Light Configuration
        • 4
          Built-in dev server with live reload
        • 3
          Simple to use
        • 2
          Has many pre-configurable framework "skeletons"
        CONS OF BRUNCH
          Be the first to leave a con

          related Brunch 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
          React.js Boilerplate logo

          React.js Boilerplate

          399
          459
          18
          🔥 Quick setup for performance orientated, offline-first React.js apps
          399
          459
          + 1
          18
          PROS OF REACT.JS BOILERPLATE
          • 4
            Amazing developer experience
          • 4
            Nice tooling
          • 3
            Easy setup
          • 3
            Easy offline first applications
          • 3
            Great documentation
          • 1
            Fast
          CONS OF REACT.JS BOILERPLATE
            Be the first to leave a con

            related React.js Boilerplate posts

            npm logo

            npm

            121.3K
            79.1K
            1.6K
            The package manager for JavaScript.
            121.3K
            79.1K
            + 1
            1.6K
            PROS OF NPM
            • 647
              Best package management system for javascript
            • 382
              Open-source
            • 327
              Great community
            • 148
              More packages than rubygems, pypi, or packagist
            • 112
              Nice people matter
            • 6
              As fast as yarn but really free of facebook
            • 6
              Audit feature
            • 4
              Good following
            • 1
              Super fast
            • 1
              Stability
            CONS OF NPM
            • 5
              Problems with lockfiles
            • 5
              Bad at package versioning and being deterministic
            • 3
              Node-gyp takes forever
            • 1
              Super slow

            related npm posts

            Simon Reymann
            Senior Fullstack Developer at QUANTUSflow Software GmbH · | 27 upvotes · 4.7M views

            Our whole Node.js backend stack consists of the following tools:

            • Lerna as a tool for multi package and multi repository management
            • npm as package manager
            • NestJS as Node.js framework
            • TypeScript as programming language
            • ExpressJS as web server
            • Swagger UI for visualizing and interacting with the API’s resources
            • Postman as a tool for API development
            • TypeORM as object relational mapping layer
            • JSON Web Token for access token management

            The main reason we have chosen Node.js over PHP is related to the following artifacts:

            • Made for the web and widely in use: Node.js is a software platform for developing server-side network services. Well-known projects that rely on Node.js include the blogging software Ghost, the project management tool Trello and the operating system WebOS. Node.js requires the JavaScript runtime environment V8, which was specially developed by Google for the popular Chrome browser. This guarantees a very resource-saving architecture, which qualifies Node.js especially for the operation of a web server. Ryan Dahl, the developer of Node.js, released the first stable version on May 27, 2009. He developed Node.js out of dissatisfaction with the possibilities that JavaScript offered at the time. The basic functionality of Node.js has been mapped with JavaScript since the first version, which can be expanded with a large number of different modules. The current package managers (npm or Yarn) for Node.js know more than 1,000,000 of these modules.
            • Fast server-side solutions: Node.js adopts the JavaScript "event-loop" to create non-blocking I/O applications that conveniently serve simultaneous events. With the standard available asynchronous processing within JavaScript/TypeScript, highly scalable, server-side solutions can be realized. The efficient use of the CPU and the RAM is maximized and more simultaneous requests can be processed than with conventional multi-thread servers.
            • A language along the entire stack: Widely used frameworks such as React or AngularJS or Vue.js, which we prefer, are written in JavaScript/TypeScript. If Node.js is now used on the server side, you can use all the advantages of a uniform script language throughout the entire application development. The same language in the back- and frontend simplifies the maintenance of the application and also the coordination within the development team.
            • Flexibility: Node.js sets very few strict dependencies, rules and guidelines and thus grants a high degree of flexibility in application development. There are no strict conventions so that the appropriate architecture, design structures, modules and features can be freely selected for the development.
            See more
            Johnny Bell

            So when starting a new project you generally have your go to tools to get your site up and running locally, and some scripts to build out a production version of your site. Create React App is great for that, however for my projects I feel as though there is to much bloat in Create React App and if I use it, then I'm tied to React, which I love but if I want to switch it up to Vue or something I want that flexibility.

            So to start everything up and running I clone my personal Webpack boilerplate - This is still in Webpack 3, and does need some updating but gets the job done for now. So given the name of the repo you may have guessed that yes I am using Webpack as my bundler I use Webpack because it is so powerful, and even though it has a steep learning curve once you get it, its amazing.

            The next thing I do is make sure my machine has Node.js configured and the right version installed then run Yarn. I decided to use Yarn because when I was building out this project npm had some shortcomings such as no .lock file. I could probably move from Yarn to npm but I don't really see any point really.

            I use Babel to transpile all of my #ES6 to #ES5 so the browser can read it, I love Babel and to be honest haven't looked up any other transpilers because Babel is amazing.

            Finally when developing I have Prettier setup to make sure all my code is clean and uniform across all my JS files, and ESLint to make sure I catch any errors or code that could be optimized.

            I'm really happy with this stack for my local env setup, and I'll probably stick with it for a while.

            See more
            Webpack logo

            Webpack

            39.9K
            27K
            752
            A bundler for javascript and friends
            39.9K
            27K
            + 1
            752
            PROS OF WEBPACK
            • 309
              Most powerful bundler
            • 182
              Built-in dev server with livereload
            • 142
              Can handle all types of assets
            • 87
              Easy configuration
            • 22
              Laravel-mix
            • 4
              Overengineered, Underdeveloped
            • 2
              Makes it easy to bundle static assets
            • 2
              Webpack-Encore
            • 1
              Redundant
            • 1
              Better support in Browser Dev-Tools
            CONS OF WEBPACK
            • 15
              Hard to configure
            • 5
              No clear direction
            • 2
              Spaghetti-Code out of the box
            • 2
              SystemJS integration is quite lackluster
            • 2
              Loader architecture is quite a mess (unreliable/buggy)
            • 2
              Fire and Forget mentality of Core-Developers

            related Webpack posts

            Jonathan Pugh
            Software Engineer / Project Manager / Technical Architect · | 25 upvotes · 2.9M views

            I needed to choose a full stack of tools for cross platform mobile application design & development. After much research and trying different tools, these are what I came up with that work for me today:

            For the client coding I chose Framework7 because of its performance, easy learning curve, and very well designed, beautiful UI widgets. I think it's perfect for solo development or small teams. I didn't like React Native. It felt heavy to me and rigid. Framework7 allows the use of #CSS3, which I think is the best technology to come out of the #WWW movement. No other tech has been able to allow designers and developers to develop such flexible, high performance, customisable user interface elements that are highly responsive and hardware accelerated before. Now #CSS3 includes variables and flexboxes it is truly a powerful language and there is no longer a need for preprocessors such as #SCSS / #Sass / #less. React Native contains a very limited interpretation of #CSS3 which I found very frustrating after using #CSS3 for some years already and knowing its powerful features. The other very nice feature of Framework7 is that you can even build for the browser if you want your app to be available for desktop web browsers. The latest release also includes the ability to build for #Electron so you can have MacOS, Windows and Linux desktop apps. This is not possible with React Native yet.

            Framework7 runs on top of Apache Cordova. Cordova and webviews have been slated as being slow in the past. Having a game developer background I found the tweeks to make it run as smooth as silk. One of those tweeks is to use WKWebView. Another important one was using srcset on images.

            I use #Template7 for the for the templating system which is a no-nonsense mobile-centric #HandleBars style extensible templating system. It's easy to write custom helpers for, is fast and has a small footprint. I'm not forced into a new paradigm or learning some new syntax. It operates with standard JavaScript, HTML5 and CSS 3. It's written by the developer of Framework7 and so dovetails with it as expected.

            I configured TypeScript to work with the latest version of Framework7. I consider TypeScript to be one of the best creations to come out of Microsoft in some time. They must have an amazing team working on it. It's very powerful and flexible. It helps you catch a lot of bugs and also provides code completion in supporting IDEs. So for my IDE I use Visual Studio Code which is a blazingly fast and silky smooth editor that integrates seamlessly with TypeScript for the ultimate type checking setup (both products are produced by Microsoft).

            I use Webpack and Babel to compile the JavaScript. TypeScript can compile to JavaScript directly but Babel offers a few more options and polyfills so you can use the latest (and even prerelease) JavaScript features today and compile to be backwards compatible with virtually any browser. My favorite recent addition is "optional chaining" which greatly simplifies and increases readability of a number of sections of my code dealing with getting and setting data in nested objects.

            I use some Ruby scripts to process images with ImageMagick and pngquant to optimise for size and even auto insert responsive image code into the HTML5. Ruby is the ultimate cross platform scripting language. Even as your scripts become large, Ruby allows you to refactor your code easily and make it Object Oriented if necessary. I find it the quickest and easiest way to maintain certain aspects of my build process.

            For the user interface design and prototyping I use Figma. Figma has an almost identical user interface to #Sketch but has the added advantage of being cross platform (MacOS and Windows). Its real-time collaboration features are outstanding and I use them a often as I work mostly on remote projects. Clients can collaborate in real-time and see changes I make as I make them. The clickable prototyping features in Figma are also very well designed and mean I can send clickable prototypes to clients to try user interface updates as they are made and get immediate feedback. I'm currently also evaluating the latest version of #AdobeXD as an alternative to Figma as it has the very cool auto-animate feature. It doesn't have real-time collaboration yet, but I heard it is proposed for 2019.

            For the UI icons I use Font Awesome Pro. They have the largest selection and best looking icons you can find on the internet with several variations in styles so you can find most of the icons you want for standard projects.

            For the backend I was using the #GraphCool Framework. As I later found out, #GraphQL still has some way to go in order to provide the full power of a mature graph query language so later in my project I ripped out #GraphCool and replaced it with CouchDB and Pouchdb. Primarily so I could provide good offline app support. CouchDB with Pouchdb is very flexible and efficient combination and overcomes some of the restrictions I found in #GraphQL and hence #GraphCool also. The most impressive and important feature of CouchDB is its replication. You can configure it in various ways for backups, fault tolerance, caching or conditional merging of databases. CouchDB and Pouchdb even supports storing, retrieving and serving binary or image data or other mime types. This removes a level of complexity usually present in database implementations where binary or image data is usually referenced through an #HTML5 link. With CouchDB and Pouchdb apps can operate offline and sync later, very efficiently, when the network connection is good.

            I use PhoneGap when testing the app. It auto-reloads your app when its code is changed and you can also install it on Android phones to preview your app instantly. iOS is a bit more tricky cause of Apple's policies so it's not available on the App Store, but you can build it and install it yourself to your device.

            So that's my latest mobile stack. What tools do you use? Have you tried these ones?

            See more
            Simon Reymann
            Senior Fullstack Developer at QUANTUSflow Software GmbH · | 23 upvotes · 4.7M views

            Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

            • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
            • Vue Styleguidist as our style guide and pool of developed Vue.js components
            • Vuetify as Material Component Framework (for fast app development)
            • TypeScript as programming language
            • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
            • ESLint, TSLint and Prettier for coding style and code analyzes
            • Jest as testing framework
            • Google Fonts and Font Awesome for typography and icon toolkit
            • NativeScript-Vue for mobile development

            The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:

            • Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
            • Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
            • Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
            • Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
            • Large scaling. Vue.js can help to develop pretty large reusable templates.
            • Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
            See more