When comparing React Native vs Polymer, the Slant community recommends React Native for most people. In the question“What are the best frameworks for developing cross-platform mobile apps with JavaScript?” React Native is ranked 2nd while Polymer is ranked 11th. The most important reason people chose React Native is:
React Native allows you to create native apps by generating native views with JavaScript instead of using a web wrapper.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Allows you to develop native apps
React Native allows you to create native apps by generating native views with JavaScript instead of using a web wrapper.
Pro Large, supportive community
Despite being such a young framework (early 2015), the support for React Native grew quickly. There is a forum, active tag on Stackoverflow and many other ways to get help from the community.
Pro Backed by Facebook
Facebook writes their mobile apps in React Native so the code base gets pretty thoroughly used in some highly demanding scenarios.
Pro More predictable control of the state
The one way data flow, makes it more predictable and easy to control.
Pro Various basic components
It provides a base component.
Pro HTML markup is not string
HTML markup as it can be a non-string.
Pro Flex layout components
It provides Flex layout components.
Pro CSS is easy to apply
CSS can be applied far more comfortably than React.
Pro No need for special debugging tools
The presence od specialized debugging tools are advertised by competitors. The all features of web components are natively supported by browser embedded development tools.
Pro Excellent routing
The router is embedded into CLI for project creation and covers as web as Progressive web app, also fused with Polymer layouts out of the box. The shop template for CLI has a complete solution including the routing.
Pro Complete web app stack support
Full app stack from data tier to routing, progressive web app, responsive layouts makes no need to seek outside of Polymer ecosystem for application features.
In addition to waste set of mature web components in Polymer Elements along with Vaadin Elements there are thousands of web components in the wild comparable to jQuery plugins set.
Pro Excellent documentation
Polymer guides you as with tools (cli, build environment, app templates,..) as with complimentary documentation on all phases of app development from creation of app as progresive web app to production deployment instructions.
As Polymer is standards based, the whole community around those standards also helping in documentation and support.
Pro Based on web components
Web Components are a collection of specifications released by W3C as a way to reduce the complexity of web apps by creating reusable components. Browser support is currently poor for web components, however Polymer is developed to make web components compatible with modern browsers.
Pro API is easy to understand, based on standard
The Polymer APIs are split on application layers and follow standards on all possible ways: Web Components, CSS variables, async API via Promises and so on.
Cons
Con If core team doesn't use a certain feature, it's not developed
Whenever there's functionality you need that they don't use in their apps, it's not going to get developed by them, even if it's obvious it should be in the core. They always say to either submit a PR or create a separate module.
Con Steep learning curve
React Native is not the most beginner-friendly framework for creating mobile apps with JavaScript. It requires that the developer know React, which is known to have a steep learning curve.
Con Many existing JS libraries are not usable on React Native; not exactly a 1-to-1 experience to writing React either
Example: Library that provides a full calendar with agenda view.
In the end it's much easier to develop in actual JavaScript with a solution such as Ionic, especially if your app needs to work well on the desktop.
Con React native only supports react which is getting old
React native is only based on react which is getting old. An old tech developer can't take much breaking changes so it gets more patchs. There is a limit, and react is too verbose and complex. better alternatives available today.
Con No server-side rendering
Polymer does not support server-side rendering. This results in higher loading times, more HTTP requests and it's not very SEO friendly, since search engines have no way of indexing a page if it's not rendered in the server.