Cross Platform Development with Xamarin! Is It Worth It?

Xamarin as a compiled cross-platform solution claims to offer obvious benefits that seem to make it the perfect solution when trying to reuse code or integrate with an existing solution. The tech industry increasingly requests Xamarin experience and more Xamarin consultancies and startups pop up in the scene, making it attractive for newcomers and job seeker alike. But it wouldn’t be the first solution to promise everything and deliver nothing. With Microsoft’s seemingly disinterest with its own Windows Phone, Xamarin as a Visual Studio native seems to be their biggest stake in the mobile market, but how good is their play and is it worth even looking into this technology?

Three years ago I wrote my dissertation about the usability of Xamarin, evaluating Xamarin against native development and doing performance testing between the two approaches. Back then, it was clear that Xamarin had a lot of work to do to overcome being a nice product only for a small number of businesses, still lacking a long list of important things. In the meantime, Microsoft has taken over and we see more Xamarin apps pop up every day, so it is time to reevaluate.

In this talk, we’re going to explore Xamarin as a cross-platform solution and we compare it with other promising solutions such Facebook’s React Native under the aspects of usability and performance. Having heard the talk you will leave with an overview of key technologies in the cross-platform sector as well as an idea when Xamarin can help you boost your business and what pitfalls to avoid. Distilling the essentials of a 110-page dissertation and cleaning up with myths from the PhoneGap era that will make it clear whether or not this is just another bubble or this has real potential.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

..........

Learning Outcome

..........

Target Audience

Mobile Developers

schedule Submitted 2 weeks ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Christopher Biggs
    keyboard_arrow_down

    Devops For Dishwashers - Bringing grown up practices to the Internet of Things

    Christopher Biggs
    Christopher Biggs
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    The Internet of Things is undeniably here. In the last year we have heard tell of of security cameras, dishwashers and even ovens roaming the internet unsupervised.

    As a consultant and writer about the Internet of Things, I have worked to bring my experience from 20 years in manufacturing and internet security to the IoT world. This presentation will cover the tools and techniques I use to build secure, reliable and rapidly updatable IoT devices.

    The techniques covered are applicable to both the simplest embedded devices with no general-purpose OS, and more powerful devices running Linux or Windows.

  • Paul Stringer
    Paul Stringer
    Bethan Timmins
    Bethan Timmins
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Advanced

    Automated Acceptance Testing is one of the essential ingredients of a healthy agile software practice. Unfortunately, attempts to adopt this on mobile usually result in the creation of slow, brittle and highly complex UI tests - where did we go wrong?

    This approach is a far cry from the original idea of acceptance testing and does little to improve the reputation of mobile development. Automation is meant to bring confidence – but used in this way, it creates more problems than it solves. This leaves development teams and businesses left on a seemingly never ending quest for the next thing - usually in the guise of a new framework promising to be better than the last e.g. KIF, Calabash, Appium etc.

  • Liked Nick Moore
    keyboard_arrow_down

    Easy IoT with MicroPython on ESP SoCs

    Nick Moore
    Nick Moore
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Implementing IoT projects doesn't have to be difficult, time consuming and expensive.

    MicroPython brings Python 3 to embedded platforms, and since Python is one of the easiest languages to learn, and there are WiFi SoCs available around $5, this is a great way to get started in IoT! We'll look at:

    • What is a System-on-a-Chip (SoC) with some specific examples based on the ESP8266 and ESP32 WiFi SoCs
    • Why Python? A quick look at C and IoT vulnerabilities
    • How to install MicroPython and communicate with the ESP SoC to write programs
    • What it is capable of and what things are being developed for it
    • How to contribute to the MicroPython project
  • Liked Mitchell Tilbrook
    keyboard_arrow_down

    React Native Better Than Native

    Mitchell Tilbrook
    Mitchell Tilbrook
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    React Native allows developers to create native cross-platform using JavaScript, or really anything that will compile to JS C#, TypeScript, or even F#. But why would you use React Native? How run-time typed language like JavaScript be a better choice for developing apps than say, Swift, Java, Kotlin, C# ( Xamarin ) or C++ all compile time static type checked languages. Firstly is just that, there is no need for a compile step, React Native can update the JS without having to reload compile and replace the previous application. Compiling an app everytime can take a long time for a small project this might be 1-5min, but larger apps can easily take as long as 45 minutes or more to build a single app.

    In this talk, we will explore how features like hot code reloading allow for much faster edit and run cycles, how you can use tools like Flow or TypeScript to add type safety without incurring the long compile times found in more native methods. To Prove the how simple and fast React Native is to builds apps we will create a simple app live on stage. To top it all off, you can even embed React into existing Native Apps, avoiding the need for total rewrite.

  • Liked Florian Harr
    keyboard_arrow_down

    The Internet of Things and Mobile Clients: Don't let your toaster bring down the internet!

    Florian Harr
    Florian Harr
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Amazon Alexa, Google Home, HomeKit and Cortana are really more than personal assistants and seem to be the next big battle the big four will go into, but why is this so important to them? There are two components to those assistants, the first is integration with your personalized data that is gathered from your apps and the second is their IoT capability automating your devices at home.

    With almost every manufacturing company hiring engineers like crazy to get their devices into the cloud, the results are very different ranging from really bad to great solutions. This shows that we are in the Wild West when it comes to how cloud integrations, device security and backend security is implemented. This is why we as pioneers of this technology have to help shape the future by avoiding common pitfalls, secure private data responsibly and don’t end up accidentally weaponizing our IoT creations.

    In this talk, I’m going to talk about lessons learned from developing a major IoT platform that controls about a quarter million appliances in the US and Canada. We’re also going to take a look at pitfalls we have overcome and which possibly nice looking shortcuts you should avoid no matter how small your client or IoT device is.

  • Liked Florian Harr
    keyboard_arrow_down

    Keeping up with the enemy! Software tools to keep branding and feature parity with your iOS app!

    Florian Harr
    Florian Harr
    Jason Atwood
    Jason Atwood
    schedule 2 weeks ago
    Sold Out!
    30 mins
    Demonstration
    Advanced

    You’re busy implementing a new feature in your Android app. Part of this new feature requires processing and adding visual assets, images, colors etc. from your designers. At the same time you have a set of strings, numbers and colors from existing apps and resources that you would like to keep in line with your recent work. This tedious process is critical to a great app and a constantly great experience between all your projects but not the best use of your expertise.

    Little do you know a developer on another platform is implementing the same feature and struggling with the same problem. With multiple developers interpreting the same designs, the Android and iOS apps start to diverge. Color schemes, dialog messages and assets will begin to look different. Fixing this discrepancy before a release is a consuming task with a mediocre result.

    To eliminate this divergence, we will demo the brand new “Remixer” framework from the Material Foundation, which aims at keeping experiences in sync between Android and iOS. We will also present our collective experience from a real-world project by showing best practices and other tools that have helped keep the UI in sync.

  • Liked Andrew Louth
    keyboard_arrow_down

    Enterprise Android Development

    Andrew Louth
    Andrew Louth
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Anyone with a computer can create an Android app. But how do you bridge that gap from enthusiast to professional, from startup to corporation? Individuals and small dev shops have nothing to lose in the marketplace but enterprise apps are representing brands worth millions of dollars. What's different about developing apps for these organisations? How do you become successful doing it?

  • Liked Kai Koenig
    keyboard_arrow_down

    Kotlin Coroutines and Android sitting in a tree

    Kai Koenig
    Kai Koenig
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Since the release of Kotlin 1.1 there is now the new language feature of Kotlin Coroutines available for use in Java and Android projects. Coroutines are a new way to write asynchronous and non-blocking code. They can be thought of as light-weight threads without having to deal with all the problems that threads bring to the table.

    A lot of developers think that Kotlin Coroutines are mainly or only useful for Kotlin on the JVM, but that’s not true. There are a variety of use cases in which the application of Coroutines can make a lot of sense on Android.

    This talk is introducing the ideas behind Kotlin Coroutines, showing how to use them in Kotlin code for both the JVM and Android via the kotlinx-coroutines APIs and then exploring specific applications in Android. Part of this is a deeper look into the use of Coroutines in higher-level frameworks such as AsyncAwait and Anko.

  • Liked Kai Koenig
    keyboard_arrow_down

    Kotlin in the wider Android-ecosystem: What’s awesome? What’s missing? What’s broken?

    Kai Koenig
    Kai Koenig
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    It's 2017. Kotlin, a great language for the JVM, has been around for more than 6 years now and has changed the way a lot of developers look at the features and evolutionary progress of Java. Kotlin has become a popular alternative to Java for Android developers and with Kotlin 1.1 having been released earlier in 2017, things are going to become more exciting.

    There’s a question looming though: How well does Kotlin *really* work and what can and what can’t you do with it this stage?

    This talk will look into Kotlin’s position in the wider Android-ecosystem and beyond.

    • What’s the level of available tooling for Android-developers and how mature is it?
    • Which advanced tools are available?
    • Where else in your day-to-day work can Kotlin be applied? Examples are: Gradle, Kotlin scripting via JSR-223 or Teamcity build management.
    • And what’s the impact of developments like Java 8 for Android going to have?
  • Liked Kai Koenig
    keyboard_arrow_down

    Android’s WebView - how (not) to use it and tales from the trenches

    Kai Koenig
    Kai Koenig
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    How many times have you heard this or similar: “Hey, can’t we just build a ‘wrapper’ app around our mobile web site or web app? We just need to be present in the Play Store with anything, really”? Then you start to explain to people why that is a good or bad idea and how their mobile web app might be completely wrongly architected for such an endeavour. At this point the topic of Phonegap usually pops up and “that it should just take a couple of minutes to get that all done, right”. The story goes on and on from here.

    But in all seriousness, Android’s WebView has its place. It’s a reasonably versatile and more or less well designed component Android developers can use to embed browser-based elements into their app. And yes - it can also be used to drive a complete mobile web app inside of your actual Android app. But it is clearly its own beast and it can create a lot of havoc in the heart of your app, too. Starting with having to deal with performance problems, having to implement support for older implementations of the Android WebView in your Markup, CSS and JS code, up to inadvertently opening up potential security holes.

    This talk comprises multiple parts. After an introduction of the WebView as a concept and the current fragmented WebView implementation landscape we’re going to have a look at the APIs involved. From there we’ll talk about how to get a basic implementation of a properly secured and well-working WebView component setup in your App. That alone can contain a variety of rather unexpected challenges. If you haven’t had enough at this stage, it’s gonna get really interesting. How can you deal with what we’ve coined lovingly “OAS” - short for Old Android Support - in your WebView? And how to find out which of all the modern web API stuff you’d probably happily use in a modern version of Chrome? Can it actually be used in your WebView-based Android-App and at what cost?

  • Liked Nick Moore
    keyboard_arrow_down

    The Internet of (Not Shit) Things

    Nick Moore
    Nick Moore
    schedule 2 weeks ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Trying to better understand the problems of the Internet of Things by actually listening to its detractors. There's a lot of valid criticism of the Internet of Things, generally under the catchy phase 'The Internet of Shit'.

    This talk is a light-hearted look at the problems of existing IoT devices, and how to be constructive by transforming criticisms into requirements for a better Internet of Things. And we'll look at some of the proposed solutions for better ways to do IoT.

  • Samantha Connelly
    Samantha Connelly
    schedule 2 weeks ago
    Sold Out!
    30 mins
    Demonstration
    Intermediate

    How can you use robots to help you test?

    Meet Tappy McTapFace, Tappy is a robot that was built during a 2 day hackathon to help demonstrate how robots could be used to automate testing on mobile apps. It's made out of 3D printable parts, based on Taptser 2.0 open source designs and can be programmed in javascript.

    You could also use a robotics challenge to engage your team around testing ideas. Sam will give her insights from running multiple testing challenges that engaged over 100 software engineers. From a lunch time robotics challenge to a company wide bug bash. Sam has run many events that help raise a companies testing culture.