In letzter Zeit gibt es immer mehr Nachrichten, dass das Web Windows (oder besser gesagt den Desktop) als "Plattform" ersetzt und bei vielen Sachen kann ich dem auch nur Zustimmen.
Mit dem iPhone und dem AppStore sowie Googles Andoid und dem Applikationsmarktplatz kommen neue Gerätschaften hinzu die auch interessante Plattformen sind. Die Liste an solchen Plattformen "auf die man was basteln kann" ist recht lang:
- Spieleentwickung auf der Xbox 360 mit XNA
- Facebook Applikationen
- Google Gadgets
- Vista Sidebar Gadets
- Firefox Plugins
- SharePoint Solutions (um mal eine Buisnessplattform zu nennen)
- Betriebssystem jeglicher Art
Doch was macht eine gute Plattform aus? Was sollte man unbedingt bedenken wenn man selber etwas ähnliches plant?
Doch was macht eine Applikations Plattform aus?
Die verschiedenen Plattformen (Xbox, Facebook, Firefox, Betriebssysteme, Vista, Google, SharePoint, iPhone...) sind alle in unterschiedlichen Bereichen anzusiedeln. Was jede Plattform irgendwie bietet, ist die Möglichkeit selber etwas darauf zu Entwickeln - eigene Anwendungen integrieren, Daten über APIs laden und etwas neues bieten.
Was macht eine gute Applikations Plattform aus?
Windows hat immer noch ein großes Monopol wegen den vielen Anwendungen die nur auf diesem Betriebssystem laufen. Microsoft investiert viel Geld in die MSDN und die Entwicklungstools. Allerdings muss man auch dazu sagen, dass Microsoft einige Sachen immer erst viel zu spät merkt.
Tolles Beispiel einer Applikations Plattform: iPhone + AppStore (++)
Apple hat es innerhalb von kürzester Zeit geschaffen System zu erschaffen, dass es Entwicklern ermöglicht tolle Anwendungen zu schreiben (auch wenn Objective-C auf den ersten Blick ziemlich hässlich aussieht), diese entsprechend auch über den AppStore zu entlohnen und ihre Anwendungen präsentieren können und die Nutzer können über eine schicke Oberfläche die Anwendungen kinderleicht installieren. Vom Konzept bis zur Ausführung relativ gelungen :)
Hier hat Apple mitgedacht und allein schon wegen den vielen netten Anwendungen könnte man in die Versuchung kommen ein iPhone zu bestellen.
Noch ein anderes gutes Beispiel: Facebook (++)
Facebook ist wahrscheinlich das größte Sozial Network der Welt. Facebook hat auch eine ganz nette API und es gibt die Möglichkeit, dass man Facebook Anwendungen anbietet. Das hat der Social Network Plattform damals noch einen guten Schub gegeben - über den Nutzen von manchen Anwendungen brauchen wir hier allerdings nicht reden ;)
Auch nett: Adobe AIR (+)
Adobe AIR bringt Flash quasi auf den Desktop. Ich selber hab zwar nur eine einzige AIR Applikation bei mir installiert (Tweetdeck für Twitter). Der Installationsprozess wenn man AIR noch nicht installiert hat ist sehr schick gemacht und "vereint" das Web und den Desktop toll:
Auch Updates kann man so von Applikationen installieren. Wenn der Installationsprozess zu aufwändig ist, macht es keinen Spaß - jedenfalls solange das Produkt für den Endverbraucher gemacht ist ;)
Manche Windows Programme installieren ewig.
Die Installation von dem .NET Framework ist etwas unschön. Es gibt Phasen da bleibt der Ladebalken für Minuten bei 0% und dann schießt er plötzlich auf 100% hoch. Sowas verwirrt nur.
Ein schlechtes Beispiel: Windows Vista Sidebar Gadets (--)
Das Konzept dieser "Gadgets" ist nett, doch fand ich die Ausführung bereits damals sehr schwach.
Die Installation solcher Gadgets gestaltet sich zum Teil schwierig und auch die "Windows Live Gallery" ist ein schlechter Witz. Da die Gadgets auch nur auf Javascript basieren ist die Entwicklung auch nicht wirklich so angenehm.
Theoretisch kann man auch auf der "Persönlichen Windows Live Seite" solche Gadgets einbinden, allerdings nutzt diesen Service kaum jemand. Daher ist er wahrscheinlich immer noch in dem alten Windows Live Design.
Die Idee war gut - die Ausführung mangelhaft und aus diesem Grunde gibt es auch nicht gerade viele sinnvolle Gadgets. Schade.
Zusammenfassung für eine tolle Plattform:
- Gute Entwicklungsunterstützung (Developers, Developers, Developers!)
- Eine Möglichkeit seine Applikation zu vertreiben oder Anzubieten (Hallo Windows Live Gallery!)
- Einfache Installationsprozess & Updateprozess (Hallo Sidebar!)
- Aktive Weiterentwicklung (Hallo Sidebar! ;))
- Die Plattform muss zeitgemäßig sein (Hallo Windows Mobile!)
Wozu braucht man nun sowas?
Viele Programme bieten ein Pluginsystem - Firefox ist dadurch groß geworden und hat ebenfalls die genannten "Features". Wenn man sich z.B. ein CMS bauen möchte, mit einem Plugin-System sollte man sich ein paar mehr Gedanken machen, ansonsten nutzt es keiner und es war nur eine gute Idee.