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

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.

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

Outline/structure of the Session

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?

Learning Outcome

See Outline

Target Audience

Android developers

schedule Submitted 6 months ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Christopher Biggs
    keyboard_arrow_down

    Christopher Biggs - Devops For Dishwashers - Bringing Grown-Up Practices to the Internet of Things

    Christopher Biggs
    Christopher Biggs
    Director
    Accelerando Consulting
    schedule 6 months 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.

  • Liked Nick Moore
    keyboard_arrow_down

    Nick Moore - Easy IoT with MicroPython on ESP SoCs

    Nick Moore
    Nick Moore
    Software Consultant
    Mnemote
    schedule 6 months 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 Andrew Harvey
    keyboard_arrow_down

    Andrew Harvey - They're Good Dogs: A Gentle Introduction to Machine Learning with CoreML and Vision

    Andrew Harvey
    Andrew Harvey
    Coder & Tinkerer
    ¯\_(ツ)_/¯
    schedule 4 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    At WWDC this year, Apple announced their CoreML and Vision frameworks. These allow you do easily implement machine learning models inside your app, running on the GPU on an iPhone. Suddenly a world of machine learning is possible in ways that it wasn't before.

    In this talk, you'll see a real world example written in just hours which implements a freely available object classification model to find out who is a good dog. Silly as this sounds, it shows the power now at our disposal.

    We’ll look at what you need to do to build a simple app, and then dig into some of the innards of machine learning to see what we need to do to create something really useful.

  • Samantha Connelly
    Samantha Connelly
    Quality Activist
    EPAM Systems
    schedule 6 months 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.

  • Liked Florian Harr
    keyboard_arrow_down

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

    Florian Harr
    Florian Harr
    Software Engineer
    stable|kernel
    schedule 6 months ago
    Sold Out!
    45 Mins
    Talk
    Intermediate

    Amazon Alexa, Google Home, HomeKit, and Cortana are 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 gathered from the apps you use 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 behavior shows that we are in the Wild West when it comes to how cloud integrations, device security, and backend security is being implemented. That 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 iOS client or IoT device is.

  • 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 Mitchell Tilbrook
    keyboard_arrow_down

    Mitchell Tilbrook - React Native Better Than Native

    Mitchell Tilbrook
    Mitchell Tilbrook
    Lead Software Engineer
    SeatFrog
    schedule 6 months 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

    Florian Harr - Cross Platform Development with Xamarin! Is It Worth It?

    Florian Harr
    Florian Harr
    Software Engineer
    stable|kernel
    schedule 6 months ago
    Sold Out!
    45 Mins
    Talk
    Advanced

    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.

  • Liked Florian Harr
    keyboard_arrow_down

    Florian Harr / Jason Atwood - Keeping up with the enemy! Software tools to keep branding and feature parity with your iOS app!

    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 Nick Moore
    keyboard_arrow_down

    Nick Moore - The Internet of (Not Shit) Things

    Nick Moore
    Nick Moore
    Software Consultant
    Mnemote
    schedule 6 months 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.