A few months ago my boss came to me and announced that I was an App Developer! I felt pride and joy well up inside of me before realizing… I don’t know anything about building apps…
I work at a small web dev shop in Johannesburg, South Africa. We quote on and build just about anything so you need to be able to learn and learn quickly!
The spec was simple *insert sarcasm here*
The spec was more of a napkin with some “guidelines”. The client wanted a Property Sales “app”as a proof of concept to pitch to investors.
This was a great idea I thought, until my boss mentioned their tiny budget.
Now, like any developer would know; I am used to these situations. The client wants it all for nothing and the pie is truly in the sky.
It is easy to get frustrated, but I am a big boy and I forged on. Things aren’t so busy at the moment and I like a challenge *slowly puts on glasses and stares into the distance*.
How am I going to do this?
First things first, I needed a stack.
Being a C#.NET dev, I immediately decided that the website would be built on top of the highly extensible DNN (formerly DotNetNuke) open source CMS.
I would build a “property management” module extension, with an API layer using DNN’s services framework. The main benefit was to let DNN handle all the user management and authentication stuff for me, and I just needed to bolt on the data and services layer. To service the app.
Gorilla in the room
I was feeling good as I smashing out my DAL and API layers. Next I klapped a quick and dirty management dash together (Using Telerik’s ASP.NET AJAX) and felt on top of the world!
I then realized that I have no idea how to build an app and I don’t have much time.
Like any self respecting and slightly loony dev, I took a moment to talk to myself, “I could just build a simple HTML and JS based App!”, I exclaimed! It will be cross platform and the client will love it. Well, they didn’t. The tech savie client had heard of these crumby HTML based apps and hated the experience.
Michelle (the client) wanted a “native app” – clearly displaying her strong tech googling skills.
Hmm… what was that C# app framework they spoke about at Build 2015, “Zamarin”, I thought!
A few failed google attempts later and I found my answer, Xamarin.
Now for the uniformed, Xamarin has a few different ways to go about things (and I am going to keep things very simple):
- Xamarin.Android – build an android app in C#
- Xamarin.iOS – build an iOS app in C#
- Xamarin.WinPhone – who cares 😉
- Xamarin.Forms – build iOS, Android and WinPhone apps with a (pretty much) single code base using C# and XAML (if you want, I didn’t)
Xamarin Forms was the answer. I could build the two apps that I needed quickly and using a development model I was familiar with after working with knockout, MVVM.
Graduated to app developer
In the end, I was an app dev! The apps weren’t perfect but they “worked” and I learnt a lot along the way. My client was happy and managed to bring in some more investors on the project.
Next step will be to fully flesh out the service and try challenge the big boys in the SA property industry!
Note – I will go into my experience learning and working with Xamarin in a future post but here was the exact stack
- Website CMS – DNN
- DNN Module Tech – Telerik ASP.NET AJAX
- Service/API Layer – WebAPI and DNN’s ServicesFramework
- Apps – Xamarin Forms