Why I Switched from Web to Mobile Development with Xamarin (and What I Learned)
The author recounts transitioning from PHP and .NET web development to building Android and iOS apps with Xamarin, describing the motivations, new programming paradigms like MVVM and async, the steep learning curve, and the ongoing commitment to mastering mobile development.
My professional development career began as a web developer using PHP, then I moved to the .NET ecosystem with C# and ASP.NET MVC to continue building web applications.
Several months ago I started developing mobile apps for Android and iOS, and thanks to Xamarin I could still use C#. I wrote this article to share my feelings after making this change.
Why I Made This Decision
You might wonder why I decided to shift from web development to mobile development. I wanted to try something new and learn new skills, even though there is still much for me to learn in web programming.
I believe mobile apps have a bright future, and new devices such as smart watches present fresh opportunities for developers. It is a great chance to learn how to create applications for these emerging platforms.
Moreover, my current company offers the opportunity to use my favorite language (C#) to develop new Android and iOS applications, so I seized the chance.
New Programming Paradigm
I know programming approaches evolve; I learned this during a previous Windows Phone project. However, I was not prepared for the shift and did not think I could handle it.
Unlike web applications with a specific lifecycle, you cannot simply respond to requests. Almost everything I learned from building web apps does not help— the paradigm is entirely new.
Asynchronous programming is mandatory in this domain because running everything on the UI thread would freeze the app. I have always wanted to improve my skills in this area, and I found a good way to do so.
Separation of concerns is also different; there is no longer an MVC pattern but a Model‑View‑ViewModel (MVVM) pattern. Although I have used MVVM in WPF and Windows Phone, it is at a different level, and I still have much to learn.
Testing now requires emulators; each test involves building and deploying an emulator, and you cannot simply refresh a page to see changes. The feedback loop is long—often taking several minutes—making debugging slower and more critical.
Leaving the Comfort Zone
About two months ago I started working on mobile applications, and I still have a lot to learn. I need to handle two ecosystems (Android and iOS) and two frameworks (Xamarin and MvvmCross) that were completely new to me, along with demanding business requirements. Fortunately, I already know C#.
Every day I grapple with “how‑to” questions related to the new development environment, such as “What if the network is unavailable?”, “What if the solution is too slow?”, and “How can I provide the best experience for the client?”.
Sometimes I spend an entire day without producing anything, and I feel useless—like a fraud—because I cannot deliver value at work, which makes me question my identity as a professional developer.
That feeling resembles stepping out of a comfort zone and experiencing the peaks and valleys of the learning curve.
Never Give Up
I am not the only one making this transition; everyone on the team faces the same learning load, from senior to junior developers.
Looking back on the past two months, I realize I still have many shortcomings and a long road ahead, but I have also learned a lot, especially becoming more familiar with asynchronous programming and MVVM concepts.
If I want to become a professional mobile developer, I must keep learning, continue delivering value that meets client expectations, and persist despite occasional frustrations. I have no regrets because this is a fantastic learning opportunity, and I am confident I will succeed no matter how long it takes. In the future, I will share Xamarin tips and tricks.
Hope to see you next time!
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
21CTO
21CTO (21CTO.com) offers developers community, training, and services, making it your go‑to learning and service platform.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
