Update or Not...

That is the question. My first main Xamarin project was done using their PCL “Portable” system. It was fairly easy to set up though I spent probably just as many hours dealing with Xamarin workarounds as I did my own code. The advantage was one codebase for three platforms and being able to use C#.

Since then Xamarin has been pushing using .NET Standard builds instead of PCL. In fact PCL is no longer available creating a new project. So I decided to try updating my app to .NET. The process is somewhat simple and I used this article as a guide. Actually I had done this before on a smaller project.

Things went well as far as the conversion went for the Android version. But the iOS version threw some errors I still haven’t sorted out. The problem is it doesn’t like one of the plugins I used but Visual Studio 2017 doesn’t exactly tell you which plugin it is. Great.

I could probably continue shipping the product using PCL as it builds fine that way. And besides I have an idea for a better interface. As it is there are two versions of this app, one in portrait for phones and one in landscape for tablets which is also used for a Windows 10 (UWP) app. I had even originally looked at using a responsive design layout which would have worked for both but there seemed to be a request for a landscape version for Android tablets less than 10” like I had on my flagship smaller app.

Trouble is in two years now almost no one bought the landscape version for Android. My new layout is responsive design so only one codebase needed. Also iOS came late to the party a year after the initial release. Unlike most Android tablets the iPad is more like a 4:3 aspect ratio as compared to Android tablets which are often 16:9. There are more square Android tablets but if the layout is for 16:9 Android letterboxes it appropriately and iOS does not.

I still like Xamarin but have been making forays as mentioned here into other frameworks such as React. However, as usual, I don’t like to be stumped so I will probably still hammer away at getting a .NET Standard version of the original project.

Buzzwords: React

As many of us know the software industry is always filled with buzzwords and the latest trends. I often like to check out what is new and see if there is any opportunity for fun, learning and maybe some extra income.

I’ve mentioned that I like Xamarin for cross platform development. But there are other solutions looking to compete in that market too. One is React which uses JavaScript to do things from websites to native mobile apps. Chances are if you’re a software developer reading this you already may know more about React than I do or am going to present so bear with me.

To be clear a lot of React uses TypeScript which “typed” JavaScript and therefore much more organized than basic JavaScript. It lets you set things up in classes. I had a hand at TypeScript before trying React and didn’t find it all that daunting. And I have been using JavaScript for years in site and web apps including some HTML5 games.

React is also set up in a way like Xamarin in that your have a root App file in JavaScript (Xamarin has a root App.cs C# file). React renders as does Xamarin.

Regarding “buzzwords”, a few years back I looked at a small mobile project which the client wanted done with Unity 3D. I thought Unity was a bit overkill for what they wanted but got the impression someone (probably NOT a software engineer) told them “it was the way to go”. The app was not 3D but 2D. Hence overkill and Unity has a big player more suited for games.

So now the “buzzword” seems to be “have them use React as it is the way to go.” In this case it might be true for mobile apps. But I’ll see as things progress.

React has been around for awhile but it was fun looking at and trying some tutorials only to find you couldn’t finish them because even though only a year old they were already out-of-date! What I found it was best just to go to the React website and go through their tutorials and examples because they are maintained!

https://reactjs.org/