Want to have superpowers of React Native without knowing all the React, Flux, Redux, Webpack? Here you go. Feel free to use HTML/CSS which you know so good and VanillaJS to develop completely native applications for mobile platforms. Also could be used with any JS framework.
<style>
body {
margin: 20px;
}
#icon {
display: inline-block;
margin-bottom: 20px;
}
#submit-input {
width: 100%;
}
button {
margin-bottom: 10px;
width: 100%;
}
</style>
<body>
<img is="native-image" width="256" height="256" id="icon" src="img/lenna.png"></img>
<input is="native-input" id="submit-input" value="Hello world!"></input>
<button is="native-button" onclick="alert(document.getElementById('submit-input').value);">Alert input value</button>
</body>
Will result in app looking in the same way in browser and on mobile device or emulator but the difference is that in browser all controls are web and on mobile UI is native which leads to higher user satisfaction without additional job done.
Currently mobile devices are powerful enough to run mobile web applications at 60 FPS however controls behavior (buttons, sliders, form elements) is different between web and native platforms. Experienced user notice this difference immediately which results in lower user satisfaction for web based apps because they got used to consistent UI behavior on mobile platform of their choice. Creating native facades for web components results in better user experience without additional effort or knowledge needed.
Installing via NPM
npm install polymer-native -g
Initializing new project
polymer-native init MyTestProject
Running project on iOS
Open project in x-code and run it with cmd+r
Fork, clone and run npm install
in project folder.
Run gulp
to start continous build with watchers which will run build every time you edit project files.
Test by opening ./partials/www/index.html
in browser.
After changes are made create PR into original repository.
Copyright 2016 Denis Radin aka PixelsCommander