690 likes | 863 Views
CST 594 Mobile Computing . Kavitha Elamparith Pratibha Channamsetty Eshwari Mente Shruti Shivashankaraiah Pranay Mahendra Adit Shah Naveen Kumar. Integrating mobile apps with ERP data systems 46%.
E N D
CST 594 Mobile Computing KavithaElamparith PratibhaChannamsetty EshwariMente ShrutiShivashankaraiah Pranay Mahendra Adit Shah Naveen Kumar
Integrating mobile apps with ERP data systems 46% Developing apps quickly 43.3% Testing and Quality Assurance 36.8% Compelling Experiences 34.9% Supporting multiple platforms from a common codebase 33.3% Cross platform development 32.8% Supporting multiple platforms 27.7%
Why Titanium? Faster Development Develop native applications 20% faster than writing in the native language Code Reuse Reuse 60%-90% of developed code when supporting multiple platforms Reduce Cost Most apps take at least six months of full-time work and cost between $20,000 and $150,000 to develop. Reduce cost of development cross-platform by using a JavaScript based SDK
History • - Appcelerator in Atlanta, Georgia - Jeff Haynie (CEO) and Nolan Wright (CTO) 2008 - New HQ in Mountain View, CA - raised $6.2 M from Storm Ventures and LaryAugustin 2009 - Titanium launched at the Apples WWDC -1200 developers downloaded Appcelerator in 48 hrs - iPhone- and Android-based mobile applications in June 2010 - April - BlackBerry, iPad-based tablet apps - raised $9M in Series B form Sierra Ventures and eBay.
History - (continued) 2011 - Acquired Aptana Inc and Particle Code. 2012 - New Office in Beijing, China - Europe HQ opens in UK - Acquired Cocoafish and Nodeable - Launched Appcelerator Cloud Services (ACS) - Launched Titanium 3.0 Appcelerator Announces CODESTRONG 2012 Mobile Conference To Be Held in San Francisco 2013 - Opens an office in SFO408,612 registered developers have launched 51,208 apps
1.5 Million Developers - 22.1k Apps in the Wild - 20 Million Active Users Making Titanium a Leading Mobile Development Platform among many
Appcelerator Titanium • Open source SDK, Tools (Apache) • Cross-platform (Win32, OSX, Linux) • Based on WebKit • Modular and extensible • Supports JavaScript, Python, Ruby
Titanium Overview Applications are built entirely inJavaScript Cross Platform !== “Write Once, Run Everywhere”Cross Platform == “Write Once, Adapt Everywhere” Best Practices • Protect global scope • Be modular • Keep code DRY – (Don’t Repeat Yourself) Similar to rich web based client applications • Sophisticated UI controls • Client-side Data Models • Local Storage and focused remote data access Component Oriented, Event Driven
Products Appcelerator Network Cloud services used for testing, packaging, distribution, and analytics. Titanium Mobile Develop Native iPhone, Android, and iPad apps with full access to each device’s APIs. Titanium Desktop Build Desktop apps that can be deployed with one code base on the PC, Mac, or Linux platforms. Titanium Alloy It is an MVC framework used to develop applications in a structured way
Pros and Cons • Rapid prototyping • JavaScript • Cross-platform • Growing community
Cons • Increasing complexityDevelopment complexities (and costs) rise more than proportionally to application complexity increases • No FreemiumStoreKit, a module to enable In-App Purchase to Apple’s App Store, poorly documented and it seems to work only partially. unstable for production use • LaggyObviously you can have the most smooth, fast and comfortable user experience possible only with apps developed with a native development environment.
System Requirements Memory:
System Requirements Operating System:
Downloading & Installing • Valid Appcelerator Network account. • Download the installer from: https://my.appcelerator.com/resources
Useful software Git (optional, but recommended)
How Titanium Works Code your pages “Run” Running! (in simulator) Titanium SDK Project in XCode/ObjC
Window structure window view
Titanium Features • Native UI • Real Native tables, tabs, sliders and views • Rich Media APIs • Local and streaming audio and video, media recording • Local and streaming • Native Maps, compass and Geo location • Open Source and Extensible • Extend titanium with custom modules in native code.
Cont.. • Local and Remote Data • Local SQL database, Light weight Key/Value store, XHR. • Integrated Analytics • Baked-in analytics APIs to measure results and behavior. • Social APIs • Integrated Face book connect and YQL. • Development Tools • Development and distribute your app for multiple platform from a single tool.
Native UI controls • Use native UI controls through a JavaScript interface
UI in Native and Titanium Application • iOS Phones have one screen resolution. • Building Android apps require you to take the various screen sizes and aspect ratio into account. • Titanium relies on native controls and UI. • We write code in JavaScript , using special API that builds the UI controls. • Recent addition of commonJS module made developing apps more fast and modular.
Cont.. • Writing same code for both the UI makes thing difficult to handle. Reasons: 1. They have different screen resolution 2. Different controls 3. iOS takes 45% of the screen, while android has more dropdowns. So In Titanium we create separate UI modules that communicate with same code.
Media • Stream or package audio and video content same for both platforms
Accelerometer • Use advance gesture and track movement to create groundbreaking user interface.
Geo location • Use Geo location to leverage your user’s position in the world
Face book connect • Facebook module is available which uses new authentication features on both Android and iOS as well as a new set of methods to retrieve and submit data. We can either use • Titanium.Facebook.authorize() method • FacebookLoginButton (Titanium.Facebook.createLoginButton()) on to your view and, when the user clicks it, we’ll handle calling ’authorize’. Set Titanium.Facebook.appid to your Facebook application id before initiating authorization For more basic permission set Titanium.Facebook.permissions property to an array of the permissions you need.
The Pizza App Main Javascript files: App.js Main.js Crust.js Toppings.js Details.js End.js
1. Display Clock2. Create view3. Create Scrollable view4. Navigate 5. Animate6. Fire an Event7. Handle an Event How to ?
Listening to Custom events Adding the Toppings List Persisting Crust Selection
Working With Data on Titanium Titanium Data Options: Local Data Remote Data