Cross-platform mobile development in Java



Similar documents
Develop enterprise mobile applications with IBM Rational software

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

separate the content technology display or delivery technology

Mobile web apps: The best option for business? A whitepaper from mrc

Mobile Application Platform

Access Tropical Cloud Desktop from Any Device

Welcome to the Force.com Developer Day

Cross-Platform Development

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE

Native mobile apps: The wrong choice for business?

Copyright 2013 Splunk Inc. Introducing Splunk 6

Creating Next Generation Enterprise Apps Using Cloud Services

What We Learned From Porting 50+ Cloud Apps to Tizen. Dima Malenko, Vlad Pavlov, rollapp Inc.

Mobile Cross Platform Development really? Jonathan Marshall, IBM Mobile Technical Specialist IBM Corporation

RhoMobile Suite. Develop applications for the next generation of business mobility

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER

KEY PHASES. In Creating a Successful Mobile App

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 1

Cisco Enterprise Mobility Services Platform

Choosing the Best Mobile Backend

New Features for Sybase Mobile SDK and Runtime. Sybase Unwired Platform 2.1 ESD #2

GeBng Started with Splunk MINT

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

Sybase Unwired Platform 2.0

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

MODERN WEB APPLICATION DEVELOPMENT WORKFLOW

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects.

Localizing Your Mobile App is Good for Business

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

Whitepaper. Trans. for Mobile

Navigating the Mobile App Development Landscape

CASE STUDY. Varian ARIA Offering oncologists better tools to help patients

Real World Considerations for Implementing Desktop Virtualization

Unwired Revolution Gains Full Visibility into Enterprise Environments with Server Side and Mobile App Monitoring from New Relic.

Introduction to Mobile Access Gateway Installation

Accelerating Business Value by

EMPLOYEE LOCATION TRACKING SERVICE

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

HP ALM Masters 2014 Connected, collaborative mobile application development for the enterprise HP Anywhere

An Enterprise Approach to Mobile File Access and Sharing

ArcGIS Web Mapping. Sam Berg, esri

Here s how to choose the right mobile app for you.

Middleware- Driven Mobile Applications

Choose your mobile device carefully. The wrong platform could leave you without key functionality.

ENTERPRISE MOBILITY STRATEGY. We work for you, not your technology vendors.

Extending Oracle Applications on Mobile Using Oracle MAF and Oracle Mobile Security

CMS, CRM, shopping carts, Web applications

PHP on IBM i: What s New with Zend Server 5 for IBM i

Mobile Performance Testing Approaches and Challenges

How to Pay Fees in Municity Android January 2, 2015

Introduction to IBM Worklight Mobile Platform

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Avaya Aura Orchestration Designer

MAKE THE MOVE FROM IBM LOTUS NOTES AND OPTIMIZE YOUR BUSINESS APPS

Hybrid Cloud: Overview of Intercloud Fabric. Sutapa Bansal Sr. Product Manager Cloud and Virtualization Group

Continuous Integration

SYST35300 Hybrid Mobile Application Development

Building Mobile Applications

Native v HTML5 An Event Planner s Primer

Virtual Machine Lifecycle Management. The example of CernVM

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application


Deploying Management and Security Agents to Mobile Devices. Deploying Mgmt and Security Agents

Increase visibility, control and performance of field resources in the Utilities Industry

Leveraging Partners and Open Source Technology in your Mobility Strategy. emids webinar Thursday, August 11, :00 pm 2:00 pm EDT

Tutorial: BlackBerry Object API Application Development. Sybase Unwired Platform 2.2 SP04

Cross-Platform Mobile Apps Solution

Customizing and Integrating

OpenEdge and Mobile Applications

White Paper. Anywhere, Any Device File Access with IT in Control. Enterprise File Serving 2.0

The SIEM Evaluator s Guide

Minnesota Report Card. A Mobile Friendly Platform for Disseminating School Performance Data. Digital Government: Government to Citizen

HTML5. Turn this page to see Quick Guide of CTTC

Rich Internet Applications

How To Develop A Mobile Application On An Android Device

Developing ASP.NET MVC 4 Web Applications

Cross Platform App Development

Managing customer entitlement with Adobe Digital Publishing Suite

Sophos Mobile Control Web service guide

CA Service Desk Manager - Mobile Enabler 2.0

SQL Server 2016 BI Any Data, Anytime, Anywhere. Phua Chiu Kiang PCK CONSULTING MVP (Data Platform)

Drupal CMS for marketing sites

How Oracle MAF & Oracle Mobile Cloud can Accelerate Mobile App Development

CA Technologies Empowers Employees with Better Access to Applications via OneAccess Mobile App

BMC Control-M Workload Automation

Keywords Online Aptitude Test, Android, IOS, Cross Platform mobile application Development.

Transcription:

Cross-platform mobile development in Java T HE E-SURVEY CASE

Outline Context RP radiation surveys What s wrong with web based? Development process Java & Codename one Examples Deployment process Lessons learned With esurvey implementation 2

Context - The RadioLog project The RP group has to ensure radiological safety at CERN facilities Frequent radiation surveys are carried throughout the accelerator tunnels Radiation survey teams measure the radiation levels with probes Several measurements are performed every 100 meters weeks of work Optimizations needed Unified solution No version jungle Easier maintenance Identical look-andfeel for the users/clients Centralized storage Consistent data automatic Backed-up More secure Access is controlled Role based: Admin, Super-user, Users Open/Closed surveys Faster Friendly user interface Survey guides Automatic localization 3

Context - The RadioLog project Front-end Back-end esurvey Application server Application stack Web Application (interface, logic, data model) Framework (optional) Data server Database File system radiolog 4

Context Web based app? esurvey v1 was born web-based! Python/Django logic Jquery mobile Pros: Good looking, high development productivity Still programming for the web -> freedom! Cons: Actions execute server-side > quite some server communication -> less reactive Those parts where WLAN is not there? And 3G fails? -> Problematic! Can t be used for critical processes! 5

Development Native? Cross-Platform? Objectives: Keep platform independency Run on whatever Tablet style device Hardened app Handle connection problems, auto-save, verification, responsive Leverage existing in-house knowledge Avoid exotic frameworks/ languages (Objective C?) Java sounds good (Codename one): Easy to use, comes with Gui Builder, Fast - calls translated into native code Portable to ios, Android, windows, Blackberry build-servers 100 free build credits per month 6

Codename1 Where to start? Remember: Project is fairly recent: Documentation is not awesome... Little / Confusing Tutorials/Guidelines? Errr Community is not that large But Chen answers a lot in stackoverflow Sometimes Things don t seem logic It will not work well in the real device! Best way: Play with examples See source code :/ There s a Gui Builder! Be kind to it! And have patience! 7

Codename1 moving between forms GuiBuilder writes to StateMachineBase.java - implements App basic workflow - Includes helpers to find form controls Little control over load/initialize/show forms Forms referenced by their name Form mainfrm = showform( mainform ) The way we do: - constant names (no literals!) organized into static classes - Initialize contents in Before Show event - Control well the before show. It will run every time we show the form! - Save a pointer to the intro form here, so you can intro.showback(); 8

Codename1 A fancy list Imagine a scrollable list of complex lines - text boxes, buttons, etc Implement with list control, custom renderer - Probably possible but messy - callbacks must be implemented manually Solution: - Scrollable container - Dynamically added N Components, designed with Gui Builder 9

Codename1 A fancy list running Simulator Real device 10

Codename1 Oooops With more than 20 lines, the list became veeery slow Totally redrawing of form every box focus change. ->That s normal, we were told by developers Some unexpected behaviors :p 11

Codename1 Deployment Register in codenameone.com Register in developer.apple.com using your CERN email Register dev device and App IDs at CERN with servicenow Once ready, download certificates and provision profile, and set Proj props NOTE: Apparently Codename1 now has a wizard to help generating the certificates Don t exactly know if it can be used by us, since the provisioning profile can t be directly generated by the CERN developer Hit Send ios/ build Access the build server page with the ipad and Install 12

Codename1 Lessons learnt Codename one effectively allows writing cross-platform apps in Java. GUI Builder is nice, allows for very detailed interface styling Simulator is quite good Includes network and performance analyzer Deployment is sweet once configured! It is still young GUI builder should feel/be more professional Interface performance doesn t feel so native. Stay within short limits when creating forms Not all Java API is available. Currently support for java 5. Expect some bugs. Eventually subscribe professional support. They look responsive! 13

Thank you Acknowledgement C. Theis, Y. Pira & RP group technicians Questions? fernando.pereira@cern.ch