IOS APPS MIT WEBTECHNOLOGIENERSTELLEN
EIN ÜBERBLICK
MICHAEL KÜHNELMacht Internet seit Netscape 4.7
Frontend Developer bei der SMA Solar Technology AG
Twitter:
Website:
@mkuehnel
www.michael-kuehnel.de
WORUM GEHT ESUIWebView
Apache Cordova (PhoneGap)
Appcelerator Titanium
NATIVE APPS = NATIVE TOOLCHAINVORAUSSETZUNGEN
Apple Macintosh
iOS SDK
Xcode IDE
UIKit Framework, iPhone-Simulator, weitere Tools, Compiler etc.
iOS Developer Program ( )$99/Jahr
UIWEBVIEW
Siehe
“ You use the UIWebView class to embed web content in yourapplication. To do so, you simply create a UIWebView object,
attach it to a window, and send it a request to load web content.”
developer.apple.com
FAKTEN»Container« für Webinhalte
Bestandteil des Apple UIKit Frameworks
Kann »interne« und »externe« Inhalte laden
Build Prozess über Xcode
Native APIs teilweise über HTML5 APIs nachrüstbar:
/ : Application Cache, Local Storage, Web SQL & IndexedDatabase
, and
Offline Storage
Geolocation Media Capture File API
VORTEILE»Freiheit« in der Webentwicklung:
Serverseitige -> Datenbanken, Skriptsprachen etc.
Clientseitig -> Datenbanken, CSS und JavaScript Frameworks etc.
Gleiche Code-Basis ggf. für andere Plattformen nutzbar.
NACHTEILEPerformance: Andere JavaScript Engine als in Mobile Safari
Rudimentäre iOS SDK und Objective-C Kentnisse nötig
APACHE CORDOVA (PHONEGAP)
Siehe
“ Apache Cordova is a platform for building native mobileapplications using HTML, CSS and JavaScript. ”
incubator.apache.org/cordova
FAKTEN»Container« für Webinhalte
Kann nur mit »internen« Inhalten (HTML, CSS, Javascript) umgehen
Build Prozess über Xcode
Zusätzliche Javascript Device APIs:, , , , , , ,
, , , , , Accelerometer Camera Capture Compass Connection Contacts DeviceEvents File Geolocation Media Notification Storage
VORTEILE»Freiheit« in der Webentwicklung:
Clientseitig -> CSS und JavaScript Frameworks etc.
Alle wichtigen Geräte APIs werden unterstützt
Gleiche Code-Basis für andere Devices nutzbar:
Unterstützt zur Zeit mobile Plattformen.
Open Source und kostenlos
7
NACHTEILEPerformance: Andere JavaScript Engine als in Mobile Safari
Kein Einsatz von serverseitigen Scriptsprachen möglich
APPCELERATOR TITANIUM SDK
Siehe
“ Create rich native iOS, Android, hybrid, and mobile web appsfrom a single JavaScript-based SDK. ”
appcelerator.com
FAKTENJavaScript basierte Plattform
»JavaScript« -> »Objective C« Bridge
Man programmiert JavaScript und die App nutzt letzlich native APIs
Unterstütztung von JavaScript Modulen nach der
Build Prozess über
CommonJS Module Specification
Titanium Studio
VORTEILENative UI Elemente
Performance
Gleiche Code-Basis für andere Devices nutzbar:
Unterstützt zur Zeit mobile Plattformen.3
NACHTEILEPure JavaScript Lösung. Kein HTML, kein CSS.
Kein Einsatz von serverseitigen Scriptsprachen möglich
Kommerzieles Produkt mit dem eine Firma Geld verdienen muss. Siehe .Preistabelle
FAZIT»RICHTIGE« APPS BENÖTIGEN »RICHTIGE« APIS
Kein Unterschied an API Features zwischen Cordova und Titanium SDK
Letzlich eine Sache der persönlichen Präferenz:
Performance vs. Flexibilität …
Vorhandenes Wissen … etc …
DIREKTER VERGLEICH EINER APP IN ENTWICKLUNG»WORKOUT LOG« AUF GITHUB
Titanium Branch
Phonegap Branch
ALTERNATIVEN
RUBYMOTION
Siehe
“ RubyMotion is a revolutionary toolchain for iOS. It lets youquickly develop and test native iOS applications for iPhone or
iPad, all using the awesome Ruby language you know and love. ”
rubymotion.com
CORONA
Siehe
“ With Corona, you will develop mobile apps in record time.Develop in Lua, an easy-to-learn language that coupled with ourelegant APIs allow you to add features like Facebook and physics
in just a few lines of code. ”
coronalabs.com
DAS WARS ; )
FRAGEN?Twitter: E-Mail:
APPENDIX – LINKSMobile JavaScript/CSS Frameworks
Zepto
jQTouch
jQuery Mobile
Sencha Touch
Kendo UI Mobile
Foundation 3
Sidetap