Building a hybrid app, where to start?
I know this is an "open" question, but I just don't know where to start. Let me first tell you a little of my experience / background so that you know the level I am at:
- Create cd-roms with Lingo in those days
- Started web / front-end development in the HTML3.2 era, and stopped when XHTML was hot.
- Worked from Javascript 1.2 to 1.6 and later started working with JQuery
- ActionScript up to 2.0, creating websites and games
- Developed a little PHP / mySQL. Creating custom CMS and later versions of Drupal module.
- It was all during internships or as a freelancer, ever imaginable with books and such
So now I am sticking to this idea to create an application. I decided that it should be a hybrid app, as my target audience is very small, but 60% is iOS and I don't want to leave Android. I am also familiar with HTML5 / CSS3 and started working with components for my application. The main concept behind the app is that it is a layer on top of Google's functionality: profile, calendar, circles, and hangouts. Users (eventually, I hope) will be able to create events for other users in rsvp, they can add each other as buddies and chat about events. A small step of functionality is wise, but a huge step for me :)
I'm going to use the Android version of Crosswalk to face the biggest challenges around mashup development.
I've been reading the last months in preparation, and the more I read, the less I know. Here's where I think I should know more about:
- Node.js
- Gulp.js
- Edit the work environment (I used to work at Homesite, later Dreamweaver - didn't laugh)
- Packaging tools, etc.
- Crosswalk project
Now I'm not looking for some kind of drag and drop package to build an app in 3 days. I don't want to take the easy route per se, I don't mind a little learning curve. I am running on a Win8 machine, I know this is not optimal but I cannot change it.
Now where do I start? I thought about NPM myself, but you guys might think differently. Any good books on what you think I need to learn to get me going?
Thanx for advice!
source to share
I can share my experience with Cordova.
I work as a full stack developer and I am expert enough to build a responsive website, so a natural step towards a mobile developer was to try Cordova.
First, you can start creating a fully responsive HTML document and try it out as a webpage on your target devices. The cool content targeting mobile is that you can use the new CSS3 directive without worrying about legacy browser compatibility.
I first installed Cordova after this tutorial. https://ccoenraets.github.io/cordova-tutorial/create-cordova-project.html By opening the / www folder in your project, you can edit your application like a website and you can also debug the browser like a normal website ...
To improve this feature, you will find many github ready plugins to extend your own feature in the Cordova / phonegap project.
I suggest that you also create with onsen http://onsen.io/ a structure that allows you to easily use the mobile interface.
The last tip I can give you if you target Android try your apps in a virtual machine, I use Genymotion https://www.genymotion.com/ which is much faster than SD <
Good luck with your first app!
source to share
As you can imagine, there are many frameworks you can get started with.
Looking at your skills, it might be better to use a JS / HTML / css stack, but in this case, you will create a hybrid app in webview. In my opinion, the quality of web applications is acceptable, but due to its performance, it may be the best solution in some cases.
Another good alternative is react-native . This framework allows you to create your own application using javascript. React has its own markup language, very similar to html. JS code is executed on native device using the javascript engine of the embedder instead of the webview, so performance and experience can be compared to native applications.
And in the end, my alternative, a wireframe I made to write my own interface and share business logic for each platform. You can take a look at the aj-framework https://github.com/bfortunato/aj-framework
source to share