Using AllJoyn with Apache Cordova, Python & Node

Size: px
Start display at page:

Download "Using AllJoyn with Apache Cordova, Python & Node"

Transcription

1 Using AllJoyn with Apache Cordova, Python & Node Ivan R. Judson, PhD October 2014, Microsoft 13 October 2015 AllSeen Alliance 1

2 Agenda 1. Background 2. Cordova Plugin 3. Language Bindings Python Bindings Node Bindings 13 October 2015 AllSeen Alliance 2

3 Background 3

4 The Goal Accelerate the growth and adoption of AllJoyn by: Enabling more AllJoyn Development Engage more Development Communities Meet Developers where they are Help create a healthy AllJoyn Ecosystem Lots of participants from hardware and services to clients Provide Windows Expertise to the community Provide Knowledge to the community 13 October 2015 AllSeen Alliance 4

5 Our Strategy Assume Routers provided Deliver tools and software that fills gaps Harden the software Advocate for developers & engineers Windows 10, OS X, Android, OpenWRT Conclusion: Focus on Thin Library 13 October 2015 AllSeen Alliance 5

6 AllJoyn: Standard vs Thin Standard App Layer App dev or OEM writes this Standard Apps App Layer AllJoyn Standard Standard Service Application Frameworks Layer Thin Apps App Layer AllJoyn Thin Service Frameworks Standard Application Layer Thin App Layer OEM writes this Standard Core Libraries Multiple bindings, runs on HLOS AllJoyn Router AllJoyn Router can be bundled with a Standard App or run standalone AllJoyn Standard Core Libs AllJoyn Router HLOS AllJoyn Thin Core Libs RTOS Physical Layer (Wi-Fi, PLC, Ethernet, Bluetooth) Thin Core Libraries C bindings, runs on RTOS Thin Apps using Thin Core requires an AllJoyn Router in the network 6

7 Apache Cordova Plugin 7

8 What is Apache Cordova? Cross Platform Application development Primary Focus: Mobile Native Plugin Support: Geolocation, Accelerometer, Camera, Compass, 13 October 2015 AllSeen Alliance 8

9 Why Apache Cordova? Write once, run everywhere Java? HTML/JS Skills Required Native Skills Scarce Deep investment by Microsoft 13 October 2015 AllSeen Alliance 9

10 Apache Cordova AllJoyn Apache Cordova Plugin (cordova-plugin-alljoyn) Android, ios, Windows Phone Example Applications Light (cordova-lighting-alljoyn) TV (cordova-tv-alljoyn) Blog posts Documentation 13 October 2015 AllSeen Alliance 10

11 Cordova AllJoyn Activity 13 October 2015 AllSeen Alliance 11

12 Apache Cordova Example Applications Using the Apache Cordova Plugin we provide Apache Cordova AllJoyn Light App Luminaire Reference App Compatible Apache Cordova TV App Works with LG TV 13 October 2015 AllSeen Alliance 12

13 Apache Cordova AllJoyn Plugin: Example > cordova create AllJoyn-Cordova-Example org.alljoyn.cordovaexample "Cordova AllJoyn Example" > cd AllJoyn-Cordova-Example/ > cordova plugin add org.allseen.alljoyn > cordova platform add android > cordova build > cordova run 13 October 2015 AllSeen Alliance 13

14 Apache Cordova AllJoyn Plugin: Ongoing Published as open source on Github We continue to fix bugs and use it Works with our new Cordova Support in Visual Studio October 2015 AllSeen Alliance 14

15 Language Bindings 15

16 Why Bind AJTL To Other Languages? 13 October 2015 AllSeen Alliance 16

17 Why Bind AJTL To Other Languages? 13 October 2015 AllSeen Alliance 17

18 Language Bindings In the AllJoyn Standard Library Core: C++ Plus Bindings: Java, JavaScript, Objective-C Deprecated: C#/Unity Meanwhile, in the AllJoyn Thin Library: Core: C Bindings in progress: Python, Node Any SWIG supported language Brook:~ irjudson$ swig help Target Language Options -allegrocl - Generate ALLEGROCL wrap -chicken - Generate CHICKEN wrappe -clisp - Generate CLISP wrappers -cffi - Generate CFFI wrappers -csharp - Generate C# wrappers -d - Generate D wrappers -go - Generate Go wrappers -guile - Generate Guile wrappers -java - Generate Java wrappers -javascript - Generate Javascript wra -lua - Generate Lua wrappers -modula3 - Generate Modula 3 wrapp -mzscheme - Generate Mzscheme wrapp -ocaml - Generate Ocaml wrappers -octave - Generate Octave wrapper -perl - Generate Perl wrappers -php - Generate PHP wrappers -pike - Generate Pike wrappers -python - Generate Python wrapper -r - Generate R (aka GNU S) -ruby - Generate Ruby wrappers -sexp - Generate Lisp S-Express -tcl - Generate Tcl wrappers -uffi - Generate Common Lisp / -xml - Generate XML wrappers 13 October 2015 AllSeen Alliance 18

19 My Approach: SWIG SWIG => SoftWare Interface Generator, David Beazley, author Driven by an interface file, which can be auto generated in simple cases. %module example %{ /* Includes the header in the wrapper code */ #include "header.h" % } /* Parse the header file to generate wrappers */ %include "header.h 13 October 2015 AllSeen Alliance 19

20 My Approach: SWIG 11:47 $ scons WS=off LANG=python scons: Reading SConscript files... 11:47 $ cd swig/python/ 11:47 $ ls _alljoyn.so basic_service.py marshal_client.py alljoyn.py int marshal_service.py alljoyn.pyc int.c marshal_test.py basic_client.py marshal.i 13 October 2015 AllSeen Alliance 20

21 Status: Almost there! Progress is slow, but steady. Working on Python first. Debugging a structure marshaling / unmarshaling issue with the message header (endianess specifically). Finishing the marshaling of basic types for Python Then Node, etc My issue to resolve the outstanding issues with language bindings 13 October 2015 AllSeen Alliance 21

22 Python Bindings 22

23 AllJoyn Messages AllJoyn Services and Clients communicate by sending messages Messages generally have the form of headers and payloads The payloads are Marshaled (encoded safely for types) when sent The recipient needs to be able to Unmarshal the messages Here are the signatures of all the messages found in the AJTL: # (ayay) # (ii) # (usay) # (vvvvvv) # au # ay # ays # b # I # ii # o # q # qq # qsq # s # sq # ss # sss # su # u # u(usu(ii)qsq)yyy # uq # us # usu # uu # v # y # ys # yyy # {iv} # {s(us)} # {sv} # {us} # {ys} 13 October 2015 AllSeen Alliance 23

24 Data Marshaling /* * Message argument types */ #define AJ_ARG_INVALID '\0' /**< AllJoyn invalid type */ #define AJ_ARG_ARRAY 'a' /**< AllJoyn array container type */ #define AJ_ARG_BOOLEAN 'b' /**< AllJoyn boolean basic type */ #define AJ_ARG_DOUBLE 'd' /**< AllJoyn IEEE 754 double basic type */ #define AJ_ARG_SIGNATURE 'g' /**< AllJoyn signature basic type */ #define AJ_ARG_HANDLE 'h' /**< AllJoyn socket handle basic type */ #define AJ_ARG_INT32 'i' /**< AllJoyn 32-bit signed integer basic type */ #define AJ_ARG_INT16 'n' /**< AllJoyn 16-bit signed integer basic type */ #define AJ_ARG_OBJ_PATH 'o' /**< AllJoyn Name of an AllJoyn object instance basic type */ #define AJ_ARG_UINT16 'q' /**< AllJoyn 16-bit unsigned integer basic type */ #define AJ_ARG_STRING 's' /**< AllJoyn UTF-8 NULL terminated string basic type */ #define AJ_ARG_UINT64 't' /**< AllJoyn 64-bit unsigned integer basic type */ #define AJ_ARG_UINT32 'u' /**< AllJoyn 32-bit unsigned integer basic type */ #define AJ_ARG_VARIANT 'v' /**< AllJoyn variant container type */ #define AJ_ARG_INT64 'x' /**< AllJoyn 64-bit signed integer basic type */ #define AJ_ARG_BYTE 'y' /**< AllJoyn 8-bit unsigned integer basic type */ #define AJ_ARG_STRUCT '(' /**< AllJoyn struct container type */ #define AJ_ARG_DICT_ENTRY '{' /**< AllJoyn dictionary or map container type */ 13 October 2015 AllSeen Alliance 24

25 Data Marshaling Language specific Not all types map uniquely Luckily there aren t that many types switch(signature[i]) { case 'y': printf("got a byte: "); arg.val.v_data = (void *)PyInt_AsLong(o); printf("%d\n", (int)arg.val.v_byte); break; case 'q': printf("got a 16-bit unsigned integer: "); arg.val.v_data = (void *)PyInt_AsLong(o); printf("%d\n", (int)arg.val.v_uint16); break; case 'u': printf("got a 32-bit unsigned integer: "); arg.val.v_data = (void *)PyInt_AsLong(o); printf("%d\n", (int)arg.val.v_uint32); break; case 't': printf("got a 64-bit unsigned integer: "); arg.val.v_data = (void *)PyInt_AsLong(o); printf("%d\n", (int)arg.val.v_uint64); break; } 13 October 2015 AllSeen Alliance 25

26 Example: Basic Service Switch to editor 13 October 2015 AllSeen Alliance 26

27 Example: Basic Client Switch to editor 13 October 2015 AllSeen Alliance 27

28 Node Bindings 28

29 Example: Basic Service Switch to editor 13 October 2015 AllSeen Alliance 29

30 Example: Basic Client Switch to editor 13 October 2015 AllSeen Alliance 30

31 In closing We are here to help We have experience with all the platforms, lots of data, and software. We ll work with you where you are We are platform agnostic. You don t have to learn a new language You can use AllJoyn with C, C++, Objective-C, JavaScript, Python, Node, more every day. 13 October 2015 AllSeen Alliance 31

32 Thank you Follow us on For more information on AllSeen Alliance, visit us at: allseenalliance.org & allseenalliance.org/news/blogs 13 October 2015 AllSeen Alliance 32

Present and Act Upon. Register. Consume. Stream Analytics. Event Hubs. Field Gateway. Applications Cloud Gateway. Legacy IoT (custom protocols)

Present and Act Upon. Register. Consume. Stream Analytics. Event Hubs. Field Gateway. Applications Cloud Gateway. Legacy IoT (custom protocols) Things Gateway Ingest Transform Store Present and Act Upon Applications Cloud Gateway Event Hubs Stream Analytics Legacy IoT (custom protocols) Register Devices Storage Adapters IP-capable devices (Windows/Linux)

More information

Programming the Internet of Things

Programming the Internet of Things Programming the Internet of Things Why Devices Need APIs December 8, 2014 Greg Burns Chair of Technical Steering Committee AllSeen Alliance 2 December 2014 AllSeen Alliance 1 Mobile The largest technology

More information

Getting Started Android + Linux. February 27 th, 2014

Getting Started Android + Linux. February 27 th, 2014 Getting Started Android + Linux February 27 th, 2014 Overview AllJoyn: High-level architecture Sample AllJoyn Apps for Android, Linux Downloading the AllJoyn Android SDKs Building the Sample AllJoyn Android

More information

A little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer

A little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer A little code goes a long way Cross-platform game development with Lua Ivan Beliy, Software Engineer 9/25/14 Marmalade. Trademarks belong to their respective owners. All rights reserved. 1 A bit of History!

More information

Extending Tizen Native Framework with Node.js

Extending Tizen Native Framework with Node.js Extending Tizen Native Framework with Node.js Nishant Deshpande Hyunju Shin Ph.D. Samsung Electronics Contents Native or Web? Why JavaScript, Node.js? Proposed Architecture Sample Applications Going Forward

More information

Getting Started with the AllJoyn Lighting Service Framework 14.12

Getting Started with the AllJoyn Lighting Service Framework 14.12 Getting Started with the AllJoyn Lighting Service Framework 14.12 Lamp Service April 09, 2015 This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/

More information

AllJoyn Framework System Overview

AllJoyn Framework System Overview AllJoyn Framework System Overview Brian Spencer Engineer, Staff/Manager Qualcomm Connected Experiences, Inc. (QCE) August, 2014 28 August 2014 AllSeen Alliance 1 What is the AllJoyn Framework? An open

More information

A Way Out of the Mobile App Development Conundrum

A Way Out of the Mobile App Development Conundrum A Way Out of the Mobile App Development Conundrum How you can grow your business and improve time-to-market with a cross-platform mobile app strategy Introduction Ask most any business executive for their

More information

Bridging the Gap: from a Web App to a Mobile Device App

Bridging the Gap: from a Web App to a Mobile Device App Bridging the Gap: from a Web App to a Mobile Device App or, so how does this PhoneGap* stuff work? *Other names and brands may be claimed as the property of others. 1 Users Want Mobile Apps, Not Mobile

More information

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte

Enabling Cordova (aka PhoneGap) on Tizen. René Pourtier / Luc Yriarte Enabling Cordova (aka PhoneGap) on Tizen René Pourtier / Luc Yriarte What is Cordova (aka PhoneGap)? An open-source standards-based development framework for building cross-platform mobile applications

More information

Developing and deploying mobile apps

Developing and deploying mobile apps Developing and deploying mobile apps 1 Overview HTML5: write once, run anywhere for developing mobile applications 2 Native app alternative Android -- Java ios -- Objective-C Windows Mobile -- MS tools

More information

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications Secure Cloud and Remote Service Connections for AllJoyn Applications Art Lancaster CTO, Affinegy Chair, Gateway Agent Working Group 12 November 2014 AllSeen Alliance 1 Agenda 1. Gateway Agent Working Group

More information

HybriDroid: Analysis Framework for Android Hybrid Applications

HybriDroid: Analysis Framework for Android Hybrid Applications HybriDroid: Analysis Framework for Android Hybrid Applications Sungho Lee, Julian Dolby, Sukyoung Ryu Programming Language Research Group KAIST June 13, 2015 Sungho Lee, Julian Dolby, Sukyoung Ryu HybriDroid:

More information

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications Secure Cloud and Remote Service Connections for AllJoyn Applications Art Lancaster CTO, Affinegy Chair, Gateway Agent Working Group 5 February 2015 AllSeen Alliance 1 Agenda 1. Gateway Agent Working Group

More information

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Programming models for heterogeneous computing Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga Talk outline [30 slides] 1. Introduction [5 slides] 2.

More information

The Decaffeinated Robot

The Decaffeinated Robot Developing on without Java Texas Linux Fest 2 April 2011 Overview for Why? architecture Decaffeinating for Why? architecture Decaffeinating for Why choose? Why? architecture Decaffeinating for Why choose?

More information

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts

Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java. Drupaldelphia 2014 By Joe Roberts Develop a Native App (ios and Android) for a Drupal Website without Learning Objective-C or Java Drupaldelphia 2014 By Joe Roberts Agenda What is DrupalGap and PhoneGap? How to setup your Drupal website

More information

Secure Cloud and Remote Service Connections for AllJoyn Applications

Secure Cloud and Remote Service Connections for AllJoyn Applications Secure Cloud and Remote Service Connections for AllJoyn Applications Art Lancaster CTO, Affinegy Chair, Gateway Agent Working Group 24 November 2014 AllSeen Alliance 1 Agenda 1. Gateway Agent Working Group

More information

Creating Enterprise Mobile Apps with Red Hat

Creating Enterprise Mobile Apps with Red Hat Creating Enterprise Mobile Apps with Red Hat Red Hat, Jun12 2013 Deepali, Jay & Burr Gold Rush Enterprise Mobile Rush? ios.. ios...... ios Gold Rush Vs Mobile Rush Similar California epicenter Shaped history

More information

Cid Santos Luis Matos. Introduction to AllJoyn

Cid Santos Luis Matos. Introduction to AllJoyn 1 Cid Santos Luis Matos Introduction to AllJoyn 1 2 3 4 5 What is AllJoyn? How AllJoyn works Setup your Android Dev. Environment Development with java SDK Questions & Answers Agenda 3 Why Can t All Our

More information

Open Sourcing the Internet of Things

Open Sourcing the Internet of Things Open Sourcing the Internet of Things Greg Burns Technical Steering Committee Chair AllSeen Alliance 24 March 2015 AllSeen Alliance 1 Companies will win over Internet of Things not in the boardroom, but

More information

IoT Cloud, All Seen Alliance. Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on

IoT Cloud, All Seen Alliance. Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on IoT Cloud, All Seen Alliance Masanari Arai 荒 井 真 成 CEO, Kii Corpora0on IoT Opportunity 6.7B devices in 2010 à 50B devices in 2020 Revenue : 3 times bigger than Internet Many different segments IT / Networks

More information

Practical Essbase Web Services

Practical Essbase Web Services Practical Essbase Web Services For Fun and Profit Jason Jones Jason Jones l Essbase l Programming l Mobile development l ODI l Blogging l Open source Agenda l Web services in a nutshell l Essbase connectivity

More information

Porting Existing PhoneGap Apps to Tizen OS - Development Story

Porting Existing PhoneGap Apps to Tizen OS - Development Story Porting Existing PhoneGap Apps to Tizen OS - Development Story Anil Kumar Yanamandra Thomas Mitchell ProKarma About ProKarma Who am I? Anil Kumar Yanamandra Mobile Architect & Head CoE for Mobility @ProKarma

More information

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh

Developing Native JavaScript Mobile Apps Using Apache Cordova. Hazem Saleh Developing Native JavaScript Mobile Apps Using Apache Cordova Hazem Saleh About Me Ten years of experience in Java enterprise, portal, mobile solutions. Apache Committer and an open source fan. Author

More information

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

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7 Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7 Jeff Linwood 1st Chapter, Early Release Introduction... 3 Prerequisites... 3 Introduction to Mobile Apps...

More information

AllJoyn Android Environment Setup Guide

AllJoyn Android Environment Setup Guide 80-BA001-2 Rev. A June 21, 2011 Submit technical questions at: http:///forums The information contained in this document is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License;

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer

Developing multidevice-apps using Apache Cordova and HTML5. Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer Developing multidevice-apps using Apache Cordova and HTML5 Guadalajara Java User Group Guillermo Muñoz (@jkoder) Java Developer WTF is Apache Cordova? Set of device APIs that allow to access native device

More information

Android: How To. Thanks. Aman Nijhawan

Android: How To. Thanks. Aman Nijhawan Android: How To. This is just a collection of useful information and tricks that I used during the time I was developing on the android ADP1. In some cases the information might be a little old and new

More information

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app Your guide to building great apps Upgrade your skills and update your tools to create the next great app Introduction Visual Studio 2015 helps you turn great ideas into great business applications. Our

More information

Mobile Test Automation Framework

Mobile Test Automation Framework Mobile Test Automation Framework Shankar Garg Senior Consultant - Testing Problem Statement Features of Test Automation Framework Tech stack and why Demo Did we still miss something Page Objects Why Mobile

More information

Using Extensions or Cordova Plugins in your RhoMobile Application Darryn Campbell @darryncampbell

Using Extensions or Cordova Plugins in your RhoMobile Application Darryn Campbell @darryncampbell Using Extensions or Cordova Plugins in your RhoMobile Application Darryn Campbell @darryncampbell Application Architect Agenda Creating a Rho Native Extension on Android Converting a Cordova Plugin to

More information

opalang - Rapid & Secure Web Development

opalang - Rapid & Secure Web Development opalang - Rapid & Secure Web Development Syllabus Brief History of Web Development Ideas and Goals The Language itself Community Reason for Development Services and Apps written in OPA Future of OPA OPA

More information

Getting Started with the Internet Communications Engine

Getting Started with the Internet Communications Engine Getting Started with the Internet Communications Engine David Vriezen April 7, 2014 Contents 1 Introduction 2 2 About Ice 2 2.1 Proxies................................. 2 3 Setting Up ICE 2 4 Slices 2

More information

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise

Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise Develop Hybrid Mobile Applications with Apache Cordova & PhoneGap Enterprise Andrew Savory Mobile Services and Solutions Evangelist, Adobe @savs ACM Learning Center http://learning.acm.org 1,400+ trusted

More information

Cloud Powered Mobile Apps with Azure

Cloud Powered Mobile Apps with Azure Cloud Powered Mobile Apps with Azure Malte Lantin Technical Evanglist Microsoft Azure Agenda Mobile Services Features and Demos Advanced Features Scaling and Pricing 2 What is Mobile Services? Storage

More information

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project:

BASIC COMPONENTS. There are 3 basic components in every Apache Cordova project: Apache Cordova is a open-source mobile development framework. It allows you to use standard web technologies such as HTML5, CSS3 and JavaScript for cross-platform development, avoiding each mobile platform

More information

Cross-Platform Development

Cross-Platform Development 2 Cross-Platform Development Cross-Platform Development The world of mobile applications has exploded over the past five years. Since 2007 the growth has been staggering with over 1 million apps available

More information

All About Android WHAT IS ANDROID?

All About Android WHAT IS ANDROID? All About Android WHAT IS ANDROID? Android specifically refers to a mobile operating system (based on Linux) that is developed by Google. It is open-source software, meaning that anyone can download the

More information

Implementing Mobile Thin client Architecture For Enterprise Application

Implementing Mobile Thin client Architecture For Enterprise Application Research Paper Implementing Mobile Thin client Architecture For Enterprise Paper ID IJIFR/ V2/ E1/ 037 Page No 131-136 Subject Area Information Technology Key Words JQuery Mobile, JQuery Ajax, REST, JSON

More information

With a single download, the ADT Bundle includes everything you need to begin developing apps:

With a single download, the ADT Bundle includes everything you need to begin developing apps: Get the Android SDK The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android. The ADT bundle includes the essential Android SDK components

More information

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin

Development Techniques for Native/Hybrid Tizen Apps. Presented by Kirill Kruchinkin Development Techniques for Native/Hybrid Tizen Apps Presented by Kirill Kruchinkin Agenda Introduction and Definitions Practices Case Studies 2 Introduction & Definitions 2 App Types Browser Apps Installable

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

More information

Retool your HTML/JavaScript to go Mobile

Retool your HTML/JavaScript to go Mobile Retool your HTML/JavaScript to go Mobile @atdebonis 2008 Troy Web Consulting LLC All rights reserved 1 Overview What is PhoneGap? What is it good for? What can you use with it? Device Features Dev Tools

More information

Native vs. HTML5 Mobile App Development

Native vs. HTML5 Mobile App Development Native vs. HTML5 Mobile App Development Which option is best? appcelerator.com Introduction: The Native vs. HTML5 Debate While there are far more native than HTML5 mobile applications in the market today,

More information

Crosswalk: build world class hybrid mobile apps

Crosswalk: build world class hybrid mobile apps Crosswalk: build world class hybrid mobile apps Ningxin Hu Intel Today s Hybrid Mobile Apps Application HTML CSS JS Extensions WebView of Operating System (Tizen, Android, etc.,) 2 State of Art HTML5 performance

More information

ios SDK possibilities & limitations

ios SDK possibilities & limitations ios SDK possibilities & limitations Licensing Licensing Registered as an Apple Developer (free) Access to XCode3 and ios SDK ios, Mac and Safari Dev Center Resources No possibility of distribution of developed

More information

Some Experiences With Python For Android (Py4A) Nik Klever University of Applied Sciences Augsburg

Some Experiences With Python For Android (Py4A) Nik Klever University of Applied Sciences Augsburg Some Experiences With Python For Android (Py4A) Nik Klever University of Applied Sciences Augsburg Content Introduction and General Aspects SL4A Basics Architecture / Features / API SL4A API Motivation

More information

Enterprise Mobile Application Development: Native or Hybrid?

Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? Enterprise Mobile Application Development: Native or Hybrid? SevenTablets 855-285-2322 [email protected] http://www.seventablets.com

More information

Azure Day Application Development

Azure Day Application Development Azure Day Application Development Randy Pagels Developer Technology Specialist Tim Adams Developer Solutions Specialist Azure App Service.NET, Java, Node.js, PHP, Python Auto patching Auto scale Integration

More information

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet

Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet Out of the Fire - Adding Layers of Protection When Deploying Oracle EBS to the Internet March 8, 2012 Stephen Kost Chief Technology Officer Integrigy Corporation Phil Reimann Director of Business Development

More information

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle Safe Harbor Statement The following is intended to outline our general

More information

AllJoyn Device System Bridge

AllJoyn Device System Bridge IoT Whitepaper AllJoyn Connecting device ecosystems Abstract The document describes how different types of industrial and consumer devices can be integrated into the AllJoyn ecosystem. With the, Microsoft

More information

Programming Mobile Apps with Python

Programming Mobile Apps with Python Programming Mobile Apps with Python Andreas Schreiber EuroPython 2012, Florence, Italy (July 3, 2012) Medando Mobile Health Apps Slide 2 My Blood Pressure Slide 3 Overview

More information

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

Mobile web apps: The best option for business? A whitepaper from mrc Mobile web apps: The best option for business? A whitepaper from mrc Introduction Mobile apps have finally reached the point where businesses can no longer afford to ignore them. Recent surveys and studies

More information

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc)

l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) today l What is Android? l Getting Started l The Emulator l Hello World l ADB l Text to Speech l Other APIs (camera, bitmap, etc) l Other: Signing Apps, SVN l Discussion and Questions introduction to android

More information

Gerald Kaszuba. Slowchop Studios Director Specialising in Game Design, Architecture, and Development. [email protected] http://geraldkaszuba.

Gerald Kaszuba. Slowchop Studios Director Specialising in Game Design, Architecture, and Development. gak@gak0.com http://geraldkaszuba. Gerald Kaszuba [email protected] http://geraldkaszuba.com/ I have 26 years of experience in computer programming and related technologies, which includes 13 years professionally, and 13 years as a hobby in

More information

How To Develop Android On Your Computer Or Tablet Or Phone

How To Develop Android On Your Computer Or Tablet Or Phone AN INTRODUCTION TO ANDROID DEVELOPMENT CS231M Alejandro Troccoli Outline Overview of the Android Operating System Development tools Deploying application packages Step-by-step application development The

More information

4D Plugin SDK v11. Another minor change, real values on 10 bytes is no longer supported.

4D Plugin SDK v11. Another minor change, real values on 10 bytes is no longer supported. 4D Plugin SDK v11 4D Plugin API 4D Plugin API v11 is a major upgrade of 4D Plugin API. The two major modifications are that it is now fully Unicode compliant, and that it gives support to the new 4D pictures.

More information

Introduction to Android

Introduction to Android Introduction to Android 26 October 2015 Lecture 1 26 October 2015 SE 435: Development in the Android Environment 1 Topics for Today What is Android? Terminology and Technical Terms Ownership, Distribution,

More information

Mobile Game and App Development the Easy Way

Mobile Game and App Development the Easy Way Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected

More information

SYST35300 Hybrid Mobile Application Development

SYST35300 Hybrid Mobile Application Development SYST35300 Hybrid Mobile Application Development Native, Web and Hybrid applications Hybrid Applications: Frameworks Native, Web and Hybrid Applications Mobile application development is the process by

More information

AllJoyn Analytics Service Framework 1.0 Interface Definition

AllJoyn Analytics Service Framework 1.0 Interface Definition AllJoyn Analytics Service Framework 1.0 Interface Definition February 17, 2015 This work is licensed under a Creative Commons Attribution 4.0 International License. http://creativecommons.org/licenses/by/4.0/

More information

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON

Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Revista Informatica Economică, nr. 4 (44)/2007 45 Developing a Web Server Platform with SAPI Support for AJAX RPC using JSON Iulian ILIE-NEMEDI, Bucharest, Romania, [email protected] Writing a custom web

More information

Cross-Platform Phone Apps & Sites with jquery Mobile

Cross-Platform Phone Apps & Sites with jquery Mobile Cross-Platform Phone Apps & Sites with jquery Mobile Nick Landry, MVP Senior Product Manager Infragistics Nokia Developer Champion [email protected] @ActiveNick www.activenick.net Who is ActiveNick?

More information

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood

Mobile development with Apache OFBiz. Ean Schuessler, co-founder @ Brainfood Mobile development with Apache OFBiz Ean Schuessler, co-founder @ Brainfood Mobile development For the purposes of this talk mobile development means mobile web development The languages and APIs for native

More information

Appery.io Overview. However mobile also presents many challenges for enterprises:

Appery.io Overview. However mobile also presents many challenges for enterprises: Appery.io Overview Enterprises and businesses of all sizes are racing to mobilize existing business applications and create new ones at an unprecedented pace. And with the base of smartphones and tablets

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Making Mobile a Reality

Making Mobile a Reality Making Mobile a Reality KIEFER CONSULTING CALIFORNIA DEPARTMENT OF TECHNOLOGY Introductions Scott Paterson California Department of Technology, Enterprise Solutions Harkeerat Toor Kiefer Consulting, Consultant

More information

1. License. Copyright 2016 gamedna studio. All rights reserved.

1. License. Copyright 2016 gamedna studio. All rights reserved. Contents 1. License... 3 2. Introduction... 4 3. Getting started... 5 4. Recording events in Blueprints... 6 5. Supported Analytics Provider Nodes... 8 6. Recording events in C++... 9 1. License Copyright

More information

Splunk for.net Developers

Splunk for.net Developers Copyright 2014 Splunk Inc. Splunk for.net Developers Glenn Block Senior Product Manager, Splunk Disclaimer During the course of this presentahon, we may make forward- looking statements regarding future

More information

Apache Thrift and Ruby

Apache Thrift and Ruby Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and

More information

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013

Database Management System Choices. Introduction To Database Systems CSE 373 Spring 2013 Database Management System Choices Introduction To Database Systems CSE 373 Spring 2013 Outline Introduction PostgreSQL MySQL Microsoft SQL Server Choosing A DBMS NoSQL Introduction There a lot of options

More information

Here to take you beyond Mobile Application development using Android Course details

Here to take you beyond Mobile Application development using Android Course details Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android

More information

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends

More information

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices 232 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface

More information

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

Best practices building multi-platform apps. John Hasthorpe & Josh Venman Best practices building multi-platform apps John Hasthorpe & Josh Venman It s good to have options Android 4.3 10 Tablet Windows 7 14 Laptop Windows 7 15 Laptop Mac OSX 15 Laptop ios 6 4.6 Phone Android

More information

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application

Issues of Hybrid Mobile Application Development with PhoneGap: a Case Study of Insurance Mobile Application DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development

More information

Comparison of Cross-Platform Mobile Development Tools

Comparison of Cross-Platform Mobile Development Tools 2012 16th International Conference on Intelligence in Next Generation Networks Comparison of Cross-Platform Mobile Development Tools Manuel Palmieri Innovation, Design and Engineering Mälardalen University

More information

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC http://codesorcery.net/dcdc

Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC http://codesorcery.net/dcdc Beyond The Web Drupal Meets The Desktop (And Mobile) Justin Miller Code Sorcery Workshop, LLC http://codesorcery.net/dcdc Introduction Personal introduction Format & conventions for this talk Assume familiarity

More information

Mobilize Your ERP with ADF Mobile

Mobilize Your ERP with ADF Mobile Mobilize Your ERP with ADF Mobile Ramesh Kumar ealliance Corp Founder & CEO [email protected] 630-618-0916 1 ealliance Background ealliance started in 1998 as an Oracle Partner specializing in Oracle

More information

CS 378 Big Data Programming. Lecture 9 Complex Writable Types

CS 378 Big Data Programming. Lecture 9 Complex Writable Types CS 378 Big Data Programming Lecture 9 Complex Writable Types Review Assignment 4 - CustomWritable QuesIons/issues? Hadoop Provided Writables We ve used several Hadoop Writable classes Text LongWritable

More information

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734

City of Dublin Education & Training Board. Programme Module for. Mobile Technologies. leading to. Level 6 FETAC. Mobile Technologies 6N0734 City of Dublin Education & Training Board Programme Module for Mobile Technologies leading to Level 6 FETAC Version 3 1 Introduction This programme module may be delivered as a standalone module leading

More information

Overview. The Android operating system is like a cake consisting of various layers.

Overview. The Android operating system is like a cake consisting of various layers. The Android Stack Overview The Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose but the layers are not always cleanly separated and

More information

What marketing won t tell you about the Internet of Things

What marketing won t tell you about the Internet of Things What marketing won t tell you about the Internet of Things Elecia White #eelive Produced by EE Times Why are you here? Why am I here? Founder of Logical Elegance, embedded systems consulting firm Author

More information

Types of Cloud Computing

Types of Cloud Computing Types of Cloud Computing (SaaS)Software as a Service XaaS (PaaS) Platform as a Service (IaaS) Infrastructure as a Service Access to Cloud computing Service Web URL (standard HTTP methods) web brower HTTP

More information

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013 Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone

More information

QML and JavaScript for Native App Development

QML and JavaScript for Native App Development Esri Developer Summit March 8 11, 2016 Palm Springs, CA QML and JavaScript for Native App Development Michael Tims Lucas Danzinger Agenda Native apps. Why? Overview of Qt and QML How to use JavaScript

More information

Cross-platform mobile development with Visual C++ 2015

Cross-platform mobile development with Visual C++ 2015 Cross-platform mobile development with Visual C++ 2015 Sasha Goldshtein @goldshtn CTO, Sela Group blog.sashag.net App Targeting Spectrum Developer pain exponential jump in complexity, but not in user experience

More information

Mobile App Infrastructure for Cross-Platform Deployment (N11-38)

Mobile App Infrastructure for Cross-Platform Deployment (N11-38) Mobile App Infrastructure for Cross-Platform Deployment (N11-38) Contents Introduction... 2 Background... 2 Goals and objectives... 3 Technical approaches and frameworks... 4 Key outcomes... 5 Project

More information