5
Sascha Thattil Mobile App Entwicklung mit dem Sencha Touch Framework yuhiro.de/mobile-app-entwicklung-mit-dem-sencha-touch-framework/ Wenn man heutzutage Mobile Applikationen erstellen möchte, hat man mehrere Möglichkeiten. Android und iOS, sogenannte Native Entwicklungen, waren lange Zeit im Vordergrund. Immer mehr Unternehmen präferieren jedoch die Programmierung mit Sencha Touch (im Artikel kurz “ST”), da man, wenn man es einmal gebaut hat, überall funktioniert, sei es iOS, Android, Black Berry oder Windows Phone. Das ist eine enorme Erleichterung, da ein Programmieren für jede Plattform für viele Projekte zu aufwändig wäre. Sencha Touch bietet hier eine gute Alternative. Im Beitrag ein wenig über die Möglichkeiten der Programmierung mit diesem Framework. Wie funktioniert es? 1/5

Mobile App Entwicklung mit dem Sencha Touch Framework

  • Upload
    yuhiro

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile App Entwicklung mit dem Sencha Touch Framework

Sascha Thattil

Mobile App Entwicklung mit dem Sencha Touch Frameworkyuhiro.de/mobile-app-entwicklung-mit-dem-sencha-touch-framework/

Wenn man heutzutage Mobile Applikationen erstellen möchte, hat man mehrere Möglichkeiten. Android und iOS,sogenannte Native Entwicklungen, waren lange Zeit im Vordergrund. Immer mehr Unternehmen präferieren jedochdie Programmierung mit Sencha Touch (im Artikel kurz “ST”), da man, wenn man es einmal gebaut hat, überallfunktioniert, sei es iOS, Android, Black Berry oder Windows Phone. Das ist eine enorme Erleichterung, da einProgrammieren für jede Plattform für viele Projekte zu aufwändig wäre.

Sencha Touch bietet hier eine gute Alternative. Im Beitrag ein wenig über die Möglichkeiten der Programmierung mitdiesem Framework.

Wie funktioniert es?

1/5

Page 2: Mobile App Entwicklung mit dem Sencha Touch Framework

Anstelle der üblichen Methoden (iOS, Android, Java, Objective-C), werden die Webtechnologien HTML5, CSS undJavaScript genutzt, um damit überall verwendbare Anwendungen zu schreiben.

Vom Aussehen her unterscheiden sich diese Webapplikationen kaum von ihren Nativen Pendants.

In der Anfangsversion im Jahr 2010 hat das Framework, nur Endgeräte mit Android und iOS unterstützt.

Mit den Jahren wurden dann immer mehr mobile Betriebssysteme und Mobile Browser, wie der von Android oderGoogle Chrome hinzugenommen.

Die MVC Architektur

Das Sencha Touch Framework folgt dem sogenannten MVC (Model-Viewer-Controller) Ansatz. Um es in einfachenWorten zu erklären: Der Backend Code und die Frontend Ansicht sind voneinander logisch getrennt. Somit ist eszum einen einfacher, Änderungen am Hintergrund-Code vorzunehmen und das Frontend fast unverändert zulassen. Zum anderen lassen sich damit performantere Anwendungen erstellen.

Die MVC Architektur lohnt sich jedoch eher weniger für kleinere Programme.

Desktop-Version vorgesehen?

Falls in der Planung Desktop-Programme vorgesehen sind, dann eignet sich Sencha eher nicht, weil man denGrossteil des Codes nicht wiederverwenden. Das erzeugt daher zusätzlichen Aufwand.

Lizenzfrei

Das Framework ist kostenfrei erhältlich als Open Source Lizenz. Nur Hersteller von Geräten, sogenannte OEM’s(Orignial Equipment Manufacturer) müssen für diese Lizenzen zahlen.

Dokumentation und Entwicklergemeinschaft

Sencha stellt eine eigene Dokumentation bereit, welche, laut Aussagen vieler, sehr gut gestaltet ist.

Gleichzeitig gibt es eine grosse Gemeinschaft, welche in den offiziellen Foren tätig ist. Dort lassen sich Antwortenzu den meisten Fragen finden. Alternativ kann man auch auf Stack Overflow vorbeischauen. Dort findet man mehre

2/5

Page 3: Mobile App Entwicklung mit dem Sencha Touch Framework

Tausend Fragen und Antworten.

Widgets, Tools, Themes

Viele Widgets, Tools und Themes erleichtern die Entwicklung mit diesem Werkzeug. Es werden zum BeispielThemes mitgeliefert, welche sich den Nativen Plattformen anpassen. Anstatt also alles von Grund auf zu schreiben,kann man die bestehenden Themes abändern und den eigenen Bedürfnissen anpassen.

Auch die verschiedenen Widgets reduzieren die Entwicklungszeit.

Vorteile und Nachteile

In manchen Fällen lohnt sich der Einsatz von Sencha Touch.

Möchte man zum Beispiel Unternehmensanwendungen schreiben, welche mit wenig Aufwand erstellt werden sollen,dann macht es Sinn auf dieses Framework zu setzen. Es ist jedoch ein mächtiges Werkzeug, an dem auchgrössere Teams gemeinsam arbeiten können.

Gleichzeitig ist diese JavaScript Framework immer noch nicht in der Lage, die gleiche Performance, wie eine NativeApp basierend auf Android oder iOS zu erreichen. Das liegt sicherlich auch daran, dass Touch nicht in der Lage ist,alle Mobile (Smartphone, Tablet, etc.) eigenen Hardware-Komponenten perfekt zu nutzen. Möchte man zumBeispiel ein Mobile Spiel entwickeln, welches sehr stark mit Smartphone-Hardware zusammenarbeitet, dannmachen Android und iOS mehr Sinn.

Es gibt auch einige Stimmen, welche Zweifel äussern, wie langlebig dieses Framework sein wird. Auch weil dieGemeinschaft nicht so aktiv ist, wie zum Beispiel für andere Systeme.

Im allgemeinen kann man jedoch sagen, dass sich ST lohnt, wenn die Backend-Funktionalitäten nicht so elaboratsind und mehr im Frontend (Design, einfache Funktionalitäten) geschieht.

Zudem wird es für einen Webentwickler einfacher sein, sich in ST einzuarbeiten, da er/ sie in den meisten Fällenbereits mit HTML, CSS und JavaScript gearbeitet hat. Während Dinge wie Objective-C (iOS) oder Java (Android) fürdiese Programmierer ehrer schwieriger wird zu erlernen. Man kann sagen, dass es sehr viele Web-Spezialisten gibt,aber nur wenige Experten welche sich mit Objective-C oder Java auskennen.

Unterschied zu PhoneGap und Apache Cordova

3/5

Page 4: Mobile App Entwicklung mit dem Sencha Touch Framework

Oftmals wird ST auch direkt mit PhoneGap verglichen und in die gleiche Kategorie gestellt.

PhoneGap kann jedoch als ergänzende Technologie gezählt werden, da es als Brücke für JavaScript Code zurSmartphone/ Tablet-internen Hardware (Mikrofon, Kamera, Batterie, etc.) genutzt werden kann. Hierfür stelltPhoneGap unterschiedliche Plugins zur Verfügung.

Hierzu muss jedoch auch gesagt werden, dass PhoneGap auch ohne ST funktioniert. So kann man einfache Appsauch mit PhoneGap schreiben. Die meisten Entwickler nutzen jedoch ein JavaScript Framework wie Sencha Touch,AngularJS oder jQuery Mobile zusammen mit PhoneGap.

Nun zu Cordova. PhoneGap und Cordova sind im Grunde genommen das Gleiche. Die Firma Adobe kaufte die vonder Firma Nitobi hergestellte Cordova Lösung und gab ihr den neuen Namen PhoneGap. Adobe entschied sichzudem die PhoneGap Lösung an die Apache Software Foundation zu spenden. So kam der Name Apache Cordovazustande.

Unterschiede zwischen PhoneGap und Cordova gibt es trotzdem. PhoneGap ist heute zum Beispiel eineDistribution von Apache Cordova.

Möchte man zudem am Open Source Projekt teilnehmen, dann ist Apache Cordova die Anlaufstelle. PhoneGap istwiederum das Werkzeug, um die Applikationen zu erstellen.

Sencha versus Ionic, AngularJS, jQuery Mobile

ST, Ionic und jQuery Mobile haben alle in etwa den gleichen Zweck und sind Wettbewerber.

ST war lange Zeit das beliebteste Framework. Das hat sich mittlerweile jedoch geändert. Mehr und mehr Expertensetzen auf Ionic.

Auch jQuery Mobile ist heutzutage nicht mehr wirklich beliebt.

Ionic baut auf AngularJS und Apache Cordova auf. Wobei AngularJS ein relative neues und beliebtes JavaScriptFramework ist, um Single-Page-Applikationen (dazu gehen wir in einem anderen Beitrag näher ein) zuprogrammieren.

Fazit

ST wird heutzutage immer mehr von Ionic verdrängt.

Die Erfahrung vieler Experten zeigt zudem, dass egal mit welchem JavaScript Werkzeug man arbeitet, man nicht an

4/5

Page 5: Mobile App Entwicklung mit dem Sencha Touch Framework

die gleiche Performance wie mit Nativen Systemen, wie iOS oder Android, herankommt.

Man muss also schon genau abwägen, was man genau erstellen möchte, nur danach sollte man sich hinzu einemder Mobilen Frameworks bewegen. Besonders für einfache Aufgaben lohnt es sich. Zum Beispiel für eine Lösungmit vielen Bildern und Text und wenig Zugriff auf Hardware-Funktionalitäten und es gleichzeitig auf allenBetriebssystemen (iOS, Android, WindowsPhone, etc.) laufen soll.

Welche Erfahrungen haben Sie gemacht?

Disclaimer: YUHIRO stellt auch Programmierer im Bereich ST, Ionic und Cordova bereit. Die Abwägung, ob eineArbeit mit diesen Technologien Sinn macht, muss jedoch der Kunde (die Agentur/ Softwareunternehmen/ ITAbteilung) treffen.

Interessante Links:ST auf Wikipedia erklärtUnternehmen aus Deutschland das Sencha Touch Programmierung anbietetEine Liste mit interessanten Hybrid App Frameworks

Bilder: Flick.com/ Creative Commons/ Hobson/ JD Hancock/ MeeGo/ Iglesias

Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmenbeim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT AbteilungenSoftwareentwickler bereitstellt.

Artikel teilen

5/5