Data Science done right

Data Science done right
Philipp Rebsamen12.02.2019

As I have recently passed my MCSA in Machine Learning, Data Science and Analytics with Microsoft R and Azure ML, I decided to share some thoughts on the topic of Data Science here at CSA Engineering.

Buzzkiller
The term “Data Science” has been a buzzword for quite some time now, slowly replacing traditional concepts such as business analytics, business intelligence and in some case even classic statistics. As usual, buzzwords tend to be viewed as an “entry ticket” to being considered as a successful organization. Especially big companies, whose scale alone suggests that there should already be a plethora of different data types available to consume, understandably believe they have a great deal to gain from Data Science.
Unfortunately though, many times companies just hire or train specialists, provide them with access to their data and turn them loose, expecting smart ideas and break-through results in an instant. Data Science projects with such a mindset are usually doomed from the get-go and will turn into a real “Buzzkiller”. There should always be, at the very least, an overarching goal to pursue and everyone should commit to it.

–> mehr erfahren

Cross Platform Development

Cross Platform Development
Pierre-Yves Schütz 15.11.2018

Development of mobile applications running on different platforms is always a matter of tradeoff.

An obvious approach is to design a native application for each desired platform. This implies developing and maintaining a code base in a different programming language for each of them: Java for Android, Objective-C or Swift for iPhone, C# for Windows Phone.

Making mention of Windows Phone, Microsoft communicated last year that they are not going to invest any more in new features or hardware for their mobile platform, de facto announcing the death of the Windows Phone. Even though it never gained a large market share, mobile cross platform nowadays definitely means support for Android and iOS.

An alternative is to deploy a hybrid development framework such as Ionic or Apache Cordova, based on the web technologies CSS, HTML5 or JavaScript. Following the ‘write once, run anywhere’ precept, a single code base can be used for all platforms. The UI elements are rendered as HTML pages, leading to a performance hit and a different look and feel than with native apps.

In between, there are a few toolkits that promise the best of both worlds: a single stack of technology for all platforms, access to all the native APIs and widgets for the developer, and a familiar user experience for the end user. The most mature of them, Xamarin, has been around since 2011. Other solutions such as React Native and Flutter are also worth mentioning.

Xamarin

Xamarin runs on Mono, an open source and multi-platform implementation of the .NET Framework. Microsoft has acquired the company behind Mono and Xamarin in 2016 and massively supports and advertises the toolkit ever since. Applications for Android, iOS and Universal Windows Platform are built using C# and Visual Studio.

Using Xamarin.Android and Xamarin.iOS products, only the business logic can be shared, limiting the potential for code reuse since a specific user interface must be created for each platform.

With Xamarin.Forms the user interface can also be shared across platforms, typically allowing between 80 to 90 percent of code reuse. The UI layer is described with XAML in a very similar way as with WPF. The performance is close to native apps and the controls are rendered as native widgets. Moreover, Xamarin has full access to the Android and iOS standard libraries. The app is larger than a native one, because the .NET Framework (stripped from all unused libraries) is enclosed with it. This means that the .NET virtual machine runs on top of the Java virtual machine. For demanding applications such as games, the performance penalty of Xamarin over a native app might thus become significant.

–> mehr erfahren
Diese Webseite verwendet Cookies. Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Datenschutzinformationen