One week with Xamarin.Forms
The front-end journey
Just as the image says, we live in a world where everything is mobile and connected, so it was very clear to me what path to choose, which is mobile.
Xamarin, the perfect transition
Because I already had experience working with C#, the transition to Xamarin was not that painful. Obviously, the mobile and the web worlds have their differences, even if you are working with the same language. The hardware limitation on the mobile makes you see in another perspective compared to a web server; your code has to be more efficient and asynchronous in order to have a not-laging user experience.
Xamarin comes in two different flavors: Xamarin Native(traditional approach) and Xamarin Forms. The first one is using the Native UI of each platform (iOS, android, windows phone), and the other is using single unified UI language, which in this case is XAML. You can learn more about when to use them here.
In the final analysis I decided to go with Xamarin Forms and two weeks after starting the official xamarin book, a friend came to me with a challenge. The challenge consisted in creating an application based on a given UI design that he would provide, the time limit was one week. I’m a person who likes challenges so I accepted.
Farfetch is a mobile application that allows you to shop online from boutiques around the world.
All the UI pages are in this link.
In order to create this application I used different packages; the most important was Prism, which is a framework to create maintainable applications with XAML.
One should really find a reason for not use Prism; Miguel de Icaza, one of the founder of xamarin said in the last xamarin evolve keynote “I think you should use Prism”, and he is the expert, not me. Another nice reason to use Prism is something called deep linking.
So what exactly is deep linking? I’m glad you asked. Deep linking gives you the ability to navigate to a predefined navigation stack using a simple URI.
Prism also has an IoC container which is required to accomplish the SOLID principle.
Fail or Success ?
You can be the judge of that, just checkout this repository, where you can see the desire design vs the current design side by side and also more technical details.
Thank you everyone for reading my first post, if you have any suggestion hust leave it in the comment area.