All Projects → bencompton → Framework7 React

bencompton / Framework7 React

Licence: apache-2.0
Build full featured iOS & Android apps using Framework7 & React

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Framework7 React

Framework7 Vue
Deprecated! Build full featured iOS & Android apps using Framework7 & Vue
Stars: ✭ 682 (+424.62%)
Mutual labels:  framework7, material-design, mobile
Jfoenix
JavaFX Material Design Library
Stars: ✭ 5,720 (+4300%)
Mutual labels:  material-design, mobile
Framework7 Template Vue Webpack
Deprecated! Framework7 Vue Webpack starter app template with hot-reload & css extraction
Stars: ✭ 399 (+206.92%)
Mutual labels:  framework7, mobile
Framework7 Plugin 3d Panels
Framework7 plugin to add 3d effect for side panels
Stars: ✭ 56 (-56.92%)
Mutual labels:  framework7, mobile
Bottomsheet
BottomSheet dialog library for Android
Stars: ✭ 219 (+68.46%)
Mutual labels:  material-design, mobile
Framework7
Full featured HTML framework for building iOS & Android apps
Stars: ✭ 16,560 (+12638.46%)
Mutual labels:  material-design, mobile
Awesome Flutter
An awesome list that curates the best Flutter libraries, tools, tutorials, articles and more.
Stars: ✭ 38,582 (+29578.46%)
Mutual labels:  material-design, mobile
Flutter
Flutter makes it easy and fast to build beautiful apps for mobile and beyond
Stars: ✭ 133,413 (+102525.38%)
Mutual labels:  material-design, mobile
Framework7 Template Vue Simple
Deprecated! Simple Framework7 Vue starter app template in a single HTML file
Stars: ✭ 81 (-37.69%)
Mutual labels:  framework7, mobile
Flutter Mvvm Provider Demo
Stars: ✭ 89 (-31.54%)
Mutual labels:  material-design, mobile
Ionic Framework
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
Stars: ✭ 45,802 (+35132.31%)
Mutual labels:  material-design, mobile
Gwt Polymer Elements
Polymer Web Components for GWT. A collection of Material Design widgets for desktop and mobile.
Stars: ✭ 153 (+17.69%)
Mutual labels:  material-design, mobile
Dom7
Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
Stars: ✭ 119 (-8.46%)
Mutual labels:  framework7, mobile
Framework7 Cli
Framework7 command line utility
Stars: ✭ 76 (-41.54%)
Mutual labels:  framework7, mobile
Vuetify Swipeout
👆 A swipe out example built with Vue CLI 3 + Vuetify + Swiper.
Stars: ✭ 117 (-10%)
Mutual labels:  material-design, mobile
Flutter app sample
flutter app sample
Stars: ✭ 120 (-7.69%)
Mutual labels:  material-design, mobile
Nativescript Geolocation
Geolocation plugin to use for getting current location, monitor movement, etc
Stars: ✭ 127 (-2.31%)
Mutual labels:  mobile
Vue Quick Loadmore
A pull-down refresh and pull-up infinite scroll component for Vue.js.--vue移动端下拉刷新上拉无限滚动加载插件,支持更换加载图片,保存和设置滚动距离等。
Stars: ✭ 129 (-0.77%)
Mutual labels:  mobile
Photonoter
📓Material Design风格的开源照片笔记。(MVP+Dagger2+RxJava+AspectJ+Dex处理)
Stars: ✭ 1,592 (+1124.62%)
Mutual labels:  material-design
Vectoriconsroundup
A comparison between popular vectorial icon fonts
Stars: ✭ 126 (-3.08%)
Mutual labels:  material-design

Framework7 React

Framework7 is a JavaScript framework for building iOS and Material web and hybrid apps that accurately recreate the look and feel of native apps. Framework7 React brings the attention to detail, ease of use, and great features of Framework7 to React. To see it in action, have a look at the kitchen sink.

Update

The Framework7 community is pleased to announce that this repository has been deprecated in favor of Framework7 v3, which now directly supports React by taking a cross-framework compilation approach to compile a common set of components to both React and Vue. All future React versions of Framework7 will continue to be published to the framework7-react NPM package, but the source code will now live in the Framework7 repository instead of this repository.

To get started with v3, check out the docs and also check out the new React starter template.

Getting started

Docs

Documentation available at http://framework7.io/react/

Kitchen Sink

Ensure that gulp is installed globally, then run the following:

To build the framework itself:

yarn install
gulp

To build the kitchen sink:

cd kitchen-sink
yarn install
gulp

Here's a shortcut for building both after the above two steps have already been completed at least once:

npm run build

Once the framework and kitchen sink are built, run the kitchen sink by launching kitchen-sink/index.html in a browser.

Usage with Redux

Firstly, as the creator of Redux points out, Redux is not a requirement for building apps with React. In turn, Redux is not a requirement for building apps with Framework7 React—it is designed to be perfectly usable either way. However, as your app grows beyond a certain level of complexity, it is definitely recommended that you consider Redux (or some other state management library like MobX). For more information about using Redux with Framework7 React, have a look at Framework7 Redux.

FAQ

Why does Framework7 React have its own router instead of just using React Router?

It turned out to be difficult to make the complex iOS page transition animation and page swipe-back functionality play nicely with React Router. While React’s abstracted DOM manipulation works well in most cases, it can actually get in the way when sophisticated animation and complex DOM manipulation are required. In many cases, it is often simpler to just use imperative DOM manipulation code and not even bother trying to coax React into performing such intricate DOM manipulation tasks. As a result, Framework7 React comes with a router that is custom-made to work in harmony with Framework7’s intricate page animation logic.

Can I use React Router with Framework7 React?

The short answer is yes, but animated page transitions will not work. It is recommended that you instead use the router that is built into Framework7 React. The router is still a work in progress, but the goal of the built-in router is to provide everything you need and leave no reason to use React Router. One important missing feature right now is support for the HTML5 History API with the browser back button and URL changes driving route changes.

Should I use React Native or Framework7 React for my project?

React Native is designed for building native apps with React, and often requires writing Objective C, Swift and Java in addition to JavaScript. On the other hand, Framework7 React is designed for building web apps and hybrid apps (with Apache Cordova, etc.) that are virtually indistinguishable from native apps. The main advantages of Framework7 React are:

  1. Ability to create mobile apps with a web development skill set (HTML, CSS, JavaScript) with no need to write Objective C, Swift or Java
  2. Apps that can run on any device with a browser, not just iOS or Android devices
  3. Option to install your app from a website or use it directly in a browser instead of installing from an app store

The main advantage of React Native is of course performance. Framework7 React is very fast, and is a great option in a lot of cases. However, there is no denying that native apps can have superior rendering performance, which is even more noticeable on older, slower devices. If your app has complex screens that must squeeze every last ounce of performance out of every device, but you still want to use React, then it is possible that React Native is a better fit for your project.

Why should I use Framework7 React instead of React library XYZ?

The main motivation for creating Framework7 React was the lack of React libraries that convincingly recreate the look and feel of iOS and Material in pixel-perfect detail with realistic animations, gestures, etc. If you want the benefits of a web app without having your app look like a web app, then Framework7 React might be a good choice for your project.

I would like to contribute an enhancement or fix to a component, but I don’t see the React component in the code. What gives?

Given that Vue 2.0 and React are incredibly similar, it was decided that Framework7 React would automatically generate its React components from Framework7 Vue’s components. This makes it super easy to keep the two frameworks in sync and ensure that React and Vue users both get access to the same capabilities. In a nutshell, Vue components have render methods just like React components do, and just like in React, Vue component render methods call a createElement function and return the created elements for the framework to mount in the DOM and reactively update. Therefore, it is relatively simple to leverage the rendering logic in Vue components by substituting React’s createElement function for Vue’s createElement function. That is the basic principle at least. In practice, there is a bit more to it than that. It works surprisingly well, though, and many hours of testing have shown that rendering performance in Framework7 React is more or less equivalent to Framework7 Vue.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].