I have done a lot of Windows Phone app development in the last couple of years. Admittedly, most of these apps were far from being useful and were more of a by-product, of me experimenting with the Windows Phone platform.
Nonetheless, writing all these apps and even more writing about writing apps, gave me a pretty clear idea of the kind of application development framework that I wished existed, when I was writing all these apps.
So I started collecting reusable pieces of code and created my own collection of useful helpers, snippets and controls. With every app I developed, I found more reusable pieces and redundant steps that could be avoided and my custom application development framework grew larger and larger.
What I hate with a fierce passion when it comes to software development, are repeated manual steps, in order to achieve usually trivial goals.
A couple of months ago I decided to host my framework on GitHub, mainly because I hadn’t worked with Git a lot and wanted to learn about this source control system. But I always considered this repository more a “private thing” (a cloud backup of my source code), since I did not have any documentation for all the framework classes and functionality (I still don’t to be honest) and did not expect anyone to have interest in this framework.
But recently I changed my mind about this, when I blogged about one of the custom controls in the framework - Fancy Geometric Background Control - and found out, that people might actually care about it.
So, thanks a lot to @NicoVermeir who gave the deciding nudge in the right direction asking for a NuGet package containing the FancyBackgroundControl.
It started out as a framework for my Windows Phone 7 projects - cleverly named WP7Utils. Soon Windows Phone 8 came around and the name wasn’t so clever anymore. Also, I started porting it to WinRT because I also did some app development there. So basically, I had to do some porting for my new framework.
Apologies for the lame pun, but I kinda liked the name and stuck with it.
What is Newport
Newport is an app development framework which supports my personal application development approach of being purist MVVM. It contains a lot of useful ViewModel base classes, attached properties, extension methods, custom controls and basically everything that helps me avoiding having to write code-behind in my apps.
Newport helps avoiding code-behind.
Consider this blog post an introduction, kind of Newport’s personal “Hello World”. Future blog posts will demonstrate its usage and (hopefully) usefulness. Meanwhile, feel free to check out the source code or the NuGet package.