Mobile and beyond

I want to begin this article mentioning it is a suggestion made by a teammate 1 or 2 months ago, a teammate who moving to do his dream and do what he likes and enjoys, this is a bitter-sweet feeling although I am always happy when people find their dreams and passions, anyway this is a different history.

My goal with this article is to share my thoughts and the journey in the team I work with in terms of which is the best approach in terms of technology for a mobile App development, it is a no easy decision to be made,

I've started in Mobile Development around 2005 when J2ME promised to develop an App in Java with to ability to run in many devices, but the reality was that lot of specific configurations, images and even code was needed depending on the device. Also, I remember we had many mobiles to tes same App in maximum variants as possible. This changed massively when Android and iOS came on board, I remembered my first iPhone Dev Conf in Madrid around 2009 where everything looked very promising to develop nice Apps although the programming language looked very odd to me. With Android and iOS a big step was made, they helped developers to don't get disturbed about screens sizes and different behaviors for device features like GPS, camera and others.

We can say after this new era with Android and iOS, hybrid solutions like PhoneGapp, Ionic and others appeared, but I've tried for a couple of times and they didn't convinced me for high performance Apps managing a certain amount of data, although for small Apps and for quick prototyping is probably the best choice. I've discovered those options around 2013, a bit late maybe but I've released at that moment 10 Android and iOS Apps, my bet at that moment and know is to develop Android and iOS Apps instead of use Hybrid options, maybe because I was more use to those platforms and it would be faster.

The next big step in Mobile Development is happening now from my point of view, where new "Hybrid" solutions are getting more popular in the market, we are talking about Xamarin and others. I came across Xamarin few years ago and I've recognized I've started to investigate more once Microsoft bought it. More and more Apps are being developed in Xamarin and from my point of view the key point of this is because the user interface can be defined once and it looks like the same App not just in mobiles and tablets running the same Operating System, it looks like the same in different operating systems, although my view is that a particular feature in the mobile is needed (let's say gyroscope) could be a big challenge for the Developers, needed a particular implement in each OS and imported as external library in Xamarin, probably acceptable in most of the cases.

Xamarin has let me discover other option in this Mobile Development World, its name is flutter (it seems supported by Google) and it promises one development for several platforms, although it is in a early stage and looks very young yet, but it will be good to see how it progresses.

I want to make clear I'm writing about my opinion and experience, which could be wrong but it will be nice to write a new article in the future if things change or my view is different cause I collect ore information and experience. It is a reality people in the street is very familiar with Android and iOS devices and I don't think it will change in the recent future although businesses are b coming more Microsoft friendly in terms of devices, it seems because security reasons. That means if you want to develop an App for people my bet would be for both Android and iOS Development, and if you want to develop an App for private businesses yes should probably go for Xamarin which will let you run your App in Microsoft devices but also in Android and iOS in case some businesses want to use other devices with your App.


It is very difficult to see really the next big step after the current one happening, I would say there are few questions to be answered like which is the roadmap of Xamarin to be followed by Microsoft I the next few years? Will Google introduce Flutter as one single solution to develop Apps in Android removing Java as an option? Apple see,s to be also in the same "Hybrid" way with one solution to develop Apps for mobiles, tablets, laptops, etc running OS X or iOS, will be iOS a substitution of OS X? Probably functional programming will be also an important variable in the equation of the next step in Mobile Development tale, it looks a very good language for UI, another chapter or spin-off in the history of Mobile Development would be.

0 comentarios: