After many sleepless nights I have molded together an idea how the cross-platform mobile apps should be developed and what tools I would like to use...
My interest lays in enterprise kind of development, so when I was hand picking appropriate tools
the price was not a main factor for selection, instead the ease of development, maintainability and
possibility to quickly acquire developers for a given mobile project was made a priority.
Since I like C# and F#, I would like to use .Net platform to develop the apps. So bad the .Net is
Microsoft OS framework. Luckily I was wrong, we can use Mono, which makes it possible to run .Net on almost any OS. To start with, I would like to be able to write apps for iOS and Android using only
one set of application code . Well, the problem is, the iOS wants to be written in Objective-C and Android in Java. It means, I would need to use ObjC/C# and Java/C# and ... it does not look like
a fun I am looking for .
Fortunately, Xamarin has created a nice product, which uses the bridges behind the scenes, so I don't need to worry about it . Their software (Mono based) runs on iOS and Android and is hiding from me
all the magic of calling Java and Objective-C from C# ....
Still, Xamarin.Android and Xamarin.iOS is pretty "low level" for my taste, so I want to use another
framework build on top of it. There already are MVVM frameworks for Monodroid and Monotouch
(old names for previously mentioned products) so hopefully I will get some fresh ideas when I will be putting together a library (or should I call it a framework?) for cross platform mobile development.
There are also DSL based solutions, which I would like to investigate in a near future.
Thus, I cooked up some chart that I would like to follow:
Please, take a look and next time I will try to explain what the art above means......