Schlagwort-Archive: iOS

Microsoft kauft Xamarin und macht die Produkte (teilweise) kostenlos verfügbar

Bereits im Februar hat Microsoft bekanntgegeben, das Unternehmen hinter dem Mono-Framework, Xamarin, zu übernehmen. Auf der Entwicklerkonferenz Build vor einigen Tagen wurden die ersten wichtigen Änderungen angekündigt: Die Xamarin-Erweiterungen für Visual Studio sowie die Standalone-Entwicklungsumgebung Xamarin Studio für OS X in einer Community Edition sind ab sofort kostenlos verfügbar. Verschiedene Dienstleistungen wie die Test Cloud Services bleiben weiterhin kostenpflichtig, stehen jetzt jedoch automatisch MSDN-Abonnenten zur Verfügung.

Außerdem wurden das Mono-Framework und alle bisher proprietären Erweiterungen unter der MIT-Lizenz veröffentlicht.

Microsoft dürfte mit diesem Schritt vor allem die »eigenen« Entwickler stärken: Angesichts der weiterhin schwächelnden eigenen mobilen Software-Plattform sind iOS und Android noch immer die höher priorisierten Ziel-Plattformen bei der Entwicklung vor allem von neuen Apps. Für Entwickler ist es daher attraktiv, aus einer einzigen Entwicklungsumgebung heraus mit einheitlicher Programmiersprache und möglichst gemeinsamer Code-Basis gleich drei Plattformen bedienen zu können.

Daneben dürfte die Frage spannend sein, was die Übernahme durch Microsoft für das Mono-Framework generell und speziell unter Linux bedeutet. Immerhin scheint es nach der Veröffentlichung des .NET-Frameworks als Open Source fraglich, dauerhaft zwei Versionen der Laufzeitumgebung zu pflegen. Und unter Linux hat Mono aus verschiedenen Gründen nie eine besonders große Rolle gespielt. Dabei sind die Mono-Runtime, die Sprache C# und MonoDevelop als IDE eigentlich eine tolle Kombination.

Der Installer von Xamarin Studio unter OS X
Der Installer von Xamarin Studio unter OS X

Microsoft und Nokia: Lied vom Scheitern

Vor fünf Jahren haben Microsoft und Nokia beschlossen, gemeinsam den Handymarkt neu aufzurollen. Mit den einst erfolgreichen Geräten von Nokia und der Software-Expertise von Microsoft wollte man zurück an die Weltspitze. Der Plan ist fulminant gescheitert. Heise Online fasst die Geschichte dieses Misserfolges einmal zusammen.

Es gibt allerdings zwei Aspekte, die Heise nicht explizit erwähnt: Denn nicht nur im Consumer-Bereich ist Microsoft mit Windows Phone und Windows Mobile gescheitert, sondern auch im Business-Bereich und im industriellen Bereich. Im Business-Bereich waren auf einmal iPhones die bessere Wahl, als Windows-Geräte, nicht einmal eine möglicherweise bessere Integration in die Windows-Netzwerke war noch Argument, hat Apple doch von Anfang an darauf geachtet, dass sich die iOS-Geräte gut anbinden lassen, etwa an bestehende Exchange-Infrastrukturen.

Und nachdem es im industriellen Bereich (mobile Datenerfassung, Barcode-Scanner etc.) jahrelang praktisch nichts neben Windows Mobile gegeben hatte, konnten die Unternehmen irgendwann reihenweise auf Android-Geräte umschwenken. Niemand vermisst hier die archaischen anmutenden Windows-Geräte oder möchte noch dafür programmieren. Und aktuell sieht es auch nicht danach aus, als könnte Windows 10 diese Situation ändern.

[Oder hat jemand andere Erfahrung gemacht?]

Eine neue IDE für die Android-Entwicklung

Wer einmal die Werkzeuge, die Google für die Android-Entwicklung bereitstellt, mit den Tools für konkurrierende Plattformen – in erster Linie ist das XCode für die iOS-Entwicklung – vergleicht, wird feststellen: Google ist hier klar im Nachteil. Die aktuelle Lösung besteht aus einem SDK mit CLI-Werkzeugen, einer Sammlung von Plugins für Eclipse sowie einem auf einer virtuellen Maschine basierenden Device-Emulator. Zwar ist ein Entwickeln damit möglich, zwischen dieser Lösung und dem angesprochenen XCode liegen in Sachen Komfort und Geschwindigkeit, kurz: dem Wohlfühl-Faktor, jedoch echte Welten. Zu langsam, zu inkonsistent, zu unübersichtlich ist die Android-Entwicklungsumgebung.

Auf seiner letzten Entwicklerkonferenz im Mai hat Google mit dem »Android Studio« nun endlich eine neue Entwicklungsumgebung angekündigt. Diese basiert auf dem bekannten IntelliJ IDEA (das bereits etwas Unterstützung für Android-Projekte enthielt), ist plattformübergreifend (Windows, Mac, Linux) verfügbar und ist vor allem: noch sehr unfertig. Aktuell befindet es sich offiziell in der Version 0.2.

Dennoch: Die Entscheidung für eine neue Basis ist richtig. Das beginnt schon damit, endlich alle benötigten Werkzeuge in einen einzigen Download zu packen und somit die Ersteinrichtung zu erleichtern.

Allerdings sieht man auch hier sofort, dass die unterschiedlichen Teile unterschiedliche Ursprünge haben. Während die eigentliche Entwicklungsumgebung etwa auf dem Swing-Framework beruht, verwenden »Android Virtual Device Manager« und »Android Device Monitor« das SWT-Toolkit. Und an der größten Schwachstelle kann auch eine aufgeräumtere IDE nichts ändern. Das ist und bleibt der ultra-langsame und fehlerträchtige Emulator.

Bis das »Android Studio« für den Entwickler-Alltag taugt und die Einzelkomponenten vernünftig integriert sind, vergeht wahrscheinlich noch mindestens ein Jahr, eher noch mehr Zeit. Bis dahin überarbeitet Google vielleicht auch den Emulator noch einmal bzw. ersetzt ihn durch ein vollständig andere Lösung. Es ist an der Zeit, den Rückstand zu XCode (und auch den Alternativen wie »Xamarin Studio«) aufzuholen.

Android Studio unter MacOS
Android Studio unter MacOS

Mono: wohin geht die Reise?

Mono, die Open-Source-Implementierung von Microsofts .net-Plattform, war ein tolles Versprechen an Linux-Entwickler: Eine mächtige Software-Plattform, eine breite Unterstützung unterschiedlicher Programmiersprachen und nicht zuletzt die Möglichkeit, Anwendungen plattformunabhängig zu entwickeln.

Lediglich drohende Patentforderungen von Seiten Microsofts schienen der Verwendung im Wege zu stehen, Microsoft aber frühzeitig ein „Community Promise“ abgegeben, von solchen Forderungen abzusehen. Neben der Mono-Plattform hat das Team um Miguel de Icaza mit MonoDevelop noch eine großartige Entwicklungsumgebung angeboten.

Und auch wenn nicht alle Vorbehalte verschwunden sind, so wurde Mono doch in alle großen Distributionen integriert, und es entstanden einige interessante Software-Projekte auf Mono-Basis.

Mittlerweile scheinen keine Software-Patente, sondern eine andere Entwicklung für Linux-Entwickler bedrohlicher zu sein: Miguel de Icaza als der Kopf hinter dem ganzen Projekt und sein Unternehmen Xamarin, das sich um die Weiterentwicklung kümmert, haben sich von Linux – und scheinbar vom OpenSource-Gedanken – verabschiedet.

Miguel de Icaza selbst verwendet Linux schon seit Monaten überhaupt nicht mehr; Xamarin setzt stattdessen voll auf Apple-Systeme, insbesondere auf den boomenden Mobile-Markt. Und so wird die aus MonoDevelop hervorgegangene Entwicklungsumgebung Xamarin Studio (noch?) nicht für Linux angeboten, vom Vorgänger gibt es für die Linux-Distributionen teilweise nur noch vollkommen veraltete Versionen. Eine brauchbare »Community-Lizenz« für OpenSource- oder Freeware-Projekte gibt es auch nicht, mittlerweile aber wenigstens eine kostenlose und dafür stark eingeschränkte Version.

Und so ist durchaus fraglich, ob wenigstens die Mono-Laufzeitumgebung (die ja unter einer freien Lizenz steht) noch eine Zukunft unter Linux hat, und welchen Wert diese noch besitzt, wenn keine aktiv weiterentwickelte IDE existiert. Man kann Xamarin nicht vorwerfen, dass sie den gewählten Weg gehen. Für die OpenSource-Szene ist es leider kein guter Weg. Angesichts der ungewissen Zukunft würde ich für ein neues Projekt jedenfalls nicht auf Mono setzen.

Magazine lesen auf Android-Geräten: eine Enttäuschung

Was haben die deutsche Wired, der Stern, CHIP und der Elektrospieler gemeinsam? Sie alle kann man in einer Digital-Ausgabe auf seinem Android-Gerät lesen. Und: ihre Apps basieren alle auf der gleichen, miesen Software.

Die Software um ein E-Magazin herum ist eigentlich vergleichsweise überschaubar: Mit ihr lassen sich die verfügbaren Ausgaben durchblättern und kaufen. Gekaufte Ausgaben werden heruntergeladen und können anschließend gelesen werden. Dabei können die grundsätzlich starren Seiten mit einzelnen multimedialen / interaktiven Elementen angereichert werden.

Klingt eigentlich nicht außergewöhnlich anspruchsvoll.

Und dennoch macht der Software-Hersteller so einiges falsch. Das beginnt damit, dass die Apps sicht optisch nicht an StyleGuides von Google / Android halten, sondern überall Elemente im iOS-Stil verwenden. Dazu sind die Apps furchtbar träge (auch auf Geräten mit reichlich »Power«) und relativ instabil. Teilweise, je nach Magazin, wird auch nicht der komplette Bildschirm genutzt. Der Back-Button verhält sich unlogisch oder zeigt gar keine Reaktion.

Unpassende Interface-Elemente. Der Banner funktioniert nur im Querformat.
Unpassende Interface-Elemente. Der Banner funktioniert nur im Querformat.

Anders als iOS ist Android von Grund auf darauf ausgelegt, auf Geräten mit verschiedensten Bildschirmgrößen und -Auflösungen zu laufen und bietet den Entwicklern zahlreiche Möglichkeiten, darauf zu reagieren. Standard-Interface-Elemente skalieren ohnehin automatisch mit, d. h. auf Buttons etwa werden Schriftgröße und Innenabstand entsprechend der Auflösung angepasst. Grafiken (etwa für Symbolleisten) können in verschiedenen Größen für unterschiedliche Auflösungen hinterlegt werden; es lässt sich sogar das komplette Layout auflösungsabhängig austauschen.

Von diesen Mechanismen kann man allerdings schwerlich profitieren, wenn man sie komplett ignoriert. So kommt es, dass das Interface schon auf einem Nexus 7 nicht nur übel aussieht, sondern auch schwer zu bedienen ist, auf einem Nexus 10 sind die Apps laut Reviews anscheinend vollkommen unbrauchbar. Wer eine Ahnung davon kriegen möchte, welche Erfahrungen die Anwender mit den Magazin-Apps gemacht haben, der sollte sich einmal die Bewertungen im Play Store durchlesen.

Konsequente Verwendung von unpassenden UI-Elementen
Konsequente Verwendung von unpassenden UI-Elementen

Aus Sicht der Verlage ist das Vorgehen durchaus nachvollziehbar. Kaum ein Verlag wird die notwendigen Kompetenzen und Kapazitäten besitzen, um In-House eine ansprechende App entwickeln zu können; zudem misst man der Android-Plattform weiterhin keine große Bedeutung zu. An erster Stelle steht das iPad, und dafür wird publiziet. Wenn es nun aber fertige Lösungen gibt, ohne nennenswerten Zusatzaufwand die Inhalte auch unter Android zu verwerten – selbst in einer schlechten Umsetzung – dann ist das durchaus verlockend. Man ist zwar nicht angewiesen auf ein paar zahlende Android-Nutzer, aber wenn man, wie gesagt: ohne großen Zusatzaufwand, ein paar zahlende Kunden »mitnehmen« kann, dann ist das nicht die schlechteste Option.

Allerdings: Dieses Vorgehen frustriert die Anwender und sorgt nicht unbedingt für einen Image-Zugewinn. Von guten Umsätzen ganz zu schweigen. Dass es auch anders geht, zeigt etwa der SPIEGEL, der ganz offensichtlich eine ganze Menge Aufwand betrieben hat, am Ende aber auch geradezu eine Vorzeige-App für Android hingelegt hat.

Der SPIEGEL macht praktisch alles richtig
Der SPIEGEL macht praktisch alles richtig

Das traurigste an diesem Thema ist, dass die Magazin-Software insgesamt durchaus noch brauchbar läuft; eine vollständige Überarbeitung des User Interfaces würde die Apps qualitativ gleich in einem ganz anderen Licht dastehen lassen – und würde vermutlich nur wenige Tage Aufwand beanspruchen. Freilich: Um ein gutes UI zu gestalten, müssten sich die Entwickler (und Entscheider) ernsthaft auf Android als eigenständige Plattform einlassen, nach Möglichkeit unterschiedliche Testgeräte bereithalten und vor allem: Android-Geräte tatsächlich benutzen, um ein Gefühl dafür zu bekommen, wie die Plattform funktioniert.

Sencha stellt RAD-Tool für HTML5-Anwendungen vor

Kurz nach der Vorstellung einer neuen Version des WebApp-Frameworks Sencha Touch stellt Sencha nun mit Sencha Architect ein neues (plattformübergreifend verfügbares) »Rapid Application Development«-Tool vor. Das Werkzeug bietet einen visuellen Interface-Designer und einen umfangreichen Code-Editor. Es können Anwendungen für den Desktop sowie für Android und iOS erstellt werden.

An Hobby-Entwickler richtet sich Sencha Architect eher nicht: Die Preise beginnen für eine Einzel-Entwickler-Lizenz bei 399 Euro. Eine 30-Tage-Testversion steht zum Download bereit.

Zur Produktseite

Sencha Architect
Sencha Architect

Sencha Touch 2.0 veröffentlicht

Sencha hat die Version 2.0 seines (Web-)App-Frameworks Sencha Touch freigegeben. Besonderes die Geschwindigkeit will man verbessert haben. Dazu gibt es die Möglichkeit, mit den separat angebotenen Sencha SDK Tools HTML-Anwendungen in native iOS- bzw. Android-Apps zu kapseln.

Sencha Touch erlaubt die Entwicklung von Anwendungen auf Basis von JavaScript und HTML5 für die Zielplattformen iOS, Android und Blackberry OS. Es stehen sowohl Open-Source- als auch kommerzielle Lizenzen zur Verfügung.

Objective-C kompakt

In einem relativ schmalen Buch (rund 180 Seiten) bietet Autor Max Seelemann einen wirklich kompakten, aber recht umfassenden Einstieg in die Sprache Objective-C, um die man in der Apple-Welt nicht herum kommt. Das Buch richtet sich gezielt an Entwickler mit Erfahrung, nicht an Einsteiger und ist deshalb passend untertitelt mit „Ein Kurs für Umsteiger und Fortgeschrittene“. Eine Abhandlung der umfangreichen System-APIs und -Frameworks darf man nicht erwarten; es handelt sich um einen reinen „Sprachkurs“. Das Buch ist gut und verständlich geschrieben und berücksichtigt auch aktuelle Funktionen wie das „Automatic Reference Counting“.

ObjectiveC kompakt - Ein Kurs für Umsteiger und Fortgeschrittene
Max Seelemann
Objective-C kompakt
Ein Kurs für Umsteiger und Fortgeschrittene

184 Seiten, 24,90 Euro
dpunkt.verlag, 2012
ISBN 978-3-89864-692-5