SumitK's mobile app dev using drupal as base ststem
Upcoming SlideShare
Loading in...5
×
 

SumitK's mobile app dev using drupal as base ststem

on

  • 2,510 views

 

Statistics

Views

Total Views
2,510
Views on SlideShare
2,507
Embed Views
3

Actions

Likes
3
Downloads
17
Comments
0

2 Embeds 3

http://www.linkedin.com 2
http://c4china.mobi 1

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

SumitK's mobile app dev using drupal as base ststem Presentation Transcript

  • 1. Mobile App Dev. UsingDrupal As Base Syetem Sumit Kataria (sumitk) 26. aug 10:00 VPS.NET
  • 2. About Me Sumit KatariaFreelancer & Engineer at CivicActions sumitk@sumitk.nethttp://twitter.com/sumitk IRC: sumitk
  • 3. Overview
  • 4. But Why Build For Mobile?
  • 5. More than 41 million iPhones soldto date Android now runs on more than64 mobile devices 60,000 Android devices&100,000 more iPhones sold eachday! 40% of all Internet traffic will beby Mobile in 2013
  • 6. But Isn’t MobileDevelopment Expensive?
  • 7. “Most apps take at least six months of full-time work and cost between $20,000 and $150,000 to develop.” - Forrester Research
  • 8. Other Questions Come ....★Which platforms do you choose?★How many codebases do you want to (or even can you) support?★How long will it take to build native on N platforms?★How much effort will be duplicated?★What if you bet on the wrong platform?★Who writes the code? Hire out? Retrain/ retool yourself or your devs?
  • 9. The Web Is An Option...★...and should be preferred when feasible★Mobile browsers are progressing fast and converging around WebKit★But there are limitations★Native apps are inherently more capable than web apps
  • 10. What to Do Then..?
  • 11. You can Look ForNew Better Tools....
  • 12. We Choose Titanium ...
  • 13. Who Uses Titanium?★NBC Universal★PayPal★MTV★Anheuser-Busch★Computer Sciences Corporation★Intridea (Oil Reporter)★100s of Titanium apps hitting the stores each month (should soon eclipse 1000/month)
  • 14. What is Titanium?Titanium is an open sourceframework for building nativemobile (or desktop) applicationsusing open web technologies(JavaScript - optionally HTML andCSS)
  • 15. More .. Open Source - Apache 2.0 License Build Native Apps - 9.x+ Very Fast in Performance Modular Approach to AddFunctionality Lot of APIs Available and Ready to Us Support and Partner ProgramsAvailable
  • 16. ★Titanium Mobile is Free(as in Beer)★Userscan pay for additional support.★You can get your App out in development time of 2-3 weeks with 1-2 developers.
  • 17. Platforms
  • 18. Why Use Drupal to Manage Your Mobile Application Data?
  • 19. What is Drupal?Drupal is a Free and Open Source Content Management System that allows users toeasily publish, manage and organize a wide variety of content on a website.
  • 20. It is the most reliable CMS in theworld Manages all your data and content ... meta data and users... ... search needs and geo-data... All in a very reliable way And besides...
  • 21. You are already using it ....
  • 22. What You’ll Be Programming Javascript Titanium API WebViews HTML 5 CSS 3
  • 23. How Do You Use Drupal to Manage Your Mobile Applications Data?
  • 24. Services APIEnables Drupal to act as a webservice toaccept and send data in a secure way. http://drupal.org/project/services
  • 25. Services API Consists of 3 Parts Services Servers Authentication Layer
  • 26. ServicesServices are methods intended forconsumption by remote applications. e.g. user.get user.save node.get node.save views.get etc.
  • 27. Servers Servers are ways in which a Service could be called from remote site.e.g. xmlrpc (ships with Services core), json, jsonrpc, rest etc.
  • 28. Authentication Methods★ Keys (Services core)★ OAuth
  • 29. Titanium Architecture
  • 30. Titanium FeaturesNative UI Rich Media APIsReal native tables, tabs, sliders, Local and streaming audio andand views video, media recordingLocation APIs Open Source and ExtensibleNative Maps, Compass, and Extend Titanium with customGeolocation modules in native codeLocal and Remote Data Integrated AnalyticsLocal SQL Database, Lightweight Baked-in analytics APIs toKey/Value Store, XHR measure results and behaviorSocial APIs Development ToolsIntegrated Facebook Connect Develop and distribute your appand YQL for multiple platforms from a single tool
  • 31. Modular ApproachCustom Modules - Obj-C & Java
  • 32. What Titanium Mobile is not:★ Not a native wrapper around a web view (PhoneGap being an example of this approach)★ However, you do have a web view component for HTML/CSS UI if that is your preference★ Your JavaScript code is invoking native APIs for UI and other native functions
  • 33. How to Get Started.. Install iPhone SDK (Mac OS only) Install Titanium Developer (Mac WinLinux) Create account on Titanium Developer Download and install Services andjson_server modules from drupal.org More help:http://civicactions.com/blog/sumit
  • 34. Data, Users Services APIDrupal TI Network API Titanium Framework
  • 35. Make a Drupal view.get Service Call
  • 36. Example
  • 37. Example
  • 38. Example
  • 39. Titanium Developer★ Manage and run Titanium applications★ Package applications for distribution★ Run on a device for testing★ Manage Appcelerator account
  • 40. Questions so far ...
  • 41. Titanium Fundamentals• A Titanium application is a JavaScript program that is interpreted at runtime on the device• app.js defines the root execution context of the app• Note that we are not running in a browser• It use the WebKit KJS JavaScript engine (iOS) or Rhino (Android/BB)
  • 42. Titanium JavaScript API★ Organized into logical namespaces★ “Titanium” (or just “Ti” for short) is the root namespace for all Titanium functionality★ A few other odds and ends in the global space ★ setTimeout/setInterval ★ alert ★ JSON
  • 43. Cross-Platform Development★ Not all UI is available across platforms★ Titanium != “Write Once, Run Everywhere”★ It tries to enable native apps that look and feel like they were created in Objective-C or Java★ Also note that even cross-platform UI components (like table views) will render differently cross platform★ Cross Platform testing is critical during dev cycle
  • 44. But wait, there’s more!★ Animation APIs★ Social Networks★ Custom Module Development★ iPad Development★ HTML 5 and CSS 3★ Explore Desktop!!!
  • 45. Resources★ Community Q&A http://developer.appcelerator.com★ Reference Docs★ My Blog: http://civicactions.com/blog/sumit OR http://sumitk.net★ http://groups.drupal.org/titanium-api
  • 46. Anything Else ... Sumit Kataria sumitk@sumitk.net http://www.sumitk.net IRC: sumitk
  • 47. http://cph2010.drupal.org/node/5728