Android & Kotlin Coroutines

Android & Kotlin Coroutines

Concurrency und Multithreading bereiten Android Entwicklern die meisten Probleme. Das ergab eine Befragung durch Google von Android Entwicklern weltweit. Bisherige Ansätze scheinen nicht zufriedenstellend. Googles LiveData sind nicht mächtig genug. Rx ist hingegen zu mächtig und schnell missbraucht. Coroutines erscheinen vielen noch unreif und zu wenig unterstützt, aber das passende Werkzeug für das Problem. In jüngsten Entwicklungen setzt Google in eigenen Librarys darauf auf. Was sind also Coroutines und wie benutzt man sie auf Android?

Read More

iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 3

 iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 3

In this blog, we will explore a bit on the new apple frameworks: SwiftUI and Combine . SwiftUI is an very innovative and relatively simple way to build user interfaces across all apple devices with pure Swift. For developer, we have one more choices to build our UI apart from using UIKit and storyboards. SwiftUI can work perfectly alone, or mixed with UIKit. Therefore you don't need to rewrite the whole existing app in order to use SwiftUI. On the other hand, it is pure Swift code base. It allows you to set break points and debugs as business logic. Debugging and merge requests are no longer a night mare for the UI features. This declarative Swift syntax helps developers to read and write easily, and totally minimize the maintenance costs.

Read More

iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 2

iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 2

In the last episode I explained the basic approach of iOS development with Reactive Programming and Model-View-ViewModel (MVVM) architecture. In this part, I will implement a simple app using the github API to search for repositories. It will fire requests while the user is typing and the results will get updated reactively. In this article, we will use RxCocoa + RxSwift to show the experience in Reactive MVVM.

Read More

iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 1

iOS development with Reactive Programming and Model-View-ViewModel (MVVM) - part 1

2019 WWDC really surprised a lot of iOS developers in the world. One of the things that have been drawing my attention was "SwiftUI and Combine". As all iOS developers knew, in day 1, we have to deal with problems like difficult languages, interface constraints setting, storyboards merge conflict, massive view controller, untestable viewcontroller for years. They delivered solutions from day 1 until now to solve the above mentioned problems. This year, they announced SwiftUI. SwiftUI basically changes everything again. At first glance, it seems Apple turns every iOS experts from hero to zero. Quite the contrary! It makes it a lot easier to implement the Reactive MVVM pattern. Before showing some experiments, we have to understand why MVVM and Reactive programming are playing a big role in modern iOS.

Read More

Flutter – Ein Überblick über Googles Mobile App SDK für Android und iOS

Flutter – Ein Überblick über Googles Mobile App SDK für Android und iOS

Hybride Frameworks, mit denen Code zwischen Android und iOS Geräten geteilt werden kann, verführen öfter mit ihrem Versprechen „Write once, run anywhere“. Dass dieses Versprechen nicht unbedingt eingelöst wird, zeigen mehrere Blogposts namhafter Firmen wie Airbnb und Udacity, die sich von React Native zugunsten der nativen Entwicklung abgewandt haben. Die Gründe sind vielfältig und spezifisch, und sie zeigen vor allem auf, dass hybride Entwicklung kein einfacher Weg zu weniger Entwicklungszeit und -kosten bedeutet. Die Entscheidung für hybride Entwicklung muss daher informiert und bedacht getroffen werden. In diesem Post wird Googles neuster SDK Flutter kurz beleuchtet.

Read More

App Builders Switzerland 2018

App Builders Switzerland 2018

Anfang des Jahres hatte sich das Mobile Squad als Ziel gesetzt, gemeinsam in diesem Jahr zu einer Messe zu fahren. Schon jetzt können wir einen Haken dahinter setzen, denn wir waren zu Gast auf der eindrucksvollen App Builders Switzerland 2018. Das Glück wollte es, dass die Konferenz im sonnigen Lugano stattfindet, wo Alpenpanorama und italienisches Klima aufeinandertreffen.

Read More

WWDC 2017 - Was Apple für Entwickler Neues zu bieten hatte

WWDC 2017 - Was Apple für Entwickler Neues zu bieten hatte

Vom 6.-9. Juni 2017 fand in diesem Jahr die alljährliche Entwickler-Konferenz von Apple statt. Viele wissen davon nichts oder sehen nur die im Anschluss auf vielen Tech-Seiten veröffentlichten Artikel zu den Themen, die von Tim Cook, Craig Federighi und Phil Schiller in der allerersten Keynote präsentiert werden. Nur die wenigsten wissen, dass die Konferenz von Montag bis Freitag dauert und noch viele Details und sogar völlig unerwähnte Themen erst in den kleineren Präsentationen ans Licht kommen.

Read More

10 Libraries, die Architektur und Entwicklung einer iOS-App enorm verbessern

10 Libraries, die Architektur und Entwicklung einer iOS-App enorm verbessern

Die Verwendung von Libraries kann die Konzeption und Entwicklung von Apps erheblich erleichtern: Der Code wird besser strukturiert, übersichtlich und kürzer. In einem vorhergehenden Blogbeitrag haben wir bereits die 10 wichtigsten Libraries für Android-Entwickler vorgestellt. Nun wollen wir einen Blick auf das Angebot an iOS-Libriaries werfen. Wir haben uns auf GitHub umgesehen und für euch die 10 besten Libraries ausgesucht, die euch beim Programmieren von iPhone- und iPad-Apps Arbeit abnehmen.

Read More

10 Android Libraries, die Architektur und Entwicklung einer Android App enorm verbessern

10 Android Libraries, die Architektur und Entwicklung einer Android App enorm verbessern

Beim Konzipieren und Programmieren von Android Apps wird es - je größer die App wird - immer unübersichtlicher und der Code immer umfangreicher und komplizierter. Wie kann man wieder mehr Übersicht in die Architektur der App bringen? Und wie kann man beim Erstellen des Codes für immer wiederkehrende Basisfunktionalitäten Zeit und Platz sparen? Die wachsende Zahl von Android Libraries bietet hierfür einen umfangreichen Fundus an Helfern. Wir haben uns zahlreiche Libraries angeschaut und die 10 besten rausgesucht, die die Arbeit eines Android-Programmierer wirklich einfacher machen.

Read More

Model-View-Presenter anstelle von Massive-View-Controller

Model-View-Presenter anstelle von Massive-View-Controller

Ein Großteil der entwickelten Android Apps verwenden eine typische Model-View-Controller Architektur.  Häufig werden die zunächst überschaubaren Anwendungen Schritt für Schritt erweitert. Der Code wächst zu einem komplexen Gebilde und wird schwer wartbar. Durch die enge Verzahnung der Klassen mit dem Android-SDK ist der Code häufig auch nicht testbarEine Möglichkeit dieses Problem bereits auf der Präsentationsschicht aufzulösen bietet das Prinzip des Model-View-Presenters (MVP).

Read More

iOS RoboVM – eine Native Cross Plattform

iOS RoboVM – eine Native Cross Plattform

I mean, Android is Java, so there is a lot of opportunity here for sharing code between Android and iOS (Niklas Therning). Dieses Zitat des Erfinders von RoboVM aus einem Artikel auf Jaxenter.com möchte ich als Einstieg für meine Beschreibung nehmen, wie eine iOS-Applikation mit Java-Code realisiert werden kann.

Read More

Highlights aus dem MobileTech 2013 Workshop - Mobile Javascript WebApps professionell entwickeln

Highlights aus dem MobileTech 2013 Workshop - Mobile Javascript WebApps professionell entwickeln

Die Beschäftigung mit den verschiedenen Ansätzen der Softwareentwicklung für mobile Endgeräte lenkte mein Augenmerk auf aktuelle Konzepte in der Javascript-Entwicklung. Dass sich bewährte Prinzipien und Praktiken aus der herkömmlichen Webentwicklung auch auf Mobile-Web Projekte übertragen lassen, ist nachvollziehbar. Beispielsweise können dort ebenso CleanCode Richtlinien berücksichtigt und JavaScript Module Test getriebenen entwickelt werden. Dennoch gibt es spezifische Herausforderungen, die bei der Entwicklung von mobilen Applikationen ergeben.

Auf der MobileTech 2013 in München wurden im Workshop „Mobile Javascript WebApps professionell entwickeln“ derartige Herausforderungen adressiert und Lösungsansätze vorgestellt, welche anhand von Programmieraufgaben verinnerlicht werden konnten.

Im Folgenden möchte ich meine persönlichen Highlights aus diesem Workshop vorstellen.

Read More

Bericht Mobile Tech 2013

Bericht Mobile Tech 2013

Vom 11. Bis 14. März 2013 fand in München die Mobile Tech Conference 2013 statt. Das breite Themenspektrum und die interessante Mischung aus Workshops, Hands-On-Vorträgen zur Konzeption und Entwicklung mobiler Lösungen bis hin zu Themen wie User Experience oder Erfolgsfaktoren im Mobile Business hatten für jeden Geschmack etwas zu bieten.

Montag war Workshop-Tag – ich entschied mich für das Thema Responsive Design („Responsive ist noch lange nicht mobil“) von Annika Brinkmann. Responsive Websites basieren auf einem einzigen Template und passen über sog. „media queries“ den sichtbaren Inhalt abhängig von den Eigenschaften des Endgeräts entsprechend an. Es muss also immer nur eine Version einer Seite gepflegt werden, die zudem für alle Plattformen immer über dieselbe URL zugänglich ist.

Read More