The 8th Programming Environment

Size: px
Start display at page:

Download "The 8th Programming Environment"

Transcription

1 The 8th Programming Environment Design Decisions White Paper by: Ron Aaron Copyright Aaron High-Tech, Ltd, All Rights Reserved 8th is a trademark of Aaron High-Tech, Ltd

2 Overview This is a somewhat technical overview of some of the decisions which went into the design of 8th. The overall design was dictated by various factors, some contradictory. In weighing them, the top considerations were: 1. Cross platform unity 2. Ease of use 3. Reliable and steady performance 4. Data security Cross platform unity means that the same code must produce the same results on all platforms, to the ultimate extent possible. It also means that the programmer need not write platformspecific code unless there is a compelling reason to do so. Ease of use from the programmer s perspective. The language 8th is based on Forth, but with an emphasis on making the programmer s life easier. A typical programmer should require no more than three days to start being productive with 8th. The reasons for the uncommon choice of Forth as a basis for development will become clear later in this document. Reliable and steady performance means that in the most common scenarios, the end-user should not notice any perceptible difference between a program written in 8th and one written in a native solution. It was not, and is not, the goal of 8th to be as fast as a C++ solution (for example). However, it should not be possible for the end-user to discern that the program was written in 8th due to sub-optimal performance. Data security means that the deployed executable program should be hack-resistant. That implies that the executable should become inoperable and notify the end-user if it was tampered with. It also means that encryption is built-in to 8th, available for the programmer to use as desired to secure communications and data storage. In addition, the important libraries on which the 8th engine relies are built into it, preventing their surreptitious replacement. Cross platform unity There are a number of cross-platform solutions available today, but each suffers from various deficiencies. When I was looking for a cross-platform development tool to help me write an application targeting both mobile and desktop platforms, I did not find any which met all the criteria listed in the introduction. The Android platform requires you write in Java. The ios platform requires Objective-C. Windows programs are typically either C++ or C#, while Linux are usually C or C++. Quite apart from the plethora of languages one must use to support an application for all these platforms, the platforms themselves have wildly different programming interfaces (APIs). This makes writing cross-platform applications very difficult, time-consuming and expensive. On the desktop platforms there are a couple reasonable solutions: wxwidgets and Qt. Both are C++ libraries which abstract the underlying OS differences, and I had a fair bit of experience using wxwidgets. But wxwidgets does not support mobile, so I looked into using Qt. Apart from being 2

3 unable to get Qt to work across platforms, their licensing fees were out of my reach. So I kept looking. On the mobile platforms there is (also, as of recently) Qt as well as PhoneGap (and other similar products). The PhoneGap solution revolves around writing your application using a combination of HTML, CSS and Javascript. The end result is a slow, yet insecure application (since it is trivial for anyone to see your application s code). All of this, and PhoneGap does not support desktop applications nor does it allow access to third-party libraries. So I kept looking. In 8th, the language used is identical across all target platforms. The API which 8th exposes to the programmer is identical between platforms. Every effort is made to make it possible for the programmer to ignore platform specifics. That said, it is, nevertheless, trivially possible for the programmer to write platform-specific code. Not only because he can query the platform at runtime (via the 8th API), but he can dynamically run code specific to a platform (loaded over the net, from a database, or hard-coded in the application). The GUI (graphical interface) used by 8th is called JUCE. I looked for a long time to find a GUI library which was capable, worked on all my target platforms, had a usable API, and had a reasonable licensing model. JUCE was the only library I found which met all the criteria. As a result, 8th programs look exactly the same across all platforms. It is even possible to embed fonts in an 8th application, thereby having almost 100% identity between platforms. As JUCE is improved, 8th will also improve. Ease of use As mentioned at the beginning of this paper, 8th is a Forth derived language. There are several reasons for this. First, a Forth interpreter can be very small and fast. Second, I have experience writing Forth interpreters (my public-domain Reva Forth is still popular). But most important in my opinion is the very minimal syntax Forth incurs. This minimalist syntax means that an 8th program can be almost as readable as one s native language. It also means that only that which is required is written. For example, the canonical hello world program in 8th can be as short as "Hello, world!". bye. Contrast that to the monstrosity required in Java or C#. Ease of use also means: Most programmers will become productive with 8th in a matter of days. The facilities a programmer needs to get the job done are easily available. No need to write basic data structures they re already built-in. Access to third-party libraries is not only possible, but simple. Skills acquired learning one aspect of the language translate to other parts that is, the built-in words are consistent. There is no single, proper, way to do it. 8th gives the programmer considerable leeway in terms of self-expression. 3

4 Reliable and steady performance The topic of performance is a tricky one. From the end-user perspective, it makes no difference if an action takes 10 milliseconds or 50 milliseconds. But once the 100 millisecond boundary is reached, users will start to notice. It is up to the programmer to keep the user from noticing when things get slow. Performance, security, and ease-of-use are somewhat conflicting goals; in 8th my choice was to place a higher priority on security and ease-of-use. Despite that, the overall performance of 8th is quite acceptable (certainly better than PhoneGap, though not as good as native C++). Internally, items in 8th are allocated in pools, and reference-counted. This prevents rampant memory allocation and fragmentation, and improves locality of reference (which can help improve performance). 8th uses spin-locks to coordinate access to the pools, because they are global to the application (rather than per-thread). This means that access is slower than it might otherwise be, but is also transparently thread-safe to the programmer. The use of spin-locks rather than heavier system locks helps improve performance. Threaded execution is easily available to the programmer, allowing her to offload time-consuming activities to a background task and thus making the user-experience more responsive. Data security There are several related issues with respect to data security. First of all, an 8th program is packaged as an end-user application using our patent-pending process. That process creates an encrypted package using AES-256-GCM encryption to ensure that if that package is tampered with in any way, the 8th engine knows that and can take an appropriate action (notifying the user and quitting). Furthermore, that package is also signed using public-key encryption so that the engine knows that the package came from a valid authority (either us, or the developer s team). The package mentioned above also includes any assets the developer chose to include. Those could be graphics, fonts, data tables or anything else required for the application. Because all the assets as well as the source of the application are encrypted, not only are they tamper-resistant but they are also hack-resistant. It is not simple for an attacker to decipher the package and uncover the developer s trade-secrets. 8th has built-in support for communication over https channels, as well as utilizing encryption for other purposes (such as storing data in an encrypted manner). The encryption engine is builtin, as are all the support libraries used by the 8th engine, and thus quite difficult to subvert. 4

5 Contrasts To summarize, I would like to illustrate the differences between how 8th does things and how some other languages work. There are things which I have found, over the years, to be a hindrance and an irritation so 8th doesn t do them: most languages: reserved words, restrictions on naming. 8th has no reserved words, and no restrictions on naming except that you cannot have whitespace inside a name. Python: rigid use of whitespace. I never did understand the rationale for this Python feature. 8th lets you put as much or as little whitespace in your code as you like, and lets you arrange your code in whatever arrangement seems good to you. C++: virtual destructors: If you forget to make a destructor virtual in C++, your application may run, but have a subtle bug you will spend a long time debugging. 8th doesn t have this because its model of object-orientation is very different from C++ or Java C++: pointers vs references: If you pass a reference to a C++ local variable, you will be surprised if the object you passed it to uses it after your function went out of scope. 8th does not let you use pointers or references. Instead, you always have an item which is a referencecounted and self-contained thing, whose scope is determined solely by its reference-count. Java: verbosity. If you ve ever used Java, you know how verbose it is. 8th starts off terse, and only becomes as verbose as you want or need it to be. Javascript: ambiguity. What does that string evaluate to? Is it the number zero, a string with a zero or a false? How can you be sure? You can t, because Javascript is just about the most poorly designed language out there. 8th is not ambiguous. Each item has a type, and conversion from type to type must be done by the programmer, thus ensuring that one always knows with what kind of item one is dealing. HTML+CSS: consistency. Writing HTML and CSS is relatively easy, and getting a reasonable UI is not too difficult. However, it is almost impossible to make your UI look truly the same across different platforms, because the web browsers interpret HTML and CSS in subtly different ways. You will spend an enormous amount of time, effort, and money trying to get a consistent UI using HTML+CSS. In 8th the UI code is identical across platforms, and looks and feels the same. Mobile: debugging. Especially on Android, debugging an application is a terrible nightmare. 8th lets you develop and debug your application on a convenient desktop system. You can test and verify each word (e.g. function) in your code before you deploy it. Thus, your application will probably work on the mobile device without further debugging, though you can use the logging facility to assist in debugging on the device if you need to do that. These are only a few examples of differences between 8th and other languages or platforms, and I hope that now you better understand the reasons for the design decisions I ve made with 8th. 8th: One Effort, Multiple Platforms. Get it now! 5

Analysis of Native and Cross-Platform Methods for Mobile Application Development. [ Whitepaper] Praveen Kumar S

Analysis of Native and Cross-Platform Methods for Mobile Application Development. [ Whitepaper] Praveen Kumar S [ Whitepaper] Analysis of Native and Cross-Platform Methods for Mobile Application Development Praveen Kumar S Abstract Brands today use smartphones and tablets to reach out to consumers. However, it is

More information

How To Develop A Mobile App With Phonegap

How To Develop A Mobile App With Phonegap Introduction to Mobile Development with PhoneGap Yeah it s pretty awesome. Who is this guy? Andrew Trice Technical Evangelist, Adobe atrice@adobe.com http://tricedesigns.com @andytrice http://github.com/triceam

More information

CROSS PLATFORM DEVELOPMENT The HTML5 Way

CROSS PLATFORM DEVELOPMENT The HTML5 Way CROSS PLATFORM DEVELOPMENT The HTML5 Way A Whitepaper by Rahul Joshi Business Analysis & Consulting Division Abstract With over half a dozen mobile platforms out there and more in line to come up, it has

More information

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS

HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI TOOLKITS RAJESH KUMAR Technical Lead, Aricent PUNEET INDER KAUR Senior Software Engineer, Aricent HYBRID APPLICATION DEVELOPMENT IN PHONEGAP USING UI

More information

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

How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE How to Choose Right Mobile Development Platform BROWSER, HYBRID, OR NATIVE Solutions Introduction: Enterprises around the globe are mobilizing mission-critical services. Businesses get streamlined due

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 Contact@SevenTablets.com http://www.seventablets.com

More information

Lecture 4 Cross-Platform Development. <lecturer, date>

Lecture 4 Cross-Platform Development. <lecturer, date> Lecture 4 Cross-Platform Development Outline Cross-Platform Development PhoneGap Appcelerator Titanium Xamarin References Native Development Represents the baseline for comparisons You

More information

Development for Mobile Devices Tools from Intel, Platform of Your Choice!

Development for Mobile Devices Tools from Intel, Platform of Your Choice! Development for Mobile Devices Tools from Intel, Platform of Your Choice! Sergey Lunev, Intel Corporation HTML5 Tools Development Manager Optional: Download App Preview Android bit.ly/1i8vegl ios bit.ly/1a3w7bk

More information

Hybrid Mobile Development: A Cost-Effective Strategy for Building Cross-Platform Mobile Apps

Hybrid Mobile Development: A Cost-Effective Strategy for Building Cross-Platform Mobile Apps Hybrid Mobile Development: A Cost-Effective Strategy for Building Cross-Platform Mobile Apps Smartphone sales totaled more than 480 million last year, surpassing sales of PCs, according to figures from

More information

An Easier Way for Cross-Platform Data Acquisition Application Development

An Easier Way for Cross-Platform Data Acquisition Application Development An Easier Way for Cross-Platform Data Acquisition Application Development For industrial automation and measurement system developers, software technology continues making rapid progress. Software engineers

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

A Modern Approach to Monitoring Performance in Production

A Modern Approach to Monitoring Performance in Production An AppDynamics Business White Paper WHEN LOGGING ISN T ENOUGH A Modern Approach to Monitoring Performance in Production Ten years ago, the standard way to troubleshoot an application issue was to look

More information

ios Hybrid Mobile Application Development

ios Hybrid Mobile Application Development ios Hybrid Mobile Application Development Siva RamaKrishna Ravuri Oct 06, 2012 2000 West Park Drive Westborough MA 01581 USA Phone:5083897300Fax:5083669901 The entire contents of this document are subject

More information

The Anatomy of a Native App

The Anatomy of a Native App The Anatomy of a Native App 01 Defining Native Whether accessing order history during a sales call or checking a flight status, users expect information to be instantly accessible and presented in a way

More information

Sandcrater Software White Paper. Native vs. HTML5 Mobile Applications

Sandcrater Software White Paper. Native vs. HTML5 Mobile Applications Sandcrater Software White Paper Native vs. HTML5 Mobile Applications Ron DiNapoli Sandcrater Software July 1, 2013 This page intentionally left blank Native vs. HTML5 Mobile Applications 2 Introduction

More information

ADF Mobile Overview and Frequently Asked Questions

ADF Mobile Overview and Frequently Asked Questions ADF Mobile Overview and Frequently Asked Questions Oracle ADF Mobile Overview Oracle ADF Mobile is a Java and HTML5-based mobile application development framework that enables developers to build and extend

More information

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application BACKBONE.JS Sencha Touch CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application A RapidValue Solutions Whitepaper Author: Pooja Prasad, Technical Lead, RapidValue Solutions Contents Executive

More information

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

Here s how to choose the right mobile app for you. Here s how to choose the right mobile app for you. There is no arguing with statistics. The future of the web is mobile. Tablet shipments are increasing exponentially and within two years consumer broadband

More information

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

Mobile Development Frameworks Overview. Understand the pros and cons of using different mobile development frameworks for mobile projects. Mobile Development Frameworks Overview Understand the pros and cons of using different mobile development frameworks for mobile projects. Mobile Solution Frameworks One of the biggest technological decisions

More information

Native, Hybrid or Mobile Web Application Development

Native, Hybrid or Mobile Web Application Development Native, Hybrid or Mobile Web Application Development Learn more about the three approaches to mobile application development and the pros and cons of each method. White Paper Develop a Mobile Application

More information

DATA MASKING A WHITE PAPER BY K2VIEW. ABSTRACT K2VIEW DATA MASKING

DATA MASKING A WHITE PAPER BY K2VIEW. ABSTRACT K2VIEW DATA MASKING DATA MASKING A WHITE PAPER BY K2VIEW. ABSTRACT In today s world, data breaches are continually making the headlines. Sony Pictures, JP Morgan Chase, ebay, Target, Home Depot just to name a few have all

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

Develop native android apps And port to other platforms

Develop native android apps And port to other platforms Develop native android apps And port to other platforms Robin Puthli, 24 October 2013 Droidcon UK 1 Me Mobile developer 2001 - present Run a 11 strong development shop Netherlands based 2 Itude Mobile

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

What Mobile Development Model is Right for You?

What Mobile Development Model is Right for You? What Mobile Development Model is Right for You? An analysis of the pros and cons of Responsive Web App, Hybrid App I - Hybrid Web App, Hybrid App II - Hybrid Mixed App and Native App Contents Mobile Development

More information

ni.com Remote Connectivity with LabVIEW

ni.com Remote Connectivity with LabVIEW Remote Connectivity with LabVIEW What Is Remote Connectivity? Local Monitoring 3 Remote Mobile Access 4 What Is Remote Connectivity Two machines talking to one another Client Server PC PC Consumes Data

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

Native mobile apps: The wrong choice for business?

Native mobile apps: The wrong choice for business? Native mobile apps: The wrong choice for business? Why businesses should think twice before building native mobile applications A white paper from Introduction Native mobile applications are popular with

More information

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

RhoMobile Suite. Develop applications for the next generation of business mobility RhoMobile Suite Develop applications for the next generation of business mobility With the Motorola Solutions RhoMobile Suite application development platform, you ll never have to write more than one

More information

The State of Hybrid Mobile Development

The State of Hybrid Mobile Development The State of Hybrid Mobile Development By TJ VanToll May 5, 2014 Share This: Twitter Facebook Google+ Hybrid development, or the approach of building native apps using Web technologies, has gone through

More information

Choosing the web s future. Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Drupal Jam, 12 mei 2016

Choosing the web s future. Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Drupal Jam, 12 mei 2016 Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk Drupal Jam, 12 mei 2016 Opinion warning (throughout) Also: work in progress Four problems 1. Web developers want to

More information

A Layered Architecture based on Java for Internet and Intranet Information Systems

A Layered Architecture based on Java for Internet and Intranet Information Systems A Layered Architecture based on Java for Internet and Intranet Information Systems Fidel CACHEDA, Alberto PAN, Lucía ARDAO, Ángel VIÑA Departamento de Electrónica y Sistemas Facultad de Informática, Universidad

More information

Designing for Mobile. Jonathan Wallace jg.wallace@ulster.ac.uk

Designing for Mobile. Jonathan Wallace jg.wallace@ulster.ac.uk Designing for Mobile Jonathan Wallace jg.wallace@ulster.ac.uk Recommended Further Reading Recommended Reading http://www.worklight.com/assets/files/native Web Hybrid Mobile App Dev Webinar.pdf http://techcrunch.com/2012/02/05/designing

More information

4D and SQL Server: Powerful Flexibility

4D and SQL Server: Powerful Flexibility 4D and SQL Server: Powerful Flexibility OVERVIEW MS SQL Server has become a standard in many parts of corporate America. It can manage large volumes of data and integrates well with other products from

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

Lecture 1 Introduction to Android

Lecture 1 Introduction to Android These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy

More information

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

WEB, HYBRID, NATIVE EXPLAINED CRAIG ISAKSON. June 2013 MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER WEB, HYBRID, NATIVE EXPLAINED June 2013 CRAIG ISAKSON MOBILE ENGINEERING LEAD / SOFTWARE ENGINEER 701.235.5525 888.sundog fax: 701.235.8941 2000 44th St. S Floor 6 Fargo, ND 58103 www.sundoginteractive.com

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

Building native mobile apps for Digital Factory

Building native mobile apps for Digital Factory DIGITAL FACTORY 7.0 Building native mobile apps for Digital Factory Rooted in Open Source CMS, Jahia s Digital Industrialization paradigm is about streamlining Enterprise digital projects across channels

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

OpenLoad - Rapid Performance Optimization Tools & Techniques for CF Developers

OpenLoad - Rapid Performance Optimization Tools & Techniques for CF Developers OpenDemand Systems, Inc. OpenLoad - Rapid Performance Optimization Tools & Techniques for CF Developers Speed Application Development & Improve Performance November 11, 2003 True or False? Exposing common

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

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT

Developing And Marketing Mobile Applications. Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT Developing And Marketing Mobile Applications Presented by: Leesha Roberts, Senior Instructor, Center for Education Programmes, UTT MOBILE MARKETING What is a Mobile App? A mobile app is a software application

More information

Integrating F5 Application Delivery Solutions with VMware View 4.5

Integrating F5 Application Delivery Solutions with VMware View 4.5 APPLICATION READY SOLUTION GUIDE What s inside: 2 Improving user experience 2 Enhancing security and access control 3 Application Performance and Availability 4 F5 and global configuration diagram 5 More

More information

Gateway Apps - Security Summary SECURITY SUMMARY

Gateway Apps - Security Summary SECURITY SUMMARY Gateway Apps - Security Summary SECURITY SUMMARY 27/02/2015 Document Status Title Harmony Security summary Author(s) Yabing Li Version V1.0 Status draft Change Record Date Author Version Change reference

More information

Write Once, Publish Everywhere. The smart way to develop mobile sites and apps your customers love

Write Once, Publish Everywhere. The smart way to develop mobile sites and apps your customers love Write Once, Publish Everywhere The smart way to develop mobile sites and apps your customers love 24 million users (and rising) are already enjoying high performance mobile services with apps created by

More information

Graphical Environment Tool for Development versus Non Graphical Development Tool

Graphical Environment Tool for Development versus Non Graphical Development Tool Section 4 Computing, Communications Engineering and Signal Processing & Interactive Intelligent Systems Graphical Environment Tool for Development versus Non Graphical Development Tool Abstract S.Daniel

More information

Navigating the Mobile App Development Landscape

Navigating the Mobile App Development Landscape Navigating the Mobile App Development Landscape You keep hearing about user trends towards mobile devices; your 10- year old knows your ipad better than you, and so you figure that your business should

More information

Choosing a Mobile Application Development Approach

Choosing a Mobile Application Development Approach ASEAN Journal of Management & Innovation Vol. 1 No. 1, 69 74 by Stamford International University DOI: 10.14456/ajmi..4 ajmi.stamford.edu Choosing a Mobile Application Development Approach Phyo Min Tun

More information

Comparative Analysis Report:

Comparative Analysis Report: Comparative Analysis Report: Visualization Tools & Platforms By Annabel Weiner, Erol Basusta, Leah Wilkinson, and Quenton Oakes Table of Contents Executive Summary Introduction Assessment Criteria Publishability

More information

Web-based Hybrid Mobile Apps: State of the Practice and Research Opportunities

Web-based Hybrid Mobile Apps: State of the Practice and Research Opportunities Web-based Hybrid Mobile Apps: State of the Practice and Research Opportunities Austin, 17 th May 2016 Ivano Malavolta Assistant professor, Vrije Universiteit Amsterdam i.malavolta@vu.nl Roadmap Who is

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

ORACLE ADF MOBILE DATA SHEET

ORACLE ADF MOBILE DATA SHEET ORACLE ADF MOBILE DATA SHEET PRODUCTIVE ENTERPRISE MOBILE APPLICATIONS DEVELOPMENT KEY FEATURES Visual and declarative development Java technology enables cross-platform business logic Mobile optimized

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Choosing the web s future. Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk FOWA, 6 October 2015

Choosing the web s future. Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk FOWA, 6 October 2015 Choosing the web s future Peter-Paul Koch http://quirksmode.org http://twitter.com/ppk FOWA, 6 October 2015 Opinion warning (throughout) Also: work in progress Four problems 1. Web developers want to emulate

More information

separate the content technology display or delivery technology

separate the content technology display or delivery technology Good Morning. In the mobile development space, discussions are often focused on whose winning the mobile technology wars how Android has the greater share of the mobile market or how Apple is has the greatest

More information

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010

Introducing Apache Pivot. Greg Brown, Todd Volkert 6/10/2010 Introducing Apache Pivot Greg Brown, Todd Volkert 6/10/2010 Speaker Bios Greg Brown Senior Software Architect 15 years experience developing client and server applications in both services and R&D Apache

More information

TATJA: A Test Automation Tool for Java Applets

TATJA: A Test Automation Tool for Java Applets TATJA: A Test Automation Tool for Java Applets Matthew Xuereb 19, Sanctuary Street, San Ġwann mxue0001@um.edu.mt Abstract Although there are some very good tools to test Web Applications, such tools neglect

More information

The Learn-Verified Full Stack Web Development Program

The Learn-Verified Full Stack Web Development Program The Learn-Verified Full Stack Web Development Program Overview This online program will prepare you for a career in web development by providing you with the baseline skills and experience necessary to

More information

HTML5 / NATIVE / HYBRID

HTML5 / NATIVE / HYBRID HTML5 / NATIVE / HYBRID Ryan Paul Developer Evangelist @ Xamarin NATIVE VERSUS HTML5? REFRAMING THE DEBATE It s not a battle to the death. It s a choice: what solution will work best for your application?

More information

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev

Developing multi-platform mobile applications: doing it right. Mihail Ivanchev Developing multi-platform mobile applications: doing it right Mihail Ivanchev Outline Significance of multi-platform support Recommend application architecture Web-based application frameworks Game development

More information

Take full advantage of IBM s IDEs for end- to- end mobile development

Take full advantage of IBM s IDEs for end- to- end mobile development Take full advantage of IBM s IDEs for end- to- end mobile development ABSTRACT Mobile development with Rational Application Developer 8.5, Rational Software Architect 8.5, Rational Developer for zenterprise

More information

Mobile App Testing Guide. Basics of Mobile App Testing

Mobile App Testing Guide. Basics of Mobile App Testing 2015 Mobile App Testing Guide Basics of Mobile App Testing Introduction Technology is on peek, where each and every day we set a new benchmark. Those days are gone when computers were just a machine and

More information

Grab Your Tablet, Because You re Gonna Build A Mobile Apex App in One Hour!

Grab Your Tablet, Because You re Gonna Build A Mobile Apex App in One Hour! Grab Your Tablet, Because You re Gonna Build A Mobile Apex App in One Hour! Table of Contents Overview 1 Native or Web-Based App? 1 jquery Mobile 2 Benefits 2 Advantages 2 Disadvantages 3 Oracle Application

More information

Documents Cloud Service Simple. Secure. Everywhere.

Documents Cloud Service Simple. Secure. Everywhere. Documents Cloud Service... Copyright 2014 Oracle Corporation. All Rights Reserved. Your Files in Oracle Cloud Today s world doesn t sleep. Having 24/7 access to business-critical information for you and

More information

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs A Course of Study for COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs The field of computer science leads to a variety of careers that all require core

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

Quality Evaluation Criteria Based on Open Source Mobile HTML5 UI Framework for Development of Cross-Platform

Quality Evaluation Criteria Based on Open Source Mobile HTML5 UI Framework for Development of Cross-Platform , pp. 1-12 http://dx.doi.org/10.14257/ijseia.2015.9.6.01 Quality Evaluation Criteria Based on Open Source Mobile HTML5 UI Framework for Development of Cross-Platform Hyo-jung Sohn 1, Min-gyu Lee 2, Baek-min

More information

Surviving the Big Rewrite: Moving YELLOWPAGES.COM to Rails. John Straw YELLOWPAGES.COM

Surviving the Big Rewrite: Moving YELLOWPAGES.COM to Rails. John Straw YELLOWPAGES.COM Surviving the Big Rewrite: Moving YELLOWPAGES.COM to Rails John Straw YELLOWPAGES.COM What is YELLOWPAGES.COM? Part of AT&T A local search website, serving 23 million unique visitors / month 2 million

More information

Introduction to Python

Introduction to Python WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

More information

Accelerating Business Value by

Accelerating Business Value by Accelerating Business Value by Mobilizing Backend Enterprise Applications To find out how GAVS can be engaged as your dedicated co-sourcing partner to improve business outcomes, please write to us at cosource@gavsin.com.

More information

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code What is cross-platform development? Cross-platform development produces a single code base that can be

More information

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction

BELATRIX SOFTWARE. Why you should be moving to mobile Cross Platform Development? Introduction BELATRIX SOFTWARE Why you should be moving to mobile Cross Platform Development? Introduction If you re thinking of going mobile, delivering online services or updating your existing app, you know that

More information

Comparing Native Apps with HTML5:

Comparing Native Apps with HTML5: Comparing Native Apps with HTML5: What is the right approach for your organisation? Website: http://www.ombiel.com Email: sales@ombiel.com 1/11 Native and HTML5: What s the difference? HTML5 HTML5 is device-neutral,

More information

Learning Course Curriculum

Learning Course Curriculum Learning Course Curriculum Security Compass Training Learning Curriculum. Copyright 2012. Security Compass. 1 It has long been discussed that identifying and resolving software vulnerabilities at an early

More information

True Web Application Management: Fixing the Gaps in EMM Solutions

True Web Application Management: Fixing the Gaps in EMM Solutions True Web Application Management: Fixing the Gaps in EMM Solutions Executive Summary The modern workforce expects to use a combination of laptops, tablets, and smartphones to complete its work. Organizations

More information

Content Protection in Silverlight. Microsoft Corporation

Content Protection in Silverlight. Microsoft Corporation Content Protection in Silverlight Microsoft Corporation April 2010 Contents Contents...2 Introduction...3 What is Content Protection?... 3 Why Should You Protect Online Content?... 3 Techniques for Protecting

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

Vodafone Global Enterprise Deploy the Apple iphone across your Enterprise with confidence

Vodafone Global Enterprise Deploy the Apple iphone across your Enterprise with confidence Vodafone Global Enterprise Deploy the Apple iphone across your Enterprise with confidence White Paper Vodafone Global Enterprise 3 The Apple iphone has become a catalyst for changing the way both users

More information

PRESENTS... How to Access Remote SourceSafe Fast & Securely?

PRESENTS... How to Access Remote SourceSafe Fast & Securely? PRESENTS... How to Access Remote SourceSafe Fast & Securely? This article focuses on the growing problem for development teams who try to use Microsoft Visual SourceSafe (VSS) remotely. The paper will

More information

Homework 3: Component & Interface Design

Homework 3: Component & Interface Design 1 Leah Staniorski 11/1/14 Homework 3: Component & Interface Design Introduction: Flexible Fitness will be a mobile application that allows users to create a personal profile. Through this personal profile,

More information

Mobile Enterprise Application Development - a Cross-Platform Framework

Mobile Enterprise Application Development - a Cross-Platform Framework Mobile Enterprise Application Development - a Cross-Platform Framework FLORIAN WOLF, KARSTEN HUFFSTADT Applied Research Center for Mobile Solutions University of Applied Sciences Wuerzburg-Schweinfurt

More information

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry Djoni Haryadi Setiabudi, Lady Joanne Tjahyana,Winsen Informatics Department Petra

More information

Take Your Team Mobile with Xamarin

Take Your Team Mobile with Xamarin Take Your Team Mobile with Xamarin Introduction Enterprises no longer question if they should go mobile, but are figuring out how to implement a successful mobile strategy, and in particular how to go

More information

Introducing... a better way to work

Introducing... a better way to work Introducing... a better way to work Mobility lets us use those small moments of time in line for coffee, at airport check in, between meetings to do more. And whether your company has a formal mobility

More information

CSC 551: Web Programming. Spring 2004

CSC 551: Web Programming. Spring 2004 CSC 551: Web Programming Spring 2004 Java Overview Design goals & features platform independence, portable, secure, simple, object-oriented, Programming models applications vs. applets vs. servlets intro

More information

Cross-Platform Tools

Cross-Platform Tools Cross-Platform Tools Build once and Run Everywhere Alexey Karpik Web Platform Developer at ALTOROS Action plan Current mobile platforms overview Main groups of cross-platform tools Examples of the usage

More information

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS Mobilize Any Business Application. Rapidly. Securely. The Challenge Today's enterprises are increasingly leveraging mobility solutions to improve productivity, decrease response times and streamline operational

More information

Cross-Platform Mobile Apps Solution

Cross-Platform Mobile Apps Solution Cross-Platform Mobile Apps Solution Prepared by Kevin Mullins CEO and Chief Developer Appracatappra, LLC. 709 Gale Street #8 Seabrook, TX 77586 kmullins@appracatappra.com http://appracatappra.com Table

More information

Cross Platform Applications with IBM Worklight

Cross Platform Applications with IBM Worklight IJCSNS International Journal of Computer Science and Network Security, VOL.15 No.11, November 2015 101 Cross Platform Applications with IBM Worklight P.S.S.Vara Prasad and Mrs.S.Durga Devi Dept. of IT

More information

The Most Popular UI/Apps Framework For IVI on Linux

The Most Popular UI/Apps Framework For IVI on Linux The Most Popular UI/Apps Framework For IVI on Linux About me Tasuku Suzuki Qt Engineer Qt, Developer Experience and Marketing, Nokia Have been using Qt since 2002 Joined Trolltech in 2006 Nokia since 2008

More information

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE

USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE USE OF PYTHON AS A SATELLITE OPERATIONS AND TESTING AUTOMATION LANGUAGE Gonzalo Garcia VP of Operations, USA Property of GMV All rights reserved INTRODUCTION Property of GMV All rights reserved INTRODUCTION

More information

SecureD Technical Overview

SecureD Technical Overview WHITEPAPER: SecureD Technical Overview WHITEPAPER: SecureD Technical Overview CONTENTS section page 1 The Challenge to Protect Data at Rest 3 2 Hardware Data Encryption Provides Maximum Security 3 3 SecureD

More information

Application Compatibility Best Practices for Remote Desktop Services

Application Compatibility Best Practices for Remote Desktop Services Application Compatibility Best Practices for Remote Desktop Services Introduction Remote Desktop Services in Windows Server 2008 R2 allows Windows Server to be accessed by multiple users concurrently to

More information

Software Requirements Specification

Software Requirements Specification Software Requirements Specification for easyrent Version 2.0 Prepared by Group Name: Foo- Tang Clan Abraham Dela Cruz Raj Luhar Chris Horuk Joey Phommasone Zack Warburg abrahamdc@gmail.com rluhar1990@gmail.com

More information

Article. One for All Apps in HTML5

Article. One for All Apps in HTML5 One for All Apps The boom of smartphones and tablets in the consumer sector creates new problems for developers of industrial Apps: They have to build Apps quickly that run on any type of smartphone and

More information

Mobile Application Lifecycle Management

Mobile Application Lifecycle Management Mobile Application Lifecycle Management An InfoStretch White Paper October 2014 3200 Patrick Henry Drive, Suite 250 Santa Clara, CA 95054 408.727.1100 info@infostretch.com www.infostretch.com 2014 InfoStretch

More information

5 Secrets to a Successful Mobile Application Testing Strategy

5 Secrets to a Successful Mobile Application Testing Strategy 5 Secrets to a Successful Mobile Application Testing Strategy 25 th Jun 2014 Ajay Balamurugadas / Sundaresan Krishnaswami www.maas360.com Today s Agenda 5 key elements of a robust test repository Addressing

More information