Showing posts with label mvvmcross. Show all posts
Showing posts with label mvvmcross. Show all posts

Thursday, 25 February 2016

Ninja Coder for MvvmCross and Xamarin Forms for Visual Studio 2015



 

So first of all thoughts on Microsoft buying of Xamarin.

Well its something all followers of Xamarin thought might happen and now it has.

As with all Microsoft purchases you never know quite how it will work out - they have a chequered history of acquisitions.

There is no doubt that Xamarin licenses are too expensive to indie developers and the Xamarin code base - especially Visual Studio integration and Xamarin Forms has far too many bugs to be acceptable for such a high cost to developers.

Additionally communication has been patchy at best from Xamarin and non-existent at times!

There doesn’t seem to be a public roadmap for Xamarin products either.

That all sounds very negative on my part - but if things turn out well with the Microsoft and Xamarin love in all the above is solvable given Microsoft's vast resources :-)


Now to the reason for this blog post!

It has taken much longer than I thought it would be I’m just about there with Ninja Coder for Visual Studio 2015.

The biggest challenge was moving from a 'studio add-in' to a 'vs-package' - You would assume that would be quite straight forward especially as I had kept almost all the code in a separate assembly away from the 'add-in' assembly.

The truth is it has been painful - additional complexity was around getting the Vsix installer working  - better documentation around these 2 things from Microsoft would have helped!!

This version also supports the recently launched MvvmCross 4.0 - mainly namespaces changes for me to update (quite a few of them!!!)


Other highlights that have been introduced in the new shiney version include:-
  • Support for Adding Xamarin Forms Dependency Services
  • Support for Adding Xamarin Forms Custom Renderers
  • Support for Adding Xamarin Forms Effects 
  • Support for Xib files in MvvmCross iOS projects
  • Suppot for Storyboard files in MvvmCross iOS projects
  • The ability to select the Startup project on the Finish screen of the 'Add Projects' wizard
  • Support for Xamarin Forms Build time compilation 
  • Coding style improvements - support for removal of file headers and xml comments and 'this' pointer
  • Several UI tweaks and improved options

This version of the Ninja Coder is currently in beta testing - if you would like to test (please help!!!) get in touch via twitter @asudbury

thanks

adrian.















Monday, 17 February 2014

Ninja Coders for MvvmCross Part 8

 
VS2013 we have lift off!
 
 
Support for VS2013 is now here - this has been the number one request by far - so enjoy :-).

Other note worthy things :-
 
The first thing you will notice is that the Ninja has had a makeover (or lick of paint as we say in the UK)! For better or worse I've moved the UI to WPF and used a metro style theme. You will be happy to know you can change the theme colors via the options screen as shown below.
 
 
 
Other things that have changed are back tracking a bit on testing and mocking frameworks - I started with MSTest and then moved to NUnit (both with Moq mocking framework)
 
Now I support both MSTest and NUnit plus Moq, RhinoMocks and NSubstitute as mocking framework (will attempt Microsoft Fakes at some point - any help with this would be great!)
 
Frameworks can be changed via the options screen as shown below.
 
 
 
User Plugins now supported. This means you can add your own plugins to the Ninja (and also override current ones defined to the system) - All you need to do is copy your plugin to the user directory following the plugin naming convention and hey presto it should appear as an available plugin to install.
 
 
 
Still work in progress but you will be able to select different View templates - at the moment you can select blank, sample data and web. I can see more views coming time permitting - which should make it easier to jump start development.
 


The Ninja now has an in built update notification facility too!

There are other bug fixes and minor enhancements, there a couple of things that need some work but I was keen to get this release out to support VS2013 and MvvmCross v3.1.

As always feed is welcome.
 
 
 
 
 

Saturday, 26 October 2013

Ninja Coders for MvvmCross Part 7


 

Its all about the community.

Ninja for MvvmCross version 2.2.0 is now available for download.

The focus of this release has been on improving the plugin support and also nuget integration  especially around plugins.

The following core plugins have been added to the list :-

  • FieldBinding
  • JsonLocalisation
  • MethodBinding

To try and improve the discoverability of plugins I have added the following community developed plugins :-

  • AppId
  • Bitmap
  • Connectivity
  • FaceTime
  • Settings
  • SimpleWebToken
  • SMS
  • Sqlite (Community version)
  • UserInteraction
  • Vibrate 





Please note that some of these community plugins are not available via nuget,
in cases where this happens the ninja will install the local version.

Some minor bugs have also been fixed and some performance improvements have been made.

Wednesday, 9 October 2013

Ninja Coders for MvvmCross Part 6

 
 
 

Sometimes no change is good.


 
Version 2.1.0 of the Ninja Coder for MvvmCross is now available for download from the Visual Studio gallery.
 
Again its not that exciting. Version 2.1.0 is now built with MvvmCross 3.0.13 and there have been a couple of small changes.
 
Change No. 1 is a link to the MvvmCross Plugins Wiki page from the 'Add Plugins' option.
 
Change No. 2 In the 'Add ViewModel and Views' option you now have the ability to set which ViewModel the newly created ViewModel was navigated from and also which ViewModel the newly created ViewModel will navigate to!
 
I told you they weren't very exciting!
 
I am working hard on providing the 'Add Service' functionality. I am in the middle of creating services for :-
 
  • LocationService
  • SqliteDataService
  • WebRequestService
  • DropBoxService

and also plan to add in my first release :-

  • AzureMobileService (though I must admit its still very early)


The problem is its turning out to be a lot of work :-(


 

Tuesday, 23 April 2013

A C# dinosaur in a mobile world



As a C# developer of many years I've come to think of myself of a bit of a dinosaur in this brave new mobile world.

With the love from Microsoft around c# waning away with the demise of WPF and Silverlight and new kids on the block like HTML5/JavaScript being welcomed to the Windows8 party, C# developers start to question their future.

I've spent many long evening trying work out how the hell this WPF data binding, command routing, converters and view models are supposed to work, I'm no way an expert on WPF but I've come through the other end with a decent understanding of how things hang together.

In other moments I've tried to build an iPhone app with objective c - it was a painful experience - I paid my $99 dollars to be an Apple developer, bought several books, read many blogs and even signed up for the on-line Stanford iPhone course.

Xcode is no Visual Studio and Interface Builder is not my UI builder of choice - I still don’t understand outlets.

I'm not interested if c# or objective c is better, I'm interested in what’s best for me and it isn't objective c.

I did manage to build a fairly complex app and got it running on my phone and felt fairly pleased with myself until a non-technical friend said to me ‘Can you put on my Android phone?’

<Sigh> - No way was I going through that again in Java!

Still determined to crack this mobile development I turned to HTML5/JavaScript – after all this means I could build for both iOS and Android.

Now I quite like JavaScript especially JQuery and the assorted libraries - so I went into this in a positive frame of mind that this was the way to go.

It was easy to knock together a HTML app that ran in the browser, but it sort of felt easy to do it wrong - it reminded me of my early visual basic days when it was easy to put together (badly) a windows app.




You can’t argue that developing mobile apps in HTML and JavaScript is definitely an option and for many people the right option.

I used PhoneGap (other frameworks are available) that allowed HTML apps to run locally on the phone.

Somehow the app still felt like it was a HTML app and not a native app – like I say I was probably doing things wrong but I wasn't happy with what I had produced. Building a HTML app for mobile felt like I was doing it this way because it was the easiest not the best.

I saw one quote that said building mobile apps in HTML was guaranteed to be cr*p on all platforms – I think that is unfair but I understand the sentiments.

I still yearned to use C# to do mobile development, I wanted to take the familiarity of using my tools of choice, things like Visual Studio 2012, ReSharper, TFS, my own plugs in, code generators, templates, code snippets and network of people and websites built upon over the years.

What would be even better is if I could take all those painful long nights learning data binding etc. with WPF into my mobile development world.....

Enter stage right Xamarin and MvvmCross