17. Fazit
• Frühe Entscheidung der Zielpattform(en)
• Ob Web Standards oder Nativer Client hängt
von den Anforderungen ab
• Strategie für Mobil, e.g. mobile Web App
reicht zunächst, später nativ
• Native Desktop bzw. Mobile Anwendungen
können per REST API mit dem Wakanda
Server kommunizieren, z.B. Objective-C,
Appcelerator
• Erwägung einer JavaScript freundlichen
Lösung per cross-platform hybrid und mobil
So fertig, los gehts!? Mein Name ist Jürgen Fesslmeier. Ich bin Wakanda Product Manager. Davor war ichTechnologie-Berater, so wieeinigewahrscheinlich von Ihnen.Heute will ich auf einpaar der Strategienfür die Entwicklung und Vermarktung von mobile Anwendungeneingehen, insbesonderewelcheAnsätzedafürWakandabietet.Dabei will ichaberbeimwesentlichenbleiben: wieerstellenwirCross-Plattform-AnwendungmitdemgeringstenAufwand?Dennhätte man einganzesEntwicklungsteammit Smartphone Entwicklern, würde man einige der Sachenhierbestimmtganzandersbetrachten. AlsEinzelkämpferoderimkleinen Team, und mitdemKunde, muss man abwägenwoliegen seine Kernkompetenzen (oderim Team), welcheMittelstehenbereit, welcheAnforderung hat die geplanteAnwendung, etc.
Wirwollenalle das Gleiche!ImIdealfall, will man eine native Desktop-Anwendung, man will aucheine Web-Anwendungfür den Desktop-Browser, und man will eine native App fürjedeserhältlicheMobiltelefon und man will eine mobile Web App.Wenn das Budget bzw. Entwickervorhandenentsprechendgross ist, dann das vielleichtmöglich, aberfür die meisten von unsnicht der Fall und ausserdemmacht das wenig Sinn.Das Zitat_______, beflügeltunsereErwartungennochimmer:"Write once, run anywhere." -- Sun Microsystems, 1996(Umgemünzt auf "Write once, test everywhere.", "Write once, debug everywhere".)Das istheuteimmernocheinvollmundigesVersprechen. WirsinddembestimmteinpaarSchrittenähergekommen, entsprichtaberimmernochnichtganz der Realität. Aberwenn WIR die Wahl hätten, dannwäre das sicherunserWunsch!
Also ichversuche mal meinePerspektivezugeben auf eineHerangehensweiseisewie man den Kunden am bestenfür die richtige Platform gewinnt.WelcheZielplattformenfürdie Anwendung? Wirmüssenuns also zuerst auf die gängisgstenPlatformenkonzentrieren und an denenzuerstarbeiten (oder der Kundegibt seine Präferenzen).IE6: Geradewennes um Browser-Answendungengeht, kommenimmernochFragenauf ”Muss ich Internet Explorer 6 unterstützen?" EsgibtgewisseSachen, wenn man in einemkleinen Team arbeitet (und begrenzteResourcen hat), die muss man hintenanstellen, dennsiewollenjanicht auf den kleinstengemeinsamenNenneroptimieren. Also nochmalwirwollenuns auf die grösstenAngriffszielekonzentrieren und dortzuerst die Schneiseschlagen.MeinerMeinungnach, kommenheuteausdemBereich der MobilenAnwendungen in unsererBranche die grössten Impulse (Dynamic, "Momentum") und die gebenimPrinzip den Wegfür die Zukunftvor (Richtungsweisend). Der Desktopistheuteimmernoch der Schlüssel, woLeutewirklichmit in vollemUmfangmit Business-Anwendungenumgehen/interagieren, und woraufwirunsauchbeiWakanda auf Web basierten Desktop konzentrieren. Also Desktop und Mobil Plattformensindbeidewichtig, wobeieben Desktop-Anwendungennochhervorstechen.
HerausforderungenUnterschiedlicheTeschnischeAnforderungenJedeeinzelnePlattform (Telefon, Tablet) hat ihreeigenentechnischenAnforderungen. Auf jedemBetriebssystem, insbesondere, wennSienativen Desktop-Anwendungenentwickelnwollen, habensieimschlimmsten Fall völligunterschiedlicheEntwicklungswerkzeuge/Entwicklungsumgebung. 4D alsPlattform, zumBeispiel, wurdegebaut, um Entwicklung auf verschiedenenPlattformenzuvereinfachen und zubeschleunigen.DieZukunft der Business-Anwendungengehörtden mobilenEndgeräten.
Fähigkeiten von TelefonensinderheblichunterschiedlichDie Leistungsmerkmale von Smartphones unterscheidensicherheblichzwischenAnbieternoder von Version zu Version. Nach 2 JahrenVertaghabeichmein Android Smartphone ausgetauscht und siehe da, das Telefonistkomplettüberarbeitet, und das nachnur 2 Jahren, die Unterschiedesindeinfachriessengross.
PlattformenalsbeweglichesZielJedeeinzelnePlattformstellteinbewegtesZieldar, insbesondereimMobilbereich. Die Entwicklungschreitet so schnellvoran, dasseinefertiggestrickteAnwendungnurbiszumnächsten OS Update läuft und die nächsteWartung der Anwendungansteht.
Lock-in istgewollt, also die Bindung der Endkunden an die GeräterherstellerAberals das erste iPhone eingeführtwurde, warenalleAnwendungen von DrittanbieternausschliesslichWeb-basiert.In AppstoresistausSicht der Anbieterist die Qualität der Inhaltekannbeser von HerstellernkontrolliertwerdenZahlungsmethodenintegriert: LukrativfürAnbieter: Inhaltekönnenverkauftwerden, Verkauf von Atonements (Subscriptions), etc.Fragmentierung auf Kundenund VerkäuferseiteeineAnwendungerhältlichauchauf PlattformA, abernicht auf Plattform B,z.B. Google Maps.VoreinpaarJahrenwurdenimAppStoreAnwendungenblockiert, die in einer Runtime Umgebungabliefen, also z.B. auf Basis von HTML5, JavaScript, etc. Mitterweilehabensich Apples Geschäftsbedingungengeändert, so dass man heuteauchhybride Browser-basierteAnwendungenim App Store platzierenkann.
MitWakandabaut man Web AnwendungenimGegensatzzunativenAnwendungen. Die meisten von unsfühlensichwohlereineAnwendungmit Web Standards zubauenalsimGegensatzzu Objective-C, C++ oder Java.
Ok, also wennwirüberWakandasprechen, kommt die Rettung in der Hinsicht, weilWakandahilftAnwendungen auf Basis von Web Standards zubauen.Also JavaScript, CSS3, HTML5.
Da WakandaAnwendungen auf Web Standards basierensindsiezugänglichfüreineReihe von Endgeräten.Schonalleineaufgrund der Tatsache, dass Web Anwendungen auf Standards basierenmachtsiezugänglichfüreineReihe von Endgeräten. Wakandaunterstützt Desktop-Browser, Tablet und Smartphone auf der gleichenPlattform.
Und der Server istwirklich das interessante anWakanda. Auf allenEbenenkommt JavaScript zumEinsatz. Mit den gleichenKompetenzenwie man schon das Front-end entwickelt hat, kann man ohnegrosseLernprozesseDatenbankabfragenohne SQL durchführen.Somitist JavaScript beiWakandaüberall, natürlich auf dem Client (natürlichist das nichtsneues), aberebenauch auf dem Server, einschliesslich der Fähigkeitsichmitdem Server zuverbinden, in demPaketbenutzenwir REST via HTTP und tauschendatenüber das JSON Protokollaus.Jetzthabenwir JavaScript wirklichüberall!
Was braucht man, um eine Web basierteAnwendungbeispielsweise in den AppStorezubefördern?HiergibtesimPrinzipzweiProdukte, PhoneGap und Appcelerator Titanium
PhoneGapBeispiel: Fidor BankFür die Fidor Bank in Münchenhabenwir in die Mobile Banking App imAppStoregelaunched. Konzeption ca. 2 Wochen, Entwicklungszeit + Test, ca. 2 Wochen, Launch im Apple AppStore ca. 2 WochenNächste Slide…
Die Anwendungistmit Web Standards entwickelt, HTML, CSS und JavaScript, kommuniziert per JSON und HTTPS mitdem Bank-back-end und hat einendünnenPhoneGap Wrapper.Zugriff auf Adressliste.Teilmenge des gesamtenFidor Online-AngebotsIm Moment nur auf iPhone, Android KongreteEntscheidung der Bank: HTML zuerst, native App kommtvielleichtspäter
Beispiel: Mobile App mitWakanda, Konferenz App mit Feedback für den 4D Summit (leidernichtfürdieseKonferenz)