Drupal 8 for mobile native app

Events happening in the community are now at Drupal community events on www.drupal.org.
mossy2100's picture

Hey guys

I would love to know any thought on developing native apps "powered by Drupal" (TM).

I have plenty of experience developing responsive websites which work great on a phone. However, for this new project the phone app should:

(a) appear in the app store/Google Play
(b) be able to take photos

I'm going to develop using D8 even though it's not quite ready yet (not long now, though!)

Can anyone advise, what would be the best technology for developing a cross-platform (iOS/Android/Windows Phone) native app which is connected to a D8 website? Should I be looking at Titanium, or PhoneGap? Do I need to learn Objective-C?

Thanks
Mossy

Comments

Mobile app resources

vladimiraus's picture

There are two types of app you can look it: native (written in native language) or wrappers (written in another language and usually compiled down to HTML wrapped to be embedded into some minor native code).

TO make application more responsive, you would need to build it native, i.e. Objective-C (or Swift) for iOS or Java for Android.

I would recommend to read those articles:
- http://www.infoworld.com/article/2920333/mobile-development/swift-vs-obj...
- https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebui...

To learn both technologies, I found those courses are pretty good:
- https://www.coursera.org/course/androidpart1 (FREE)
- http://bitfountain.io/courses/complete-ios8

Whatever people say, things like PhoneGap, ReactJS and ionic won't make your development faster. YOU WON'T SAVE ANY TIME by building your application in HTML, because the time you would usually spend on learning new language and native API you will instead spend on tweaking CSS and trying to make it look as native as possible. Saying that you still can get pretty decent result with creating HTML app. Adobe are big on this front and have some funky experience to share. Technologies to have a look:
- https://cordova.apache.org/
- http://phonegap.com/ (Adobe's version of Cordova, comes with build service [if you have adobe CC license])
- http://ionicframework.com/
- https://facebook.github.io/react/
- https://jquerymobile.com/

Courses/tuts to look at:
- http://www.lynda.com/AngularJS-tutorials/Building-Mobile-App-AngularJS-I...
- http://www.lynda.com/Nodejs-tutorials/Building-Mobile-Apps-PhoneGap-Comm...
- https://scotch.io/tutorials/make-a-mobile-app-with-reactjs-in-30-minutes
- http://www.lynda.com/jQuery-Mobile-tutorials/jQuery-Mobile-Web-Applicati...

Keep in mind that Apple and Microsoft will charge to be on their appstores (usually around $100/year), so you need to budget that correctly as well.
Also let me know if you 'll find additional resources that will help you in you endeavor

One last thing, Drupal 8 CORS issue might also stop you from being able to reach Drupal from your application.
Read this: https://groups.drupal.org/node/444998

thanks

mossy2100's picture

Thanks, Vladimir - great help! :D

native vs hybrid

Siani Traynor's picture

If you wanted an alternative to native where you can still use your responsive design skills and you know any .Net have a look at Xamarin Forms and web view controls, the problem with that approach is not being open source, keeping size down due to the native layer and cost. Cross platform though, at least Android and IOS.

You could also look into Drupal web services and have your cordova / phone gap app receive Drupal supplied content by attaching to the services.

hybrid app development

developmenticon's picture

If you wanted to develop hybrid app and drupal as a back-end then i would suggest using AngularJS, Ionic, Cordova and PhoneGap which is i think best solution and Web services is the part of Drupal 8 core with the following modules.

  1. RESTful Web Services
  2. Serialization
  3. Hypertext Application Language
  4. HTTP Basic Authentication

I am suggesting this because i have developed app using this.

for more information you can goto http://www.developmenticon.com

AngularJS or Backbone.js

marykabbrown's picture

Yes we suggest to go for AngularJS or Backbone.JS

You need basically a good MV* architecture.

AngualrJS Training

Australia

Group categories

Location

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: