What they didn't tell you about Cordova! I started building hybrid apps and you won't believe what happened next!!

Size: px
Start display at page:

Download "What they didn't tell you about Cordova! I started building hybrid apps and you won't believe what happened next!!"

Transcription

1 What they didn't tell you about Cordova! I started building hybrid apps and you won't believe what happened next!!

2 Raymond Camden! Developer Advocate for IBM! LoopBack, OpenWhisk, Bluemix, Cordova/ PhoneGap, Node, and web stuff in general! Blogging at raymondcamden.com! Tweeting

3

4 Hybrid Dev is Easy!

5 Decent Hybrid Dev?!

6

7

8 Our Tools! Offline Detection/Support! Client-Side Storage! Internationalization! UI/UX! Performance! Etc.!

9 Before we begin!

10 HTML, JS, CSS! That web stuff it s kind of important! Know everything!! Mozilla Developer Network (developer.mozilla.org)! CanIUse (caniuse.com)!

11 Repeat After Me! (no - seriously)!

12 You must use dev tools! Period!

13 Offline - it's not just for breakfast anymore!

14 The Network is Evil! Your app runs on the device - it doesn't matter whether you're online or not! Your app may start in one state - and enter another! You may be online, but in a really, really crappy manner! You may be online, but behind a wifi captive portal!

15 What to worry about...! Am I online?! How well am I online?! How much data do I need to transfer?! Can I get by with part of it?!

16 Oh yeah...! What if your server is offline?! What if your server is online but returning crap?! What if your third party server - ditto...!

17 Basically...!

18

19 What do you do?! Banking apps! Weather apps! Social Media/IM apps!

20 Code time!! network-information! detects type (how well?)! detects changes!

21 Demos!

22 A Place for Your Stuff!

23 Client-Side Storage! A great way to handle offline! A great way to boost performance!

24 Types of Storage! Cookies! WebStorage! WebSQL! IndexedDB! File System! SQLite!

25 Cookies! Yes - seriously! Just FYI! MDN Library - Document/cookie/Simple_document.cookie_framework!

26 WebStorage! LocalStorage/SessionStorage! Super easy!! ios 8+ kills it though (cuz - ios)! Tips: Use for caching - but assume it won't persist!

27 WebSQL! Dead spec :(! But guess what - still works ( But use SQLite instead!

28 IndexedDB! The future of web storage!! Easy as rocket science!! Really, really, really, really bad ios 9 support (fixed in 10)!

29 File System! CRUD for the File System! You can do everything! It works!

30

31 SQLite! Just works!! (As long as you know SQL ;)! cordova-sqlite-storage!

32 Examples!

33 WebStorage!

34 if(window.localstorage) { var numhits = localstorage.getitem("numhits"); if(!numhits) numhits=0; else numhits = parseint(numhits, 10); numhits++; localstorage.setitem("numhits",numhits); $("#resultdiv").text("you have visited this site "+numhits +" times."); }

35 IndexedDB!

36 var openrequest = indexeddb.open("ora_idb1",1); openrequest.onupgradeneeded = function(e) { var thisdb = e.target.result; console.log("running onupgradeneeded"); if(!thisdb.objectstorenames.contains("people")) { var peopleos = thisdb.createobjectstore("people", {keypath: " "}); } }

37 var transaction = db.transaction(["people"],"readwrite"); //Ask for the objectstore var store = transaction.objectstore("people"); //Define a person var person = { name:name, , created:new Date().getTime() } //Perform the add var request = store.add(person); request.onerror = function(e) { console.log("error",e.target.error.name); //some type of error handler } request.onsuccess = function(e) { console.log("woot! Did it"); }

38 WebSQL!

39 db = window.opendatabase("notestrap", "1.0", "Note App", 5*1024*1024); //Handle initial creation and then load up the notes db.transaction(function(tx) { tx.executesql("create table if not exists notes(id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, body TEXT, updated DATE)"); }, dberror,function(tx) { getnotes(); });

40 function getnotes(search) { db.readtransaction(function(tx) { if(!search) { tx.executesql("select id,title,body,updated from notes order by updated desc", [], displaynotes); } else { var fuzzy = "%" + search + "%"; tx.executesql("select id,title,body,updated from notes where title like? or body like? order by updated desc", [fuzzy,fuzzy], displaynotes); } }, dberror); }

41 File System!

42

43 "Use the Library, Luke!"! Lockr (LocalStorage only)! Dexie (IDB)! localforage! pouchdb (syncs!)!

44 Advertisement! Book and video available at raymondcamden.com!

45 Spoiler...!

46

47 But wait...! They speak a different language (that's cool)! They use a different unit of measurement (that's mostly cool too)! "NASA lost a $125 million Mars orbiter because a Lockheed Martin engineering team used English units of measurement while the agency's team used the more conventional metric system for a key spacecraft operation..." (oh crap)! They write numbers differently (that's just insane)!

48 Examples:! 1,000,000.99! ,99! ,99!

49 4/8/2016!

50 Is it...! April?! August?! It's my birthday so you're both right!!

51 Issues! Formatting:! Numbers change! Currencies change! Dates change! UI changes:! Buttons! Labels! Etc!

52

53

54 Solutions (Formatting)! cordova plugin add cordova-plugin-globalization! Supports numbers, currencies, and dates! Supports getting information about locale/language! Supports getting information about formats! Even supports isdaylightsavingstime because that's still a thing apparently!

55 More Solutions! Get some random library! Like Moment.js!

56 Even More Solutions! Intl! ECMAScript Internationalization API! OMG AWESOME NO PLUGIN NO LIBRARY PERFECT!!!!!!!!!!!!!! 11!!!!! Let's check CanIUse.com!

57

58

59 That other problem...! What does "Add to Cart" look like in French?! Replace buttons/labels/etc with tokens! Replace tokens with the right language value!

60 Resource Bundle! Set of key/value pairs! Stored by language!

61 { "age": "Age", " ": " ", "firstname": "First Name", "lastname": "Last Name", "register": "Register", "username": "Username" }

62 { "age": "年年龄", " ": "电 子信函", "firstname": "名字", "lastname": "姓", "register": "登记", "username": "Username" }

63 Suggestions! IBM Globalization ( Demo:

64 Example Code!

65 navigator.globalization.getlocalename(function(l) { console.log(l); locale.setlocale(l.value); }, function(err) { console.log('get local err', err); });

66 .value('localeconf', { basepath: 'lang', defaultlocale: 'en-us', shareddictionary: 'common', fileextension: '.json', persistselection: false, cookiename: 'COOKIE_LOCALE_LANG', observableattrs: new RegExp('^data-(?!ng- i18n)'), delimiter: '::' }).value('localesupported', [ 'en-us', 'zh-chs', 'fr-fr' ]);

67 <label class="item item-input item-stacked-label"> <span class="input-label" data-i18n="app.username"></span> <input type="text"> </label>

68 User Interface and User Experience

69 General Tips! Test on a real device! Use native UI as much as possible (dialogs plugin)! Use a framework!

70

71

72

73 Performance! Look at what you load over the network! A secret: JSON isn't always slim (look at the number of rows and the size of each row)! Provide instant feedback!

74 Performance! Hardware Accelerated CSS (translate3d)!

75 Performance! Use touch vs click! 300ms! Old news: Removed in Chrome 32 (for mobile optimized sites)! <meta name="viewport" content="width=device-width">! Also removed from IE/Edge, FF, and Mobile Safari in ios9.3!

76 Performance! Minimize DOM thrashing (dom += <b>poo</b> in a loop)!

77 Performance! Use the dev tools!! evaluate-performance/?hl=en! AppleApplications/Conceptual/Safari_Developer_Guide/ Instruments/Instruments.html!

78 Etc! Accessibility! Security/Content!

79 Wrap Up! Contact me at raymondcamden.com! Contact me Share your pain to help others!

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski

Building mobile app using Cordova and AngularJS, common practices. Goran Kopevski Building mobile app using Cordova and AngularJS, common practices Goran Kopevski Agenda What is cordova? How to choose proper JS framework Building mobile app using Cordova and AngularJS Common fails,

More information

Beyond Cookies: Persistent Storage for Web Applications. Brad Neuberg Google

Beyond Cookies: Persistent Storage for Web Applications. Brad Neuberg Google Beyond Cookies: Persistent Storage for Web Applications Brad Neuberg Google What? What? 4K What? 4K 100K What? 4K 100K 500K What? 4K 100K 500K >1 MB What? Name/Value Storage Database Static Files Why?

More information

Offline

Offline Offline First @caolan Unlike the always-wired machines of the past, computers are now truly personal, and people move through online and offline seamlessly our apps should do the same More often than

More information

Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery. Andy Gup, Lloyd Heberlie

Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery. Andy Gup, Lloyd Heberlie Building Native Apps with ArcGIS API for JavaScript Using PhoneGap and jquery Andy Gup, Lloyd Heberlie Agenda Getting to know PhoneGap jquery overview jquery and ArcGIS API for JavaScript Putting it all

More information

Framework7 and PhoneGap. By Lars Johnson

Framework7 and PhoneGap. By Lars Johnson Framework7 and PhoneGap By Lars Johnson What do I need to Know? HTML CSS JavaScript By Lars Johnson What is the difference between- Web App Native App Native/Web Hybrid App What are some examples? http://phonegap.com/blog/2015/03/12/mobile-choices-post1

More information

the web as it should be Martin Beeby

the web as it should be Martin Beeby the web as it should be Martin Beeby - @thebeebs paving the way to the end user Hotbed of innovation World of standards Ever-closer user experiences in the beginning mosaic netscape navigator internet

More information

Force.com Mobile Web with Sencha Touch

Force.com Mobile Web with Sencha Touch Force.com Mobile Web with Sencha Touch Don Robins Outformations, Inc. www.forcementor.com www.outformations.com Who Am I? 1. Technical Instructor (since 2009) 2. Developer (since 1984) 3. Community Activist

More information

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Persistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:

More information

SAMPLE CHAPTER. Raymond K. Camden MANNING

SAMPLE CHAPTER. Raymond K. Camden MANNING SAMPLE CHAPTER Raymond K. Camden MANNING Apache Cordova in Action by Raymond K. Camden Sample Chapter 8 Copyright 2016 Manning Publications brief contents PART 1 GETTING STARTED WITH APACHE CORDOVA...

More information

Building Mobile Apps with HTML5

Building Mobile Apps with HTML5 Building Mobile Apps with HTML5 Jeff Garbers, CTO, Rover Apps 2012 Rover Apps, LLC Topics What s unique about mobility Web vs. naave apps Factors to consider Architectural opaons PlaForms and tools Techniques

More information

Sqlite Update Failed With Error Code 19 Android

Sqlite Update Failed With Error Code 19 Android Sqlite Update Failed With Error Code 19 Android i'm wrote simple DataBaseHelper to use SQlite in android. after create class as : static final int DATABASE_VERSION = 1, private SQLiteDatabase mdatabase,

More information

Simple AngularJS thanks to Best Practices

Simple AngularJS thanks to Best Practices Simple AngularJS thanks to Best Practices Learn AngularJS the easy way Level 100-300 What s this session about? 1. AngularJS can be easy when you understand basic concepts and best practices 2. But it

More information

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL

Topics. History. Architecture. MongoDB, Mongoose - RDBMS - SQL. - NoSQL Databases Topics History - RDBMS - SQL Architecture - SQL - NoSQL MongoDB, Mongoose Persistent Data Storage What features do we want in a persistent data storage system? We have been using text files to

More information

Advance Mobile& Web Application development using Angular and Native Script

Advance Mobile& Web Application development using Angular and Native Script Advance Mobile& Web Application development using Angular and Native Script Objective:- As the popularity of Node.js continues to grow each day, it is highly likely that you will use it when you are building

More information

Best Practices. For developing a web game in modern browsers. Colt "MainRoach" McAnlis

Best Practices. For developing a web game in modern browsers. Colt MainRoach McAnlis Best Practices For developing a web game in modern browsers Colt "MainRoach" McAnlis 3.05.2012 The call me "web game" Content Server Database Gameplay Server Google App Engine Google Analytics Social Graph

More information

Wrap up & Experimentation. CS147L Lecture 8 Mike Krieger

Wrap up & Experimentation. CS147L Lecture 8 Mike Krieger Wrap up & Experimentation CS147L Lecture 8 Mike Krieger Intro Welcome back! By the end of today... - Questions from implementations - A few implementation loose ends - A/B testing primer - Google Analytics

More information

Build Native-like Experiences in HTML5

Build Native-like Experiences in HTML5 Developers Build Native-like Experiences in HTML5 The Chrome Apps Platform Joe Marini - Chrome Developer Advocate About Me Joe Marini Developer Relations Lead - Google Chrome google.com/+joemarini @joemarini

More information

DatabaseRESTAPI

DatabaseRESTAPI ORDS DatabaseRESTAPI https://oracle.com/rest Jeff Smith Senior Principal Product Manager Jeff.d.smith@oracle.com @thatjeffsmith Database Tools, Oracle Corp Not just THAT SQLDev Guy I GET ORDS, too! Blogs

More information

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example

Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Sencha Paris Meetup Switching from Titanium to Sencha Touch: a real life example Laurent Jolia Ferrier 12 June 2014 Foreword: I have always favoured development tools targeting several OSs with "one" code

More information

Performance Testing and Comparison of Client Side Databases Versus Server Side

Performance Testing and Comparison of Client Side Databases Versus Server Side Performance Testing and Comparison of Client Side Databases Versus Server Side Stefan Kimak, Jeremy Ellman Northumbria University, CEIS Newcastle upon Tyne, UK stefan.kimak@unn.ac.uk, jeremy.ellman@unn.ac.uk

More information

Mobile Development with Visual Studio 2015

Mobile Development with Visual Studio 2015 Mobile Development with Visual Studio 2015 Bill Ayers MCM/MCSM Charter SharePoint MCT, MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, Professional Scrum Master (PSM I), etc. Flow Simulation Ltd. www.spdoctor.net

More information

JAVASCRIPT JQUERY AJAX FILE UPLOAD STACK OVERFLOW

JAVASCRIPT JQUERY AJAX FILE UPLOAD STACK OVERFLOW page 1 / 5 page 2 / 5 javascript jquery ajax file pdf I marked it as a duplicate despite the platform difference, because as far as I can see the solution is the same (You can't and don't need to do this

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic

Profound.js. Future of open source development on IBM i. Alex Roytman Profound Logic Profound.js Future of open source development on IBM i Alex Roytman Profound Logic What is Node.js? The most exciting technology ever to be brought over to IBM i Brings the platform forward in a way like

More information

Connect and Transform Your Digital Business with IBM

Connect and Transform Your Digital Business with IBM Connect and Transform Your Digital Business with IBM 1 MANAGEMENT ANALYTICS SECURITY MobileFirst Foundation will help deliver your mobile apps faster IDE & Tools Mobile App Builder Development Framework

More information

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy

Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy Building Native Mapping Apps with PhoneGap: Advanced Techniques Andy Gup @agup Agenda Application life-cycle Working with UI frameworks Security Geolocation Offline Expectations Experience with PhoneGap

More information

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX

THE PRAGMATIC INTRO TO REACT. Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX THE PRAGMATIC INTRO TO REACT Clayton Anderson thebhwgroup.com WEB AND MOBILE APP DEVELOPMENT AUSTIN, TX REACT "A JavaScript library for building user interfaces" But first... HOW WE GOT HERE OR: A BRIEF

More information

Building Mobile Apps with the ArcGIS API for JavaScript. Andy Gup, Lloyd Heberlie, Thomas Other

Building Mobile Apps with the ArcGIS API for JavaScript. Andy Gup, Lloyd Heberlie, Thomas Other Building Mobile Apps with the ArcGIS API for JavaScript Andy Gup, Lloyd Heberlie, Thomas Other Agenda Capabilities Managing app life-cycle Working with locally hosted builds Working from JS frameworks

More information

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience.

The paper shows how to realize write-once-run-anywhere for such apps, and what are important lessons learned from our experience. Paper title: Developing WebRTC-based team apps with a cross-platform mobile framework. Speaker: John Buford. Track: Mobile and Wearable Devices, Services, and Applications. Hello everyone. My name is John

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Persistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store

More information

BPM + Mobile Building a hybrid mobile app for BPM IBM Corporation

BPM + Mobile Building a hybrid mobile app for BPM IBM Corporation BPM + Mobile Building a hybrid mobile app for BPM Daniel Fitzgerald Technical Sales Specialist Oxford Brookes University Graduate - BSc Mobile Computing daniel.fitzgerald@uk.ibm.com 2 Agenda Why mobile?

More information

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM

The C-Suite Guide to Mobile Technologies for mhealth Development. Medical Web ExpertsTM The C-Suite Guide to Mobile Technologies for mhealth Development Medical Web ExpertsTM January 2017 Executive Summary mhealth technologies are forming a more integral part of many healthcare organizations

More information

Native Mobile Apps in JavaScript

Native Mobile Apps in JavaScript Native Mobile Apps in JavaScript Using Exponent and React Native Charlie Cheever CS50 Seminar October 28, 2016 About Me Harvard Amazon Facebook Quora Exponent A Brief History of Mobile Development Mobile

More information

Support Offline Mobile Web Apps with HTML5 API's

Support Offline Mobile Web Apps with HTML5 API's Support Offline Mobile Web Apps with HTML5 API's Kim Dalsgaard @kimdalsgaard Application Cache Local Storage Web SQL Database Indexed Database Application Cache Offline Web applications From the specification

More information

Web Performance in

Web Performance in Web Performance in 2017 with @bighappyface Big thanks to DrupalCon Team Big thanks to you (it s almost a wrap) Please note This session assumes familiarity. I am speaking as if folks are already into this

More information

Review of Mobile Web Application Frameworks

Review of Mobile Web Application Frameworks Review of Mobile Web Application Frameworks Article Number: 909 Rating: Unrated Last Updated: Mon, May 9, 2011 at 10:57 AM If you are serious about getting your website or web application mobile-friendly,

More information

SAP HANA Extended Application Services Native Development: Lockheed Martin

SAP HANA Extended Application Services Native Development: Lockheed Martin SAP HANA Extended Application Services Native Development: Lockheed Martin DEV112 Tim Champagne Lockheed Martin Derek Since Deloitte Consulting Learning Points Learn a real world example of the decision

More information

Eme03. Mobilise your Applications as Progressive Web Apps

Eme03. Mobilise your Applications as Progressive Web Apps Eme03. Mobilise your Applications as Progressive Web Apps Paul Harrison (Eight Dot Three) @PaulHarrison Knut Herrman (Leonso GmbH) @KnutHerrman 22nd May 2018 #engageug 1 Paul Harrison Consultant at own

More information

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development

2015 NALIT Professional Development Seminar September 30, Tools for Mobile App Development 2015 NALIT Professional Development Seminar September 30, 2015 Tools for Mobile App Development Kyle Forster, IT Manager North Dakota Legislative Council Mobile App ND Legis Daily Daily legislative agenda

More information

Touch Forward. Bill Fisher. #touchfwd. Developing Awesome Cross-Browser Touch

Touch Forward. Bill Fisher. #touchfwd. Developing Awesome Cross-Browser Touch Touch Forward Developing Awesome Cross-Browser Touch Interactions Bill Fisher @fisherwebdev #touchfwd Super F*cking Important yeah, it s important. http://commons.wikimedia.org/wiki/file:071228_human_hands.jpg

More information

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS)

Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS) Build Mobile Cloud Apps Effectively Using Oracle Mobile Cloud Services (MCS) Presented by: John Jay King Download this paper from: 1 Session Objectives Understand the need for something like Oracle Mobile

More information

Web & APP Developer Job Assured Course (3 in 1)

Web & APP Developer Job Assured Course (3 in 1) T&C Apply Web & APP Developer Job Assured Course (3 in 1) From Quick pert Infotech Interview Process Full Stack Web APP Developer Full Stack Web & App Developer (3 in 1 - Opens WebDesign, Web Developer

More information

Never again offline?!? Experiences on the outstanding role of data in a large-scale mobile app ecosystem

Never again offline?!? Experiences on the outstanding role of data in a large-scale mobile app ecosystem Never again offline?!? Experiences on the outstanding role of data in a large-scale mobile app ecosystem Dr. Matthias Naab, Fraunhofer IESE 1 Dr. Ralf Carbon, John Deere ETIC Susanne Braun, Fraunhofer

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

JavaScript for PHP Developers

JavaScript for PHP Developers JavaScript for PHP Developers Ed Finkler @funkatron coj@funkatron.com May 18, 2010 #tekx #js4php http://joind.in/1564 What is this? 2 A practical overview of JS for the PHP developer Stop c+p'ing, start

More information

13/03/2017. Author Bartosz Zurawski (C ) Project Coordinator Joseph K. Research

13/03/2017. Author Bartosz Zurawski (C ) Project Coordinator Joseph K. Research RunForIT 13/03/2017 Author Bartosz Zurawski (C00165634) Project Coordinator Joseph K. Research Table Of Contents Table Of Contents 2 Introduction 3 Similar apps 4 Zombies, Run! 4 Runtastic 5 Running Trainer

More information

OKC MySQL Users Group

OKC MySQL Users Group OKC MySQL Users Group OKC MySQL Discuss topics about MySQL and related open source RDBMS Discuss complementary topics (big data, NoSQL, etc) Help to grow the local ecosystem through meetups and events

More information

[Processing.js #2002] loadxml() is broken 10 messages

[Processing.js #2002] loadxml() is broken 10 messages 1 of 5 2/3/2015 2:20 PM [Processing.js #2002] loadxml() is broken 10 messages Sun, Mar 17, 2013 at 3:49 AM matteosistisette updated this ticket at March 17th, 2013 @ 06:49 AM Tested on 2.08b. String url="http://www.matteosistisette.com/upf-redes-x/php/_processing/formas_xml/cargaformas.php"

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

The NoSQL movement. CouchDB as an example

The NoSQL movement. CouchDB as an example The NoSQL movement CouchDB as an example About me sleepnova - I'm a freelancer Interests: emerging technology, digital art web, embedded system, javascript, programming language Some of my works: Chrome

More information

CSS. HTML5,CSS3,JS & PHP Simplified. Smart Course for Absolute Beginners. REGISTER AT:

CSS. HTML5,CSS3,JS & PHP Simplified. Smart Course for Absolute Beginners. REGISTER AT: SKILLHUB MOB +91 9881 0455 39 FREE INDUSTRIAL TRAINING PROGRAM (Web And Mobile) Register before 15 July 2018 *Limited Seats Only Free HTML CSS JS PHP HTML5,CSS3,JS & PHP Simplified Smart Course for Absolute

More information

Part 1. Learn how to collect streaming data from Twitter web API.

Part 1. Learn how to collect streaming data from Twitter web API. Tonight Part 1. Learn how to collect streaming data from Twitter web API. Part 2. Learn how to store the streaming data to files or a database so that you can use it later for analyze or representation

More information

Blog post on updates yesterday and today:

Blog post on updates yesterday and today: Beta Bug Prioritization meeting IRC Transcript 12 November 2013 Meeting was held in IRC, on the #devmo channel. Meetings are weekly, every Tuesday at 17:00 UTC (10am PST) ok, everyone, we're ready to start

More information

HTML 5: Fact and Fiction Nathaniel T. Schutta

HTML 5: Fact and Fiction Nathaniel T. Schutta HTML 5: Fact and Fiction Nathaniel T. Schutta Who am I? Nathaniel T. Schutta http://www.ntschutta.com/jat/ @ntschutta Foundations of Ajax & Pro Ajax and Java Frameworks UI guy Author, speaker, teacher

More information

Prospective Units. 0 - The History of HTML5: Making it Interactive. 1 - Animating with JS & CSS: Making it Move

Prospective Units. 0 - The History of HTML5: Making it Interactive. 1 - Animating with JS & CSS: Making it Move Prospective Units 0 - The History of HTML5: Making it Interactive 1 - Animating with JS & CSS: Making it Move 2 - Responsive Web Design: Making it Fit 3 - HTML5 : Making it Easier 4 - JavaScript Essentials:

More information

Creating Extensions for Safari

Creating Extensions for Safari Creating Extensions for Safari Part One Timothy Hatcher Safari and WebKit Engineer 2 3 HTML5 CSS3 JavaScript Native Code 4 Cross Platform Secure Crashes 5 What You ll Learn When to make a Safari Extension

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

Build a Mobile App in 60 Minutes with MAF

Build a Mobile App in 60 Minutes with MAF Build a Mobile App in 60 Minutes with MAF Presented by: John Jay King Download this paper from: OAUG web site Or 1 Session Objectives Understand the components of Oracle MAF Use Oracle MAF to create mobile

More information

Monica. Personal Relationship Management

Monica. Personal Relationship Management Monica Personal Relationship Management Alexis SAETTLER FOSDEM 2019 1. Presentation of Monica 2. What we are trying to do 1. Presentation of Monica 2. What we are trying to do Idea Remember everything

More information

mgwt Cross platform development with Java

mgwt Cross platform development with Java mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good

More information

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin, To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with

More information

CIS 3308 Logon Homework

CIS 3308 Logon Homework CIS 3308 Logon Homework Lab Overview In this lab, you shall enhance your web application so that it provides logon and logoff functionality and a profile page that is only available to logged-on users.

More information

Playing Outside Your Sandbox INTERACTING WITH OTHER SYSTEMS USING SHAREPOINT BCS

Playing Outside Your Sandbox INTERACTING WITH OTHER SYSTEMS USING SHAREPOINT BCS Playing Outside Your Sandbox INTERACTING WITH OTHER SYSTEMS USING SHAREPOINT BCS David Drever o Digital Workplace Services Lead o Office Servers & Services MVP o Saskatchewan SharePoint/O365 User Group

More information

Invest in the future, build for the web!

Invest in the future, build for the web! Invest in the future: build for the web! Soledad Penadés @supersole 1 of 61 20/06/2014 12:56 Apps Engineer, Mozilla 2 of 61 20/06/2014 12:56 Some time before... Android 3 of 61 20/06/2014 12:56 You can

More information

QCon - Mobile Maps HTML5 Team Andrea

QCon - Mobile Maps HTML5 Team Andrea QCon London @Nokia - Mobile Maps HTML5 Team Andrea Giammarchi @WebReflection the what the whole story, in 8 words the whole story, in 8 words one does not simply create an HTML5 Application Nokia Mobile

More information

Intro, Version Control, HTML5. CS147L Lecture 1 Mike Krieger

Intro, Version Control, HTML5. CS147L Lecture 1 Mike Krieger Intro, Version Control, HTML5 CS147L Lecture 1 Mike Krieger Hello! - A little about me. Hello! - And a little bit about you? By the end of today - Know what this lab will & won t teach you - Have checked

More information

IGME-330. Rich Media Web Application Development I Week 1

IGME-330. Rich Media Web Application Development I Week 1 IGME-330 Rich Media Web Application Development I Week 1 Developing Rich Media Apps Today s topics Tools we ll use what s the IDE we ll be using? (hint: none) This class is about Rich Media we ll need

More information

Jquery Ajax Json Php Mysql Data Entry Example

Jquery Ajax Json Php Mysql Data Entry Example Jquery Ajax Json Php Mysql Data Entry Example Then add required assets in head which are jquery library, datatable js library and css By ajax api we can fetch json the data from employee-grid-data.php.

More information

mismatch between what is maybe possible today and what is going on in many of today's IDEs.

mismatch between what is maybe possible today and what is going on in many of today's IDEs. What will happen if we do very, very small and lightweight tools instead of heavyweight, integrated big IDEs? Lecturer: Martin Lippert, VMware and Eclispe tooling expert LIPPERT: Welcome, everybody, to

More information

Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project

Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project Software Architecture Documentation for the JRC MYGEOSS app for Invasive Species project 2015.3724 Table of Contents 1 Architecture View... 2 2 Application... 3 2.1 Technologies Used... 3 2.1.1 Apache

More information

Building Desktop RIAs with PHP, HTML & Javascript in AIR. Ed Finkler, ZendCon08, September 17, 2008 funkatron.com /

Building Desktop RIAs with PHP, HTML & Javascript in AIR. Ed Finkler, ZendCon08, September 17, 2008 funkatron.com / Building Desktop RIAs with PHP, HTML & Javascript in AIR Ed Finkler, ZendCon08, September 17, 2008 funkatron.com / funkatron@gmail.com What is AIR? For the desktop Not a browser plugin Build desktop apps

More information

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables

Instructor: Craig Duckett. Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables Instructor: Craig Duckett Lecture 03: Tuesday, April 3, 2018 SQL Sorting, Aggregates and Joining Tables 1 Assignment 1 is due LECTURE 5, Tuesday, April 10 th, 2018 in StudentTracker by MIDNIGHT MID-TERM

More information

Northern Arizona University. Capstone Team Project. Design Document. Bit Tag. Temitope Alaga, John Dance, Joshua Frampton, Jun Rao.

Northern Arizona University. Capstone Team Project. Design Document. Bit Tag. Temitope Alaga, John Dance, Joshua Frampton, Jun Rao. Northern Arizona University Capstone Team Project Design Document Bit Tag Temitope Alaga, John Dance, Joshua Frampton, Jun Rao CS 486c Version 1.3 2/12/2016 Table of Contents: Introduction: Architectural

More information

Northern Arizona University. Project Requirements. Bit Tag. Temitope Alaga, John Dance, Josh Frampton, Jun Rao CS 476. Version 1.0

Northern Arizona University. Project Requirements. Bit Tag. Temitope Alaga, John Dance, Josh Frampton, Jun Rao CS 476. Version 1.0 Northern Arizona University Project Requirements Bit Tag Temitope Alaga, John Dance, Josh Frampton, Jun Rao CS 476 Version 1.0 Table of Contents Table of Contents Introduction Problem and Solution Statement

More information

State of the Browsers

State of the Browsers Hell is other browsers - Sartre State of the Browsers Peter-Paul Koch (ppk) http://quirksmode.org http://twitter.com/ppk The Ajax Experience, Sept. 30, 2008 quirksmode.org Today's topics I'm not going

More information

Build a Mobile App in 60 Minutes with MAF

Build a Mobile App in 60 Minutes with MAF Build a Mobile App in 60 Minutes with MAF Presented by: John Jay King Download this paper from: 1 Session Objectives Understand the components of Oracle MAF Use Oracle MAF to create mobile applications

More information

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE

What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE What is Standard APEX? TOOLBOX FLAT DESIGN CARTOON PEOPLE About me Freelancer since 2010 Consulting and development Oracle databases APEX BI Blog: APEX-AT-WORK Twitter: @tobias_arnhold - Oracle ACE Associate

More information

Manual Of Ios 7.1 Beta 5 Iphone 4 Performance

Manual Of Ios 7.1 Beta 5 Iphone 4 Performance Manual Of Ios 7.1 Beta 5 Iphone 4 Performance Speed comparison between iphone 4S ios 7.1.2 and 8.0.2 This test was made on 2 iphone. Use the early iphone 4s ios 8.4 reviews to decide if you should install

More information

The State of Speech Recognition on Mobile

The State of Speech Recognition on Mobile The State of Speech Recognition on Mobile The future won't be like Star Trek. Scott Adams, creator of Dilbert Why do I care about speech rec? = Cape Bretoner + Here's a conversation between two Cape

More information

Come and Get Excited about Azure Mobile Services and Xamarin.Forms

Come and Get Excited about Azure Mobile Services and Xamarin.Forms Come and Get Excited about Azure Mobile Services and A story about Azure Mobile Services, SQL Azure and Xamarin Presented By: Fabian G. Williams About the Speaker Fabian Williams, MCSD, MCDBa, MCSE SharePoint

More information

Beginner s Guide to Cordova and Mobile Application Development

Beginner s Guide to Cordova and Mobile Application Development November 13, 2018 Beginner s Guide to Cordova and Mobile Application Development George Campbell Lead Software Engineer Doug Davies Lead Software Engineer George Campbell Lead Software Engineer Doug Davies

More information

Fast Mobile UIs. You re an Edge Case. Thursday, 8 March, 12

Fast Mobile UIs. You re an Edge Case. Thursday, 8 March, 12 Fast Mobile UIs You re an Edge Case 1 Who am I, right? Horia Dragomir UI Developer @ wooga HTML5 Social Games 2 Mobile UI!= Desktop UI 3 Mobile UI is Harder Awesome standard support No IE6 Super hardware

More information

Web standards and IE8

Web standards and IE8 Hell is other browsers - Sartre Web standards and IE8 Peter-Paul Koch (ppk) http://twitter.com/ppk http://quirksmode.org MS Dev Days, 29 mei 2009 http://quirksmode.org Web standards W3C specifications

More information

SAMPLE CHAPTER. Raymond K. Camden MANNING

SAMPLE CHAPTER. Raymond K. Camden MANNING SAMPLE CHAPTER Raymond K. Camden MANNING Apache Cordova in Action by Raymond K. Camden Sample Chapter 5 Copyright 2016 Manning Publications brief contents PART 1 GETTING STARTED WITH APACHE CORDOVA...

More information

Creating An MP3 Player With HTML5 By Mark Lassoff READ ONLINE

Creating An MP3 Player With HTML5 By Mark Lassoff READ ONLINE Creating An MP3 Player With HTML5 By Mark Lassoff READ ONLINE Create a Customized HTML5 Audio Player Creating the HTML5 Audio Player: The OGG format for Firefox and MP3 for other browsers. I then create

More information

Keeping Rails on the Tracks

Keeping Rails on the Tracks Keeping Rails on the Tracks Mikel Lindsaar @raasdnil lindsaar.net Working in Rails & Ruby for 5+ Years http://lindsaar.net/ http://stillalive.com/ http://rubyx.com/ On the Rails? What do I mean by on the

More information

Executive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me?

Executive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me? The web should be fast. Executive Summary Performance Report for: https://edwardtbabinski.us/blogger/social/index Report generated: Test Server Region: Using: Analysis options: Tue,, 2017, 4:21 AM -0400

More information

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

Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory Developing Exceptional Mobile and Multi-Channel Applications using IBM Web Experience Factory IBM Corporation 2011 Who am I? 2 Agenda Mobile web applications and Web Experience Factory Tour of Web Experience

More information

Current Trends in Native and Cross-Platform Mobile Application Development

Current Trends in Native and Cross-Platform Mobile Application Development Current Trends in Native and Cross-Platform Mobile Application Development Ala Al-Fuqaha, Ph.D. Associate Professor and Director, NEST Research Lab College of Engineering & Applied Sciences Computer Science

More information

Introduction to HTML 5. Brad Neuberg Developer Programs, Google

Introduction to HTML 5. Brad Neuberg Developer Programs, Google Introduction to HTML 5 Brad Neuberg Developer Programs, Google The Web Platform is Accelerating User Experience XHR CSS DOM HTML iphone 2.2: Nov 22, 2008 canvas app cache database SVG Safari 4.0b: Feb

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

How To Set User Account Password In Windows 7 From Guest

How To Set User Account Password In Windows 7 From Guest How To Set User Account Password In Windows 7 From Guest To change the password of a specific user in windows 7 or 8.1, without knowing How to change or set Windows 7 default font settings to bold, italic?

More information

HTML5 - INTERVIEW QUESTIONS

HTML5 - INTERVIEW QUESTIONS HTML5 - INTERVIEW QUESTIONS http://www.tutorialspoint.com/html5/html5_interview_questions.htm Copyright tutorialspoint.com Dear readers, these HTML5 Interview Questions have been designed specially to

More information

AngularJS Intro Homework

AngularJS Intro Homework AngularJS Intro Homework Contents 1. Overview... 2 2. Database Requirements... 2 3. Navigation Requirements... 3 4. Styling Requirements... 4 5. Project Organization Specs (for the Routing Part of this

More information

JavaScript: Getting Started

JavaScript: Getting Started coreservlets.com custom onsite training JavaScript: Getting Started Slides 2016 Marty Hall, hall@coreservlets.com For additional materials, please see http://www.coreservlets.com/. The JavaScript tutorial

More information

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager

HTML5 Evolution and Development. Matt Spencer UI & Browser Marketing Manager HTML5 Evolution and Development Matt Spencer UI & Browser Marketing Manager 1 HTML5 Ratified. finally! After 7 years of development, the HTML5 specification was ratified on 28 th October 14 urce>

More information

Exploring Chrome Internals. Darin Fisher May 28, 2009

Exploring Chrome Internals. Darin Fisher May 28, 2009 Exploring Chrome Internals Darin Fisher May 28, 2009 Simple interface, powerful core Modern browsers resemble the cooperatively multi-tasked operating systems of the past. Guiding sentiment, 2006 Goals

More information

Pick A Winner! In What Tool Should I Develop My Next App?

Pick A Winner! In What Tool Should I Develop My Next App? Pick A Winner! In What Tool Should I Develop My Next App? Mia Urman, CEO, AuraPlayer Inc. @miaurman @auraplayer Who is Mia Urman? miaurman@auraplayer.com Oracle ACE Director & Development Geek for over

More information

Mobilize Your Users Now with Oracle Mobile Application Framework (MAF)

Mobilize Your Users Now with Oracle Mobile Application Framework (MAF) Mobilize Your Users Now with Oracle Mobile Application Framework (MAF) Presented by: John Jay King Download this paper from: 1 Session Objectives Understand the components of Oracle MAF Use Oracle MAF

More information