Dynamische Inhalte mit UX-Bridge und FirstSpirit am Bsp. Apache Solr

erweiterte Architektur mit UX-Bridge

Das FirstSpirit Enterprise CMS von eSpirit stellt in erster Linie eine Plattform für die Vereinheitlichung, Verwaltung und Veröffentlichung von vorhandenen Daten, Applikationen und Prozessen dar. Ein Hauptaugenmerk fällt dabei auf die Vorgenerierung und Publizierung von Inhalten. Durch die statische Auslieferung … Weiterlesen

Der Weg zum einheitlichen Kundenerlebnis – Zwischen Integration und Plattformlösung

Ziel: Die digitalen Kanäle eines Unternehmens werden als einheitliches Erlebnis wahrgenommen

Immer mehr Anbieter aus den Bereichen Content-Management, Commerce und Marketing versuchen das Funktionalitätsspektrum ihrer Produkte zu erweitern und eine ganzheitliche Plattform anzubieten, mit dem Ziel, „das Kundenerlebnis quer über alle digitalen Kanäle und Berührungspunkte zu managen, auszuliefern, zu messen und zu … Weiterlesen

Wie erreichen wir Kunden im 21. Jahrhundert? Integration von Mobile in Geschäftsmodelle.

Abb. 2: Couch Commerce.

Es ist eine Tatsache: Der Einzug neuer Technologien in unseren Alltag hat alles geändert. Unser Kommunikationsverhalten. Unser Konsumverhalten. Unsere Erwartungen an jegliche Form der Dienstleistung. Und entsprechend auch das Verhalten unserer gesamten Umwelt, einschliesslich der Unternehmen, die uns erreichen wollen. … Weiterlesen

Devoxx 2014. Meine Eindrücke

Diesen November durfte ich mit einigen Namics-Kollegen die Entwicklerkonferenz Devoxx in Antwerpen besuchen. Die Devoxx konzentriert sich auf Java, Android und Web-Technologien und gilt mit ca. 3500 Teilnehmern als größte Konferenz ihrer Art. Die Auswahl der Referenten ist hochkarätig: Google, Oracle und Pivotal schicken jeweils ihre Kernentwickler zur Devoxx, um die neusten Entwicklungen selbst vorzustellen.

Folgende Vorträge möchte ich kurz anreissen:

Android Development Tools

Das Android Studio und das Gradle Android Plugin sind zwar immer noch in der Beta-Phase, jedoch gibt es keinen Grund mehr, die alte Eclipse-Suite zu verwenden. Neben kleinen Verbesserungen in der IDE, wie beispielsweise den neuen Übersetzungseditor, den umgeschriebenen AVD Manager und den Introspection-Annotationen, gaben die Entwickler auch einen kleinen Ausblick auf ihre künftige Arbeit. So wollen die Entwickler primär die API stabilisieren, und gleichzeitig die Gradle-Performance beim Laden von Projekten erhöhen. Eine Publikumsfrage nach einer Alternative zu Java wurde leider nicht beantwortet.

HTTP 2.0 comes to Java.

Das auf SPDY basierende HTTP 2.0 Protokoll wird mit der Servlet API 4.0 Einzug ins JDK finden. In diesem Vortrag fasst Edward Burns (JSR-369 Spec-Lead) die wesentlichen Änderungen von HTTP 2.0 zusammen (Multiplexing, Server Push, Header Compression), und präsentierte anschliessend Fragmente der neuen geplanten API. Erwähnenswert sind noch die neuen HTTP-Client-Klassen HttpRequest und HttpRequestGroup, die bisherige Drittlibraries (wie den Apache HttpClient) ablösen werden. Mehr zu diesem Vortrag finden Sie in diesem Slidedeck.

Java 8, 9 and beyond – Ask the experts

Brian Goetz (der Architekt der Java-Sprache) und Stuart Marks stellten sich den über Twitter eingereichten Fragen des Publikums. Auf die Frage, ob die Rückwertskompatibilität von Java eine Last („burden“) sei, antwortete Goetz, das diese Rückwertskompatibilität eher als Rahmenbedingung („constraint“) gewertet werden sollte. Oracle hat den Anspruch, dass der Java-Code, der vor über 15 Jahren geschrieben wurde, auch weiterhin funktioniert. Die Rückwertskompatibilität von Java sei definitiv ein Mehrwert, der sich von anderen Sprachen absetzt. Änderungen an der Sprache werden nur sehr vorsichtig und unter langem Abwägen eingebaut. Scheinbar simple Anfragen z.B. nach Literalen für Listen können nicht einfach eingebaut werden, da bspw. nicht klar sei, welche List-Klasse nun wirklich instanziert werden sollte (LinkedList, ArrayList, Stack ?). Insgesamt ein sehr spannender Vortrag, der Einblicke in das Denkmodell der Java-Architekten bot. Meine (zugegebenermaßen leicht abstruse) Frage nach „Automatic Reference Counting“ für Java wurde leider nicht beantwortet.

Java Posse Podcast

Dieser beliebte Java Podcast wurde in den letzten beiden Jahren nur spärlich aktualisiert, da sich die Podcaster in unterschiedliche Richtungen entwickelten und eigene Podcasts gründeten (The ScalaWags und Android Developers Backstage). Immerhin: Auf dieser Devoxx haben sie jedoch die allerletzte Folge vor Livepublikum aufgenommen und ein Résumé der letzten 10 Jahre gezogen. Sehr spaßig.

Java Posse - Live at Devoxx 2014

 

Fazit

Der Besuch der Devoxx hat sich definitiv gelohnt: Die Veranstaltung bietet spannende Inhalte, hochkarätige Speaker und ist gut organisiert. Jedoch bietet die angemietete Fläche im Metropolis Antwerpen nicht genügend Platz für 3500 Personen. Lange Schlangen und viel Gedränge in den Gängen waren die Folge. Hier sollten sich die Organisatoren für nächstes Jahr etwas einfallen lassen.

Continuous Lifecycle 2014 in Mannheim – Tag 2

Nach dem interessanten ersten Tag, über den Torsten Gerbig bereits berichtet hat, begann der zweite Tag der “continuous lifecycle 2014″ für mich mit einem sehr gelungenen Vortrag tum Thema “Effektives Konfigurations-Management mit Chef, Vagrant und Veewee”. Hintergrund der Vortragenden ist die Entwicklung eines Integrations-Tools, welches Third-Party-Systeme miteinander verbindet. Die große Herausforderung, die sie mit dem vorgestellten Toolset bewältigen, sind die automatisierten Tests ihres Produkts gegen eine Menge dieser Third-Party-Systeme, die auch in jeweils verschiedenen Versionen getestet werden müssen. Daraus ergeben sich mehrere hundert verschiedene Konfigurationen, für die jeweils virtuelle Maschinen bereitgestellt werden müssen. Die Tools wurden jeweils kurz vorgestellt, und anschließend wurde die Verwendung anhand eines vereinfachten Beispiels erläutert, zusammen mit einigen Learnings und guten Tipps für eigene Projekte. Insgesamt fand ich diesen Vortrag sehr informativ und gut aufbereitet. Es hat Spaß gemacht zuzuhören.

(mehr …)

Continuous Lifecycle 2014 in Mannheim – Tag 1

Die zweite Auflage der Continuous Lifecycle fand dieses Jahr im Cogress Center Rosengarten in Mannheim statt. Der Andrang war mit 350 Teilnehmern so groß, dass die Kapazitäten am Vorjahres-Austragungsort in Karlsruhe nicht ausreichten.

Die diesjährige Veranstaltung widmete sich Konzepten, Prozessen und Tools von Continuous Delivery, DevOps und Agile ALM und versuchte auch dem entsprechend eine Mischung aus diesen Themen zu bieten. Zur Wahl standen an beiden Veranstaltungstagen der Konferenz in allen Slots jeweils drei Themen, wobei mir die Auswahl teilweise wirklich schwer fiel, da einige Talks, die parallel stattfanden, sehr interessant klingende Inhalte hatten. (Wer mag sich zur Zeit schon gerne zwischen Themen wie “Docker” und “DevOps als Kultur” entscheiden?) (mehr …)

NSSpain – iOS Conference review

From the 17th of September until the 19th the iOS conference called NSSpain took place for the second time. We – Tobias Baube and Adriano Segalada attended this conference in the beautiful host town Logroño.


(mehr …)

Xamarin – Cross Platform Mobile Development (3/3)

xamarin_logo

Nach den Herausforderungen der Native Mobile App Entwicklung der Gegenwart in Teil Eins und der Vorstellung von Xamarin in Teil Zwei dieser Blogserie, abschliessend Einblicke und Learnings aus direkter Projekterfahrung. In den letzten Monaten haben wir verschiedenste Erkenntnisse in der … Weiterlesen

Xamarin – Cross Platform Mobile Development (3/3)

After examination of the present native mobile app development challenges in part one and the introduction in Xamarin in part two of this blog series, the final part comprises insights and learnings out of direct project practice.

visualstudio_xamarinstudio

In the last months we collected various insights into the implementation of an iOS and Windows 7 client using Xamarin.

Basically we can anticipate that the experience was predominantly positive. Nevertheless we must mention flaws that should be considered prior a project launch.

Advantages – General

• A platform neutral code-basis up to 50% – 70% is achievable.
• It is possible to parallelize web development (incl. backend) and frontend development teams by the separation of UI and business logic.
• As a Xamarin Partner (Premium Status) leads could be passed on.

Advantages – Technical

• Complete Two-Way Data Binding is available.
• A strict separation of UI and business logic is enforced.
• Theoretically it is possible to maximize the Code-Sharing proportion up to 100% using Xamarin Forms
• The used toolchain is known and technically mature. Visual Studio, TFS, Jenkins, Git, etc. (Xamarin Studios is not listed but has to be used on Mac)
• In case there is a productive .NET backend, the existing data model inclusive logic can be used for the client development.

Unfortunately, beside these positive aspects we also discovered a bunch of unpleasant peculiarities:

Disadvantages – General

• Out of an Android and iOS point of view one gets caught in the Xamarin Ecosystem. The existing codebase cannot be used further in case of changing to a direct native iOS or Android development later on. As a consequence the whole client has to be redeveloped.
• Visual Studio as Windows IDE is sufficient. Xamarin Studio, which is required for development on Max OS X, is not as mature as Xcode or AppCode and can be frustrating.
• Apple’s instruments – one of the most helpful iOS development tool – is near entirely useless because the .NET Runtime is blackboxed for this application. Only less important attributes can be monitored. Thereby it is referenced on Assembler-References in general. This circumstance withdraws an important optimization and analysis tool from the developers.
• We encountered several app crashes that I haven’t experienced during my four years classical iOS development not even once.

Disadvantages – Technical

• The Xamarin-“Overhead” respectively its footprint increases direct proportional to the amount of linked APIs and slows the app launch down.
• Platform specific and C#/.NET architecture-concepts are mixed. Therefore the client-specific implementation has to be reconsidered.
• Xamarin related bugs are possible because of an additional layer in the toolchain (https://bugzilla.xamarin.com/buglist.cgi?quicksearch=*). These bugs can cause not reproducible app crashes.
• The threading deviates from the known platform specific behavior. The Grand Central Dispatcher (Mac OS X and iOS) is not available for instance.
• Although an existing KeychainItemWrapper, the keychain access is unstable on iOS systems.
• XIB’s has to be modified on Xcode. Changes will be adopted by synchronization between Xamarin Studio and Xcode (IBOutlets etc.). If this process fails it has to be initialized manually.

Outlook

Xamarin Forms is a further attempt to transfer the platform specific UI code into platform neutral code. A nearly platform neutrality could be theoretically achieved by a new API which provides pages, layouts and controls. Unfortunately this is not sufficient for complex GUIs because a generic UI, based on the greatest common factor / similarities, will be established again.

Conclusion

As often the world is not black and white. Therefore Xamarin cannot be recommended unconditionally but it’s neither a further unsuccessful Cross Platform Development approach. The decision to use Xamarin depends on the project specific conditions and requirements. After our first huge Xamarin project we acquired the needed know-how to support you as a potential customer in the decision-making process.

A special thanks to my colleagues Tobias Baube and Christoph Bühler which personal experiences greatly contributed to the advantages and disadvantages in this post.

Author of original german version: Alexander Maier

Seite 1 von 2012345...1020...Letzte »