Xamarin becomes the native cross-platform solution for C# and Java developers

Xamarin has announced its acquisition of RoboVM, a momentous step for both companies which means C# and Java developers need only look to a single development solution for native deployment across each of the major platforms.

The software has been a beloved tool for C# developers for some time as the only solution which enables native iOS and Android development. RoboVM offered the same ability to deploy Android and iOS applications natively, but for Java developers. Bringing the C# and Java languages together – the most used languages in enterprise development – provides a path to mobile for most developers.

Read more

Building flexible and high performance software with CQRS and Axon Framework

Many applications are built with the same architectural style: a layered architecture with (more often than not) an anaemic domain model. While easy to set up, this architectural style doesn’t help us deal with growing complexity or heavy non-functional requirements.

In this presentation, Allard will introduce CQRS (Command-Query Responsibility Segregation) and Axon Framework. CQRS is an architectural pattern that helps build scalable and maintainable software, by applying a few very simple, yet powerful, principles. Axon is a framework that simplifies the implementation of CQRS based architectures on the JVM.

Building flexible and high performance software with CQRS and Axon Framework – Allard Buijze from JavaZone on Vimeo.

 

Why JHipster? AngularJS Spring-Boot Liquibase MongoDB ElasticSearch

In the last few years the face of web development has undergone some significant changes. New technologies have appeared that have added some radically different choices for building web applications. The three major pieces involved in a web app, the client, the server, and the database, have each seen widespread changes in what is available.

When web applications first became popular, clients were simply a combination of HTML and CSS. Use of JavaScript was negligible. Over the past 15 years that trend has slowly and consistently changed such that more and more client-side code is included in web applications.

Read more

Favor composition over inheritance.

Master and Student…

Master: Grasshopper, tell me what you have learned of the Object-Oriented ways.

Student: Master, I have learned that the promise of the object-oriented way is reuse.

Master: Grasshopper, continue…

Student: Master, through inheritance all good things may be reused and so we come to drastically cut development time like we swiftly cut bamboo in the woods.

Master: Grasshopper, is more time spent on code before or after development is complete?

Student: The answer is after, Master. We always spend more time maintaining and changing software than on initial development.

Master: So Grasshopper, should effort go into reuse above maintainability and extensibility?

Student: Master, I believe that there is truth in this.

Master: I can see that you still have much to learn. I would like for you to go and meditate on inheritance further. As you’ve seen, inheritance has its problems, and there are other ways of achieving reuse.

====

This quote comes from Head First Design Patterns, I personally favor composition over inheritance.

The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.