8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

Eight Smartphone Applications

Eight Smartphone Applications

Auf Deutsch lesen

This semester at the FHNW I participated once more in a workshop module. Again it was held by an external company called Zühlke from the greater Zürich area. Basically the workshop revolved around getting a glance at the development of smartphone apps.

Eight times the same functionality should be implemented differently. As platforms the current market leaders were chosen: Android, iOS and Windows Phone. For the first three applications we used the development interfaces and programming languages provided and recommended by the manufacturers of those platforms. These are as follows:

Android

Eclipse and Java

iOS

XCode and Objective-C

Windows Phone

Visual Studio and C#

Task

MegaCRM Logo

We should develop a CRM application called MegaCRM. The requirements probably won't shock you: Minimally every app should be able to list customers, add a customer, show a customer, edit a customer and delete any customer. Through a REST based interface we were provided with an assortment of customer data. For every application a skeleton/template, for us to build upon, was provided. This was to make sure the course would not take up way too much time for the two ECTS credits awarded.

Implementaion

Windows Phone

At first the Windows Phone application was developed. Parallel to this workshop I visited a module called introduction to C# and the .NET Framework. Important concepts which were covered in this module like Events and LINQ and the similarity to the good old programming language Java helped me get going.

Übersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von Kundendaten

Android

Next in the line of succession was an app for the market leader. This one was quite a tough nut to crack, since the template provided was very lean and we had a lot of work to do. At least an afternoon went by until I finally grasped the basic principles for the development of Android apps.

Übersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von Kundendaten

iOS

We didn't have the time to really learn the Objective-C programming language necessary for the development of native iOS apps. At least we got a pretty good introduction during class, which explained the Interface Builder and the basic elements of Objective-C. What follows are some minor modifications (logo and map integration) of the almost completely provided source.

Übersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von Kundendaten

Xamarin for Android and iOS

The remaining apps were also developed for these platforms. However, different and cross-platform solutions were used. Instead of using Visual Studio and C# on Windows to develop for Windows Phone, one can use a software called Xamarin to write apps for iOS and Android using the Windows native tools. So, another two apps emerged, one for the OS of Google and one for Apple devices.

I didn't have the time to have a closer look at Xamarin. What I can say is that it's got to be a good steppingstone for a Windows developer to find his way to different platforms.

Android

Übersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von KundendatenLöschen eines Kunden

iOS

Übersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von KundendatenLöschen eines Kunden

One Code, Three Platforms

A technology called PhoneGap allows you to write an ordinary web application using HTML, CSS and a little bit of JavaScript. PhoneGap will then transform it, so that it (almost) looks and feels like any other smartphone app.

This worked very well for iOS and Andriod. And since a JavaScript library, I had already used in another workshop, was used, these apps turned out to be even better than the native ones mentioned earlier.

iOS

Login für AnwenderÜbersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von Kundendaten

Android

Login für AnwenderÜbersichtsliste mit allen KundenAnsicht eines einzelnen KundenBearbeiten von KundendatenLöschen eines Kunden

As you can see these apps have the following additional features:

Windows Phone

For Windows Phone the procedure was pretty much the same as for the others, but the result still leaves a lot to be desired.

Login für AnwenderÜbersichtsliste mit allen KundenStatt einen Kunden anzuzeigen, wird im Store danach gesucht
Ionic

Apart from the AngularJS Framework, which I already mentioned, we used a HTML and CSS Framework called ionic. Just like the popular Framework Bootstrap in the past has made it easy for me to design a seemingly professional website in minutes, this Framework does the same but for smaller screens. The only sad thing though, is that you have to say goodbye to responsive web design. The app/website will only look good on reasonably small screens.

Signpost

In the future I will be developing my first app for Android. I made this choice even though I liked developing for Windows Phone and iOS more and the results also made a better impression on me. Also I'm not a masochist who likes to provide the same icon in dozens of different sizes, as you pretty much have to do on the highly fragmented Android platform. But, all of these drawbacks cannot make up for the huge momentum and market domination Android currently holds and so I'm sold on it.

Signpost

August 18, 2014


Stamina
Stamina

December 20, 2014

Look, But Don't Touch
Look, But Don't Touch

August 31, 2014