MASTER'S THESIS. Code Generation for the SATIN Platform. Migrating SATIN Applications Into Native Environments. Manuel Cerrillo Bermejo 2014

Size: px
Start display at page:

Download "MASTER'S THESIS. Code Generation for the SATIN Platform. Migrating SATIN Applications Into Native Environments. Manuel Cerrillo Bermejo 2014"

Transcription

1 MASTER'S THESIS Code Generation for the SATIN Platform Migrating SATIN Applications Into Native Environments Manuel Cerrillo Bermejo 2014 Master of Science (120 credits) Computer Science and Engineering Luleå University of Technology Department of Computer Science, Electrial and Space Engineering

2 MASTER THESIS Code generation for the SATIN platform Migrating SATIN applications into native environments Manuel Cerrillo Bermejo

3 1 L u l e å T e k n i s k a U n i v e r s i t e t

4 CODE GENERATION FOR THE SATIN PLATFORM, Migrating SATIN applications into native environments Manuel Cerrillo Bermejo Computer Science, Electrical and Space Engineering Luleå University of Technology 2 L u l e å T e k n i s k a U n i v e r s i t e t

5 Manuel Cerrillo Bermejo: Code generation for the SATIN platform, migrating SATIN applications into native environments, 2014 Printed by Universitetstryckeriet, Luleå 2014 Luleå L u l e å T e k n i s k a U n i v e r s i t e t

6 RESUMEN Autor: Título: Tutores: Institución: Lugar: Manuel Cerrillo Bermejo Generación de código para la plataforma SATIN: migrando las aplicaiones de SATIN a entornos nativos Kåre Synnes y Jan-Olov Johansson Luleå University of Technology Luleå, Suecia Fecha de lectura: 02/06/2014 El proyecto que a continuación se presenta tiene como objetivo migrar las aplicaciones web generadas por la plataforma SATIN a entornos nativos, en concreto a los sistemas operativos ios y Android para dispositivos móviles. A su vez, comprende la investigación acerca de las herramientas disponibles para realizar esta tarea y establecer una comparación entre la herramienta seleccionada (Apache Cordova) y la herramienta seleccionada por Daniel Buldón Blanco (Titanium Appcelerator) en la realización de su proyecto. SATIN es un proyecto desarrollado por la universidad de Luleå (Luleå University of Technology) en colaboración con la empresa CodeMill. Dicho proyecto consiste en una plataforma web que permite el desarrollo de servicios móviles a personas sin conocimientos de programación. La plataforma presenta una interfaz sencilla en la cual los usuarios pueden crear aplicaciones de forma gráfica, simplemente seleccionando los componentes que quieren usar en su aplicación y uniéndolos entre sí. Las aplicaciones generadas actualmente por la plataforma SATIN son aplicaciones web, es decir, se trata de páginas web programadas en JavaScript, HTML y CSS que el usuario final puede utilizar en su dispositivo móvil a través de un navegador web. El objetivo de este proyecto abarca la migración de dichas aplicaciones web en aplicaciones nativas para ios y Android de forma automática, consiguiendo así las ventajas que aporta una aplicación nativa frente a una aplicación web, como por ejemplo: Las aplicaciones nativas son más eficientes sobre dispositivos móviles puesto que se ejecutan directamente sobre el sistema operativo en cuestión y no a través un navegador web. Además, estas aplicaciones tienen acceso completo a las APIs nativas del dispositivo. 4 L u l e å T e k n i s k a U n i v e r s i t e t

7 Las aplicaciones nativas son más fáciles de comercializar que las aplicaciones web, puesto que pueden ser vendidas directamente a través de las plataformas específicas para cada sistema operativo como Google Play en el caso de Android o App Store en el caso de ios. El software desarrollado durante este proyecto se denomina Web2Native y está escrito en el lenguaje de programación Java. El principal motivo por el cual he elegido Java es la facilidad para crear un software multiplataforma. Con este lenguaje es sencillo crear un software que funcione correctamente sobre diferentes sistemas operativos sin modificaciones, permitiendo que el programa Web2Native funcione correctamente sobre los sistemas operativos Windows, Linux y Mac OS. La herramienta fundamental usada durante este proyecto es el software Apache Cordova. Este software, desarrollado y mantenido por la Fundación Apache, es open-source y su uso es gratuito. La funcionalidad que aporta este software es la posibilidad de crear aplicaciones multiplataforma programando únicamente con tecnologías web, es decir, JavaScript, HTML y CSS. Por otra parte, las herramientas usadas durante el proceso de firma de las aplicaciones Android son Keytool, Jarsigner y Zipalign, incluídas las dos primeras en el Kit de Desarrollo de Java (JDK) y la última en el Kit de Desarrollo de Software de Android (Android SDK). Los requisitos previos necesarios para que el software desarrollado funcione correctamente son los siguientes: Versión 1.7 o superior del Kit de Desarrollo de Java (JDK) Apache Ant Kit de Desarrollo de Software de Android (Android SDK) Kit de Desarrollo de Software de ios (ios SDK), disponible exclusivamente para sistemas operativos MAC a través del programa Xcode. Apache Cordova El software desarrollado se compone de tres clases java y una librería externa cuya funcionalidad se explica a continuación: Console.java: La funcionalidad básica de esta clase es emular terminales que sean válidos para diferentes sistemas operativos. En concreto, emula dos tipos diferentes de terminal; uno para sistemas operativos Windows y otro para sistemas operativos con núcleo de Linux. 5 L u l e å T e k n i s k a U n i v e r s i t e t

8 WebParser.java: Esta clase Java se encarga de descargar la aplicación web de SATIN que va a ser migrada a una aplicacíon nativa utilizando la librería externa Jsoup. Para ello, se descarga en primer lugar el archivo principal de la aplicación index.html y a continuación todos los recursos apuntados por este archivo. Una vez que todos los recursos están almacenados adecuadamente, siguiendo la estructura de ficheros proporcionada por Apache Cordova al crear un nuevo proyecto, modifica el archivo index.html para que apunte adecuadamente a los recursos locales. Web2App.java: Esta es la clase principal del programa. En primer lugar, se encarga de comprobar que todos los argumentos introducidos por el usuario son correctos y ofrece ayuda en caso de que no lo sean. A continuación, utiliza la funcionalidad de las dos clases descritas anteriormente para dirigir el proceso de migración de la aplicación web a una aplicación nativa, así como el proceso de firma de las aplicaciones Android resultado de la migración. Por último, el software Web2Native.jar es muy sencillo de usar, cumpliendo con uno de los objetivos perseguidos desde el inicio del proyecto, a fin de facilitar la integración de este software en el servidor de la plataforma SATIN. Para usarlo, es necesario ejecutarlo a través de una consola del sistema operativo y pasarle los siguientes argumentos: URL de la aplicación SATIN que va a ser migrada Plataforma destino Nombre seleccionado para la aplicación nativa En caso de que el software se ejecute sobre un sistema operativo MAC para producir una aplicación Android, es necesario indicarle además la ruta hasta las carpetas tools y platformtools dentro del SDK de Android. Si el objetivo es crear una aplicación ios, el software deberá ejecutarse sobre un sistema operativo MAC, puesto que no está disponible el SDK de ios para otros sistemas operativos. Finamente, si se pretende firmar una aplicación Android, los argumentos que necesita el programa son los siguientes: Plataforma destino Nombre de la aplicación que va a ser firmada Nombre del autor Contraseña para la clave RSA que se usará durante el proceso de firma Contraseña para el almacén de claves que se creará para almacenar la clave anterior Al analizar los resultados obtenidos tras la realización del proyecto se obtiene que el softare desarrollado cumple los requisitos iniciales: migrar las aplicaciones generadas por la plataforma SATIN a entornos nativos para ios y Android. 6 L u l e å T e k n i s k a U n i v e r s i t e t

9 Por otra parte, se han analizado algunas aplicaciones creadas con este proceso para comprobar el acceso de las mismas a las APIs nativas del dispositivo, así como evaluar la eficiencia de las aplicaciones finales. Los resultados de este análisis son positivos, indicando que es posible crear aplicaciones móviles nativas de cierta calidad con este proceso. En cuanto a la comparación establecida entre Apache Cordova y Titanium Appcelerator, los principales puntos a destacar son los siguientes: Ambas herramientas son open-source y su uso es gratuito (al menos con los fines de este proyecto). La eficiencia de las aplicaciones finales obtenidas con ambas herramientas es equivalente en términos de velocidad. La mayor diferencia entre ambas herramientas es el tamaño de las aplicaciones creadas. En el caso de Apache Cordova las aplicaciones tienen un tamaño de 600KB una vez instaladas en el dispositivo, mientras que el tamaño equivalente para las aplicaciones obtenidas con Titanium Appcelerator es de 16MB. Esta diferencia de tamaños se debe a que Titanuim incluye en las aplicaciones los módulos necesarios para acceder a todas las APIs del dispositivo, mientras que Cordova incluye únicamente los módulos correspondientes a las APIs que realmente usa la aplicación. En cuanto a las plataformas nativas disponibles para ambas herramientas, Apache Cordova presenta algunas más que Titanuim Appcelerator, como Firefox OS o Ubuntu. No obstante, ambas herramientas incluyen Android e ios, que son el objetivo de este proyecto. Para terminar, cabría destacar dos posibles mejoras para el software desarrollado: la primera consiste en la integración del programa Web2Native en el servidor de la plataforma SATIN y la segunda consiste en la posibilidad de añadir más plataformas nativas para las aplicaciones migradas aparte de Android e ios. 7 L u l e å T e k n i s k a U n i v e r s i t e t

10 8 L u l e å T e k n i s k a U n i v e r s i t e t

11 ACKNOWLEDGEMENTS The work presented in this Master Thesis has been performed during the period January to June The investigation and development has been done within the Computer Science, Electrical and Space Engineering department of Luleå University of Technology with the collaboration of CodeMill Company. First of all, I would like to thank Kåre Synnes and Jan-Olov Johansson for their technical advice, recommendations and supervision, which played an indispensable role on the work of this Master Thesis. I am indebted to my parents, Fernanda and Manuel, my sister Marina and my aunt Maria del Carmen for always supporting and believing in me. Special thanks also to Daniel Jiménez Anero for being by my side all this time and helping me to make this possible. Lastly, to the rest of my family, friends and all those who in one way or another participated and helped me to achieve this goal. Manuel Cerrillo Bermejo June 2014, Luleå, Sweden. 9 L u l e å T e k n i s k a U n i v e r s i t e t

12 10 L u l e å T e k n i s k a U n i v e r s i t e t

13 ABSTRACT Technological development is growing every day in our society, it is becoming very common to find new devices in our daily lives with different purposes, such as improving our health, facilitate our communications or enhance our leisure activities. This tendency will keep growing with the development of the Internet of Things (IoT) so we will be gradually moving to a new society surrounded by devices such as smartphones, tablets, laptops, smart TVs, health bracelets, etc. Among all those devices, smartphones have a very important role to play as they are a very important part of all our activities and they can control other devices. For this reason, it is important that all the people know not only how to interact with smartphones but also how to make them fit the needs of each one of us so they can better fulfil its purpose. In order to make that possible, it is necessary to create development platforms where users without programming skills can develop applications for their smartphones so they can feel closer to the devices. SATIN web tool-kit is one of these platforms where people can build new services even if they don t know how to program. One possible way to encourage people to be involved with this idea is to offer them the chance to sell the final applications they create so they can make some money at the same time they are creating new services for smartphones. Nowadays, it is easier to sell a native application than a web site, especially if the application is being sold by a user and not by a company. However, in its current state SATIN web tool-kit only generates (and deploys) web applications, that is why the purpose of this Master Thesis is to improve the platform so it can create native applications from the web code currently generated. In this way, it will be possible for the users to sell the applications developed as these apps will be sold through the specific platform markets, such as Google Play for Android OS or Apple App Store for ios. 11 L u l e å T e k n i s k a U n i v e r s i t e t

14 12 L u l e å T e k n i s k a U n i v e r s i t e t

15 TABLE OF CONTENTS RESUMEN... 4 ACKNOWLEDGEMENTS... 9 ABSTRACT Introduction About SATIN Is it possible to migrate SATIN apps? Why Java Introduction to Java WORE criteria Java Virtual Machine Motivations for selecting Java Tools Tools for migrating applications: Apache Cordova Basic components The Command-Line Interface PhoneGap Tools for signing Android Applications Keytool Jarsigner Zipalign Prerequisites Java Java Development Kit and Java Runtime Environment 1.7 for Windows Java Development Kit and Java Runtime Environment 1.7 for Linux Java Development Kit and Java Runtime Environment 1.7 for MAC OS X Apache Ant Apache Ant for Windows Apache Ant for Linux and MAC OS X Android Software Development Kit ios Software Development Kit Previous considerations L u l e å T e k n i s k a U n i v e r s i t e t

16 6.4.2 Installation of the SDK: Xcode Apache Cordova Node.js Cordova Command-Line Interface Checking prerequisites in Linux Web2Native Console WebParser Jsoup library Web2App Correct use of the developed software Web2Native.jar on Windows and Linux Web2Native.jar on MAC OS X Target platform: Android Target platform: ios Signing an Android application Signing an ios application Results Apache Cordova vs Titanium Appcelerator Future work References L u l e å T e k n i s k a U n i v e r s i t e t

17 TABLE OF FIGURES Figure 1: SATIN graphical interface main page Figure 2: SATIN graphical interface - joining components Figure 3: Java application over different OS Figure 4: Graphical Interface of the app My Location Figure 5: Graphical Interface of the app Random Charts L u l e å T e k n i s k a U n i v e r s i t e t

18 Introduction 1 The SATIN project is a tool-kit for visual programming where users can create mobile apps without having traditional software programming skills. With this purpose, SATIN allows users to create web applications in a very easy way: in a graphical environment, they just need to drag the selected components to the main canvas and join them. Once the components are joined and everything is ready, SATIN deploys automatically the application and provides the users with the public URL of the web project. In its current state, the SATIN tool-kit generates JavaScript, HTML5 and CSS3 code for web applications which runs over the web browser of the mobile devices. The purpose of this Master Thesis is to migrate the web applications generated into native applications that can run directly over the operating system of the mobile device (i.e., Android, ios, etc.) With this improvement, the automatic generated applications are expected to be more efficient as they run directly over the operating system of the mobile device so they can use native APIs instead of just the available tools for the web browser. Besides, it is easier to monetize the final applications as they can be sold through the specific platforms for each operating system, such as Google Play for Android or AppStore for ios. 16 L u l e å T e k n i s k a U n i v e r s i t e t

19 About SATIN 2 SATIN is a web tool-kit for mobile services programming. It allows the users to easily create mobile applications even without having traditional software development skills. Some possible applications for SATIN tool-kit in its current state could be the following: Constructing the first prototypes of mobile services. Creating entire mobile services for companies or individual developers. Using IoT sensors and Open Data in order to create Smart City services. Providing a platform where a large group of people can create apps. Offering a tool-kit for crowd-based service innovation. From the user s point of view, it is really easy to create a mobile application. They will find the following graphical interface: Figure 1: SATIN graphical interface main page The components are placed on the left side. Users can search for one particular component using the search box in the upper left corner or they can just look for it using the category tags or the component list below. 17 L u l e å T e k n i s k a U n i v e r s i t e t

20 Once they have found the component they are looking for, they just need to drag the component to the main canvas. Figure 2: SATIN graphical interface - joining components The next step is to join all the components using the handle of each component and looking for the matching colors (orange in the example above). When all the components are properly joined, the message All handles connected is shown in green color on the right side of the interface. Using the mobile phone emulator placed at the right side, users can see a demo of the final application, so they can modify position of the components, messages shown, etc. Finally, when the application is ready the users just need to click on the button Open app placed at the upper right corner and SATIN tool-kit will deploy automatically the web application generated providing a URL to the main page. From the point of view of developers that want to contribute with SATIN project, they can create new components using the Component portal. For creating a new component, developers have to submit the correspondent XML and JavaScript code to the form placed in the submit page. The component is compiled on the SATIN server and submitted to the database. If the upload is correct, the component is immediately available on the SATIN editor to create new services [1,2,3]. 18 L u l e å T e k n i s k a U n i v e r s i t e t

21 Is it possible to migrate SATIN apps? 3 As it has been stated before, the purpose of this Master Thesis is to migrate SATIN applications into native apps for different operating systems (aimed to mobile devices), such as Android or ios. This section is focused on discussing and analyzing the possibility of migrating SATIN applications into native environments, with special attention to the tool selected for approaching this task: Apache Cordova. Since 1960s the Internet has been growing very fast until today. This huge development is at the same time cause and consequence of the fact that the Internet has become a very important part of our society. It is known that nowadays we use the Internet in our daily lives for working, communicating with other people, during our leisure time and even to access social services such as paying taxes or consulting the timetables of the public transport. This importance of the Internet is reflected also in the professional world: nowadays most of the companies offer services through the network so they need developers who can create a web page or program some applications for the cloud. That is why at these days there are more developers specialized in web technologies such as JavaScript, CSS, HTML, etc. than in any particular language or platform, which is the case of mobile platforms like Android or ios. This fact, along with the recent development and growth of the smartphones, is the reason why companies have been working since some time ago in order to create services and tools allowing web developers to migrate their web applications into native platforms without the requirement of a deep knowledge on the target platform. Within this context Apache Cordova appears as a tool that allows the users to migrate their web applications into native languages aimed to mobile devices. On the other hand, SATIN web tool-kit goes a step further by allowing users without knowledge on web technologies to create their own web applications, designed to look as native mobile applications when they run over the browser of a mobile device. At this point, the work that has to be done regarding these two tools Apache Cordova and SATIN tool-kit is combining them, so the users of SATIN (without knowledge on programming) can access the benefits of the users of Apache Cordova and create native applications from the beginning to the end. From my point of view, it is possible to achieve this goal and the hardest part is to automatize the process so the final program is easy to use at the same time that it runs over the most common operating systems nowadays. In the results section, it is presented an evaluation of the final software developed during this Master Thesis as well as the limitations of the final native applications obtained. 19 L u l e å T e k n i s k a U n i v e r s i t e t

22 Why Java 4 This section is focused on presenting Java and the motivations for selecting it as the language of the software developed during this Master Thesis. 4.1 Introduction to Java Java is a general-purpose software programming language that is concurrent, class-based and object-oriented. It is designed to have as few implementation dependencies as possible. As we will see along the following subsection, Java follows the WORE (Write Once, Run Everywhere) criteria. Java programs are compiled into bytecode files (class files) that run directly over the Java Virtual Machine (JVM) independently of the machine s specific architecture. The development of Java was started originally by James Gosling, employee of Sun Microsystems, which nowadays has merged into Oracle Corporation. The first release of Java language took place in 1995 as part of the Sun Microsystems Java Platform. The language has certain similitudes with previous languages such as C and C++. It includes some aspects of C and C++ as well as ideas from other languages. However, Java has lower low-level functions than either C or C++ [4]. 4.2 WORE criteria The Write Once, Run Everywhere (WORE) or Write Once, Run Anywhere (WORA) criteria are the watchword of Java, originated by Sun Microsystems to show the system-independent advantages of the Java language. The meaning of these criteria is that Java software can be developed everywhere and it will be able to run over any device equipped with a Java Virtual Machine (JVM) as the software is compiled into bytecode files. Thus, the programmer does not need to make any changes or adjustments to the code generated for running it over one operating system or another or even over mobile devices, smart-tvs, etc [5]. 20 L u l e å T e k n i s k a U n i v e r s i t e t

23 4.3 Java Virtual Machine Java Virtual Machine (JVM) is an abstract computing machine. Like a real computing machine, it has an instruction set and manipulates various memory areas at run time. The JVM knows nothing about the Java programming language, it only knows about a particular binary format, the class file (or bytecode) format. Thus, a class file contains JVM instructions and a symbol table, as well as other ancillary information. Oracle s current implementations emulate the Java Virtual Machine on mobile, desktop and server devices, but the JVM does not assume any particular implementation technology, host hardware or host operating system. The next figure shows the process that a Java application follows when running over different operating systems, such as Windows, Linux or Mac [6]. Figure 3: Java application over different OS 21 L u l e å T e k n i s k a U n i v e r s i t e t

24 4.4 Motivations for selecting Java As we have seen along the previous sections, there are several reasons for choosing Java as the programming language for the developed software, such as: Java is one of the most popular programming languages in use, with a reported 9 million developers which means that it is easy to find collaborators for improving the final software obtained and integrate it with the SATIN tool-kit. Most of the current operating systems run Java so it is effortless to have the developed software running on different machines with Windows, Linux or MAC OS X. Java is an open-source programming language which means that it is costless to obtain Java Development Kit (JDK) and Java Runtime Environment (JRE). And the most important reason: Java is a cross-platform language, so the final program developed during this Master Thesis will run on different operating systems, such as Windows, Linux and MAC OS X without any adjustments. 22 L u l e å T e k n i s k a U n i v e r s i t e t

25 Tools 5 This section is focused on presenting the tools used during this Master Thesis in order to migrate the automatic web applications generated by the SATIN tool-kit into native applications. 5.1 Tools for migrating applications: Apache Cordova Apache Cordova is an open-source mobile development framework that allows developers to create cross-platform applications just programming with conventional web tools such as JavaScript, HTML5 and CSS3. The applications created using this software run within specific wrappers for each platform and use the correspondent APIs in order to access sensors, data and network status of the devices Basic components The projects created with Apache Cordova depend on a conventional cofig.xml file that contains information about the application and some criteria specifying the way it works, for example, the cofig.xml file specifies if the app responds to orientation shifts. This file follows the specification of the W3C regarding Packaged Web App. The implementation of the final application is the same than a web page, with the default name index.html. This file contains the references to CSS files, JavaScript code, images or whatever resource the application needs to work. The program runs within a native wrapper as a web view that is distributed to platforms such as Google Play on Android or AppStore on ios in order to be sold. Finally, the application needs to make a reference to a file called cordova.js, which provides API bindings, in order to interact with some specific device characteristics the way native apps do it [7]. 23 L u l e å T e k n i s k a U n i v e r s i t e t

26 5.1.2 The Command-Line Interface The Command-Line Interface (CLI) is a tool provided by Apache Cordova that allows developers to create and build projects for different platforms. With the CLI, it is also possible to run the built projects in order to test them over a specific emulator for each platform or over real devices [8] PhoneGap PhoneGap is a web-based mobile development framework based on Cordova project which offers the same functionality as Apache Cordova and some more features such as PhoneGap Build service that allows developers to compile the source code on a cloud platform [9]. 5.2 Tools for signing Android Applications Keytool Keytool is a Java program aimed to administer keys and certificates included within the Java Development Kit (JDK). By using this utility, it is possible to control your own public/private certificates in order to provide self-authentication or data integrity through digital signature procedures. The keys created with keytool are stored within a keystore file, which is a database of private keys and the correspondent certificates for the authentication of the associated public keys. The Keytool program is used by the software developed during this Master Thesis in order to sign the Android applications migrated from SATIN web tool-kit. In particular, keytool is used for creating a public/private 2048 bits key pair using RSA algorithm with a validity period of ten thousand days (which is the minimum value recommended as the apps uploaded to Google Play must have a validity period ending after 22 October 2033) [26,27]. 24 L u l e å T e k n i s k a U n i v e r s i t e t

27 5.2.2 Jarsigner Jarsigner is another Java tool included in the Java Development Kit (JDK). With this tool, it is possible to generate digital signatures for JAR files, using the keys and certificates contained within a keystore file. The basic functionality of the program is to sign a JAR file with a private key (contained in the keystore) and including inside the JAR file a copy of the certificate authenticating the public key corresponding to the private key used for the signing process. Thanks to including that certificate, it is possible afterwards to verify the digital signature of the JAR file. The software developed during this Master Thesis uses the tool jarsigner in order to sign the.apk files containing the applications migrated from SATIN tool-kit using RSA algorithm and SHA1 digest algorithm [28] Zipalign Zipalign is a tool included with the Android Software Development Kit (SDK) inside the folder tools. The main functionality of this tool is to guarantee that all uncompressed data begin with a specific alignment relative to the start of the file. By forcing alignment at 4 byte boundaries, zipalign provides a performance optimization to the.apk files when they are installed into a device or emulator. The reason of this optimization is that Android OS, when working with aligned apps, is able to read files using mmap() method so it does not need to copy all the data from the application package. The final result is that the application needs less RAM memory of the device when running. The software developed during the work of this Master Thesis uses the tool zipalign in order to align the final.apk files once they are properly signed [29]. 25 L u l e å T e k n i s k a U n i v e r s i t e t

28 Prerequisites 6 This section is focused on presenting the necessary requisites for the software developed during this Master Thesis to work over different operating systems. 6.1 Java The first requisite that is necessary for the developed software to work properly is to install the version 1.7 or greater of Java Development Kit (JDK) and Java Runtime Environment (JRE). Along the following subsections it is described how to obtain and install properly JDK 1.7 and JRE 1.7 for Windows, Linux and MAC operating systems Java Development Kit and Java Runtime Environment 1.7 for Windows The first step is to download the JDK 1.7 or JRE 1.7 installer from the official oracle web page. It is important to download the correct installer for the target platform, i.e. 32 or 64 bits. The second step is to run de JDK or JRE installer file just downloaded. For that, double-click on the installer s icon and then follow the instructions the installer provides. The installer may ask you to reboot your computer. Once the installation is finished, you can delete the downloaded file to recover disk space. Finally, it is important to add the full path to the jdk1.7.0\bin directory to the PATH variable. Typically this full path looks like C:\Program Files\Java\jdk1.7.0\bin. In order to set the PATH variable on Windows [10,11]: 1. Click Start, then Control Panel, then System. 2. Click Advanced, then Environment Variables. 3. Add the location of the bin folder of the JDK installation to the PATH variable in System Variables. The following is a typical value for the PATH variable: C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jdk1.7.0\bin. 26 L u l e å T e k n i s k a U n i v e r s i t e t

29 6.1.2 Java Development Kit and Java Runtime Environment 1.7 for Linux The first step is to download the archive binary from the official oracle web page. It is important to download the correct file for the target platform: jdk-7u<version>-linuxx64.tar.gz for 64 bits systems or jdk-7u<version>-linux-i586.tar.gz for 32 bits systems and jre-7u<version>-linux-x64.tar.gz for 64 bits systems or jre-7u<version>-linuxi586.tar.gz for 32 bits systems. The archive binary can be installed by anyone (not only root users), in any location. However, only the root user can install the JDK or JRE into the system location. Change directory to the location where you would like the JDK or JRE to be installed and move the.tar.gz file to the current directory. Unpack the tarball and install the JDK (you may need to run the following command with super root permission): The Java Development Kit files and the Java Runtime Environment files are installed in a directory called jdk1.7.0_<version> or jre1.7.0_<version> in the current directory. Add the following lines to the file /etc/profile (you will need to restart the computer for the changes to take effect): Finally, delete the.tar.gz file if you want to save disk space [12,13] Java Development Kit and Java Runtime Environment 1.7 for MAC OS X Download the installer from the official oracle web page. Depending on your processor, you will need either jdk-7u<version>-macosx-amd64.dmg or jdk-7u<version>-macosx-x64.dmg installation file for the JDK and jre-7u<version>-macosx-amd64.dmg or jre-7u<version>macosx-x64.dmg installation file for the JRE. From either the Downloads window of the browser, or from the file browser, double-click on the.dmg file to launch it. A Finder window appears containing an icon of an open box and the name of the.pkg file. Double-click on the package icon to launch the Install app. The Install app displays the Introduction window, click Continue. 27 L u l e å T e k n i s k a U n i v e r s i t e t

30 The Installation Type window appears, click Install. Enter the administrator login and password and click install software. The software is installed and a confirmation window appears. Finally, delete the.dmg file if you want to save disk space [14,15]. 6.2 Apache Ant The next requisite for the developed software to work is Apache Ant. Apache Ant is a Java library and command-line tool used to manage building processes that are described by XML files (by default, the build file is called build.xml). These files contain targets and extension points dependent upon each other. Apache Ant is mainly used for Java applications. It allows to compile, assemble, test and run Java programs. Nevertheless, Ant can also be used for building non Java applications, such as C or C++ programs. In general terms, Apache Ant software works with any kind of process that can be described in terms of targets and tasks. The Apache Ant project is open-source and it is released under the Apache Software Foundation. Along the following subsections it is described how to obtain and install properly Apache Ant for Windows, Linux and MAC operating systems [16] Apache Ant for Windows Download the binary archive from the official web site of Apache Ant. Once the download is completed, unzip the file and rename it to ant. Place the ant folder in the directory you want, for example: C:\Program File\ant. Now, it is necessary to set up properly the PATH of the system and the environment variable ANT_HOME. For that: 1. Click Start, then Control Panel, then System. 2. Click Advanced, then Environment Variables. 3. Add the variable ANT_HOME with the path to the downloaded folder, for example: C:\Program File\ant. 4. Add to the PATH variable the path of the folder plus \bin, for example: C:\Program File\ant\bin. Finally, in order to test if the installation is correct, type ant on a new terminal. You should get the message: build.xml does not exist. 28 L u l e å T e k n i s k a U n i v e r s i t e t

31 6.2.2 Apache Ant for Linux and MAC OS X Download the binary archive from the official web site of Apache Ant. Once the download is completed, unzip the file and rename it to ant. Move the folder to /usr/local (you may need root permission): Change the directory to that folder and create a link to it: Modify the global PATH variable and create the variable ANT_HOME by adding the following lines to the /etc/profile (you will need to restart the computer for the changes to take effect) file on Linux or /etc/bashrc file on MAC: Finally, in order to test if the installation is correct, type ant on a new terminal. You should get the message: build.xml does not exist. 6.3 Android Software Development Kit The software developed during this Master Thesis needs the Android Software Development Kit (SDK) in order to be able to migrate web applications generated with SATIN tool-kit into native Android apps. The Android SDK can be downloaded from the official Android developer s web site as an adtbundle file. Once the SDK file is downloaded, just unpack the adt-bundle in the location where you store development tools, for example a directory called Development. Finally, it is necessary to add SDK s tools and platform-tools into the global PATH environment variable for cordova command-line tools to work. For that, you can add the following line to the /etc/profile (you will need to restart the computer for the changes to take effect) file on Linux or to the /etc/bashrc file on MAC [17]: 29 L u l e å T e k n i s k a U n i v e r s i t e t

32 On Windows, follow these steps: 1. Click Start, then Control Panel, then System. 2. Click Advanced, then Environment Variables. 3. Add following line to the PATH variable in System Variables: C:\Development\adtbundle\sdk\platform-tools:C:\Development\adt-bundle\sdk\tools. 6.4 ios Software Development Kit Previous considerations Apple tools required to migrate web applications generated with SATIN tool-kit into ios native apps run only on the OS X operating system on Intel-based Macs. The minimum required version of Xcode is 4.5 and it runs only on OS X version 10.7 (Lion) or greater. It includes the ios 6 Software Development Kit (SDK). In order to upload the final applications generated to the Apple App Store, it is necessary to use the latest version of the Apple tools. With the ios simulator obtained by installing SDK and Xcode, it is possible to test the majority of the cordova features. However, it is necessary an actual device in order to test the entire app s device features before uploading the applications to the App Store. The device used for that must run at least ios 5.X, which is the minimum version supported. The supported devices are all ipad models, iphone 3GS and above and ipod touch 3 rd generation or greater. Finally, for installing apps into a real device it is a requisite to be a member of the Apple s ios Developer Program, which cost $99 per year [18] Installation of the SDK: Xcode In order to obtain Xcode, there are two options: Downloading it from the App Store, available by searching for Xcode. Downloading it from Apple Developer Downloads. This second option requires registration as an Apple Developer. 30 L u l e å T e k n i s k a U n i v e r s i t e t

33 Once Xcode is installed, several command-line tools need to be enabled for cordova to run. From the Xcode menu, select Preferences, then the Downloads tab. From the Components panel, press the install button next to the Command Line Tools list. 6.5 Apache Cordova The last requisite for the developed software to work is Apache Cordova, which is the basic tool used for migrating the web applications generated by SATIN tool-kit into native apps for Android and ios platforms. Along the following subsections it is explained how to install cordova from a terminal in Windows, Linux and MAC operating systems Node.js The first step is to download and install Node.js from its official web site. Once the installation is completed, it should be possible to run node or npm commands on the terminal (in all Windows, Linux and Mac operating systems). Node.js is a software platform built on Chrome s JavaScript Runtime for developing server-side and network applications. The software developed with Node.js is written in JavaScript and it runs within the Node.js runtime. The advantage of this is that Node.js applications run on Windows, MAC OS X and Linux operating systems with no changes. One of the main things that Node.js applications worry about is efficiency. In order to achieve good levels of throughput, Node.js uses non-blocking input/output operations and asynchronous events. These applications run within a single thread. However, Node.js uses several threads in order to manage file and network events. For all these reasons, Node.js is commonly used for real-time applications. The core of Node.js is the Google V8 JavaScript engine, which is the responsible of the code execution. The vast majority of the modules are written in JavaScript language. Other feature of Node.js is that it includes a built-in asynchronous input/output library for managing files, sockets and HTTP communications. This HTTP and socket support allows Node.js to act as a web server without additional web server software such as Apache [19]. 31 L u l e å T e k n i s k a U n i v e r s i t e t

34 6.5.2 Cordova Command-Line Interface In order to install the Cordova Command-Line Interface (CLI), run the following command on a terminal (same command for all the operating systems, although you may need to add the prefix sudo in UNIX systems for installing development utilities in restricted directories): Once the installation is completed, it should be possible to run the command cordova on a terminal window [20]. 6.6 Checking prerequisites in Linux Once the prerequisites are installed and the computer has been restarted in order to the changes to the PATH variable to take effect, it should be possible to create a simple cordova project in order to test if everything works fine. For that, you can create a simple project called hello with the following commands: If any command produces errors (especially for the cordova build command), then try to install the 32 bits libraries with the following command (you may need root permission): If you get errors when trying to install those libraries, then install the following libraries manually (you may need root permission): Once the libraries are installed, try to create again the simple cordova project called hello and now it should work fine. 32 L u l e å T e k n i s k a U n i v e r s i t e t

35 Web2Native 7 This section presents the software developed during this Master Thesis in order to automatize the process of converting the web applications generated by the SATIN tool-kit into native applications for Android and ios platforms. The developed software consists of a Java program called Web2Native. The main motivation for developing this software using Java, as it is stated in the section 3.4 of this Thesis, is that it can work with different platforms all the operating systems supporting Java as it runs over the Java virtual machine instead of running directly over the target operating system. The program Web2Native is formed by three main classes Console.java, WebParser.java and Web2App.java - that are presented along the following subsections. 7.1 Console The main functionality of the class Console.java is to emulate a terminal for different operating systems. This class has two different constructors. One of them is used for building a terminal that can run over Windows operating systems and the other one is used for building a terminal which can work in operating systems with a Linux kernel. Once the terminal is built, it has a method that executes commands received as parameters - using the Java classes Process and ProcessBuilder. This method gets the standard output and the standard error output of the command using the Java classes InputStreamReader and BufferedReader. Finally, it returns the standard output and the standard error output of the command. 7.2 WebParser The main functionality of the class WebParser.java is to download the entire SATIN application that we are trying to migrate into a native Android or ios application and store it in the folder structure provided by cordova when creating a new project. For this to be possible, it is necessary to download not only the main web page of the SATIN application index.html but also all the resources pointed by this page which are necessary for the application to work properly. 33 L u l e å T e k n i s k a U n i v e r s i t e t

36 Unlike the previous class, this one has a single constructor which builds a WebParser object taking as parameters the URL pointing to the SATIN application that we are trying to migrate and the directory in which the cordova project has been created. Once the WebParser object has been created, it has a method that implements all the functionality of the class with the following steps: Firstly, it downloads the index.html page of the SATIN application using the Java library Jsoup (described in the section 3.2.1). The second step is to obtain a list of all the resources pointed by the index.html file. For a SATIN application, these pointers are placed inside the html tags <link>, <script> or <img>. Then it checks all the resources in the list. If the resource is a URL pointing to an image, html, JavaScript or CSS files then it downloads and stores the resource using the Java classes URL, URLConnection, InputStream, and FileOutputStream. If the resource is one of the files just mentioned placed in the same server it also downloads and stores it using the same Java classes. Finally, it modifies the pointers of the index.html file so they point properly to the correspondent resources and it stores the index.html Jsoup library Jsoup is an open-source Java library created for working with HTML files. It is useful in order to obtain an API for extracting and manipulating data, using DOM, CSS and jquery-like methods. This library implements the WHATWG HTML5 specification and parses HTML5 files to the same DOM as a browser. Some of the functionalities provided by this library are the following: Scraping and parsing HTML from a URL, file or String. Finding and extracting data using DOM traversal or CSS selectors. Working with the HTML elements, attributes and text. Avoiding XSS attacks by cleaning user submitted content against a save white-list. In the software developed during this Master Thesis, the Jsoup library is used in the class WebParser.java in order to download the index.html file of the SATIN application that we are trying to migrate to a native platform, obtain a list of the resources pointed by this file and modify these pointers once the resources are stored. 34 L u l e å T e k n i s k a U n i v e r s i t e t

37 7.3 Web2App The class Web2App.java implements the main functionality of the program using the services provided by the previous classes. The main method of this class is the one that is called when starting the program. It checks that the arguments received by the program are correct and it offers some help to the user in case they are not. It also checks the operating system in which the program is running due to the fact that there are some differences in the steps to follow for implementing its functionality depending on the operating system. Once this method has checked the arguments and the operating system, it calls the method Web2Android or Web2Ios depending on whether the platform target is Android or ios. Or the method signandroidapp in case the user wants to sign an Android application. Although there are some differences in the operation of the two first methods (and in the operation of Web2Android method depending on the operating system on which the program is running), the basic functionality they implement is the same, and it can be summarized in the following points: Firstly, they use the functionality of the class Console.java in order to create the following folder structure if it does not exist: o o Android: the method Web2Android creates the folder AndroidPojects in the directory in which the program has been executed. Inside that folder, it creates the folders WebProjects and AndroidApps. ios: the method Web2Ios creates the folder iosprojects in the directory in which the program has been executed. Inside that folder, it creates the folders WebPojects and iosapps. Once the folder structure is set up, they use cordova for creating a new project inside the correspondent WebProjects folder. The next step is to download the SATIN application and all its resources and store everything following the folder structure provided by cordova when creating the new project. In order to do this, both Web2Android and Web2Ios methods use the functionality provided by the class WebParser.java. Then, they use cordova in order to migrate the web application just downloaded from the SATIN tool-kit into a native application of the target platform Android or ios -. Once the web application is migrated, they use again the cordova functionality in order to build the native application. 35 L u l e å T e k n i s k a U n i v e r s i t e t

38 Finally, the method Web2Android places the.apk file which is the Android application itself in the folder AndroidApps previously created. In the case of the method Web2Ios, there is no file as the.apk for Android so the final ios application is not placed at iosapps folder but it is placed inside the WebProjects folder as an Xcode project. Regarding the method signandroidapp, its functionality is explained along the following points: At the first place, the method signandroidapp uses the class Console.java in order to create the folder Keys inside the main directory AndroidProjects, if it does not exist. Once the folder Keys is created, the method creates a public/private key pair inside that folder, using the algorithm RSA with the java program keytool. The next step is to sign the application using the RSA key just created. For that, the method uses the functionality of the java program jarsigner. The last thing the method does is to align the application in order to provide a performance optimization for the app. In order to do this, the functionality of the java program zipalign is used. 36 L u l e å T e k n i s k a U n i v e r s i t e t

39 Correct use of the developed software 8 This section is focused on explaining the correct use of the software developed during this Master Thesis in order to migrate web applications generated with SATIN tool-kit into native apps for Android and ios platforms. Along the following subsections it is explained how to use the file Web2Native.jar on Windows, Linux and MAC operating systems. 8.1 Web2Native.jar on Windows and Linux If the program Web2Native.jar is running over a Windows or Linux operating system, it is possible only to migrate a web application generated with SATIN tool-kit into a native Android app as it is necessary a MAC OS X in order to generate applications for ios platform. In order to migrate the web application into a native Android app on Windows and Linux operating systems, it is necessary to follow the next steps. The first step is to open a terminal window and change the location to the directory where you want to create the project. Once the terminal is properly placed at the chosen directory, execute the Web2Native.jar file with the following arguments (Note: both Windows and Linux allow executing a.jar file just by dragging it to the open terminal): Argument 1: URL of the web application generated with SATIN tool-kit. Argument 2: Target platform of the final native app, i.e. android. Argument 3: Name of the final native application. If the program executes with no errors, it will create the folder AndroidProjects inside the chosen directory in which the terminal is placed. Inside this folder there will be another two: WebProjects and AndroidApps. 37 L u l e å T e k n i s k a U n i v e r s i t e t

40 Inside the folder WebProjects you will find a folder with the name selected for the final native application. This folder is created automatically by cordova and it contains the folder structure and the necessary information (such as the index.html file of the SATIN tool-kit web application and all its resources properly stored) for cordova in order to migrate the web application into a native Android app. Finally, inside the folder AndroidApps you will find the file containing the native Android application, named with the selected name plus -unsigned.apk. This file is the application itself but it is not signed so it cannot be installed into any device or emulator since Android OS requires that an app is signed in order to install it. In order to sign the application before testing it or uploading it to the Google Play, it is necessary to sign the.apk file following the instructions indicated in the point Signing an Android application. 8.2 Web2Native.jar on MAC OS X If the program Web2Native.jar is running over a MAC operating system, then it is possible to use the entire functionality of the software as it can migrate web applications generated with SATIN tool-kit into native apps for both Android and ios platforms. There are slightly differences in the arguments the program need depending on the final platform target. The following subsections explain how to use properly the program Web2Native.jar in order to migrate the web application into a native app on MAC operating systems for Android or ios platforms Target platform: Android The first step is to open a terminal window and change the location to the directory where you want to create the project. Once the terminal is properly placed at the chosen directory, execute the Web2Native.jar file with the following arguments (Note: MAC allows executing a.jar file just by dragging it to the open terminal): 38 L u l e å T e k n i s k a U n i v e r s i t e t

41 Argument 1: URL of the web application generated with SATIN tool-kit. Argument 2: Target platform of the final native app, i.e. android. Argument 3: Name of the final native application. Argument 4: Path to the SDK s tools for Android, for example: /Users/USER/Development/adt-bundle/sdk/tools. Argument 5: Path to the SDK s platform-tools for Android, for example: /Users/USER/Development/adt-bundle/sdk/platform-tools. If the program executes with no errors, it will create the folder AndroidProjects inside the chosen directory in which the terminal is placed. Inside this folder there will be another two: WebProjects and AndroidApps. Inside the folder WebProjects you will find a folder with the name selected for the final native application. This folder is created automatically by cordova and it contains the folder structure and the necessary information (such as the index.html file of the SATIN tool-kit web application and all its resources properly stored) for cordova in order to migrate the web application into a native Android app. Finally, inside the folder AndroidApps you will find the file containing the native Android application, named with the selected name plus -unsigned.apk. This file is the application itself but it is not signed so it cannot be installed into any device or emulator since Android OS requires that an app is signed in order to install it. In order to sign the application before testing it or uploading it to the Google Play, it is necessary to sign the.apk file following the instructions indicated in the point Signing an Android application Target platform: ios The first step is to open a terminal window and change the location to the directory where you want to create the project. Once the terminal is properly placed at the chosen directory, execute the Web2Native.jar file with the following arguments (Note: MAC allows executing a.jar file just by dragging it to the open terminal): 39 L u l e å T e k n i s k a U n i v e r s i t e t

42 Argument 1: URL of the web application generated with SATIN tool-kit. Argument 2: Target platform of the final native app, i.e. ios. Argument 3: Name of the final native application. If the program executes with no errors, it will create the folder iosprojects inside the chosen directory in which the terminal is placed. Inside this folder there will be another two: WebProjects and iosapps. The folder iosapps is empty because now the native ios application is not contained on a single file such as the file.apk for Android. Inside the folder WebProjects you will find a folder with the name selected for the final native application. This folder is created automatically by cordova and it contains the folder structure and the necessary information (such as the index.html file of the SATIN tool-kit web application and all its resources properly stored) for cordova in order to migrate the web application into a native ios app. Finally, in the path WebProjects/APP_NAME/platforms/ios you can find all the resources that the ios app needs and a file called APP_NAME.xcodeproj. If you click on that file, you can open the final ios native application with Xcode. 8.3 Signing an Android application This section explains how to use the software Web2Native.jar in order to sign an Android application. The use of the program in order to achieve this target is exactly the same independently of the operating system on which the program is running; it means that the following instructions are valid for all Windows, Linux and Mac operating systems. The first step is to open a terminal window and change the working directory so the terminal is placed in the same folder you chose before for creating the Android project, i.e. The same directory where the folder AndroidProjects is placed. According to the examples along the previous sections, this directory would be: Once the terminal is properly placed at the chosen directory, execute the Web2Native.jar file with the following arguments (Note: all Windows, Linux and MAC operating systems allow executing a.jar file just by dragging it to the open terminal): 40 L u l e å T e k n i s k a U n i v e r s i t e t

43 Argument 1: Target platform of the app that is going to be signed, i.e. android. Argument 2: Name of the app (without unsigned.apk) which has to be placed inside the folder AndroidProjects/AndroidApps. Argument 3: Name of the author without spaces. Argument 4: Password for the RSA key pair. Argument 5: Password for the key store that will contain the key. If the program executes with no errors, it will create the folder Keys inside the directory AndroidProjects. Within the Keys folder, you will find a key store containing the key used for signing the application and named with the same name of the app plus.keystore. Finally, inside the directory AndroidApps it is placed the signed application, named with the original selected name plus.apk. 8.4 Signing an ios application The functionality of signing ios applications is not included within the software developed during this Master Thesis due to the fact that each user needs to sign its own applications using at the first place an official certificate obtained from Apple when enrolling in the Apple Developer Program. Along the following paragraphs it is presented a brief description of the overall process, requirements and tools used for signing ios applications. At the first place, you need a signing identity that it is used by Xcode in order to sign your app in the build process. This signing identity is provided by Apple and it is basically a public/private key pair and a certificate. The private key is the one used for creating the signature and it is stored within your keychain. The public key is contained in the certificate, which is the responsible of identifying you as the owner of the key pair. This certificate is stored in your keychain and also in our developer account. It is also required for your keychain to contain an intermediate certificate proving that your first certificate has been provided by a certificate authority. When you install Xcode, an intermediate certificate from Apple is automatically installed within your keychain and after that, it is necessary that you create your signing certificate in order to sign the applications using Xcode [30]. 41 L u l e å T e k n i s k a U n i v e r s i t e t

44 Once the previous steps are completed, it is necessary a development certificate identifying you in order to launch your apps into real devices. Finally, you need a distribution certificate verifying the identity of your team or organization in a distribution provisioning profile in order to be able to submit your apps to the App Store. 42 L u l e å T e k n i s k a U n i v e r s i t e t

45 Results 9 This section is focused on presenting the results obtained with the work of this Master Thesis by summing up the functionality of the developed software and analyzing some native applications created. The program Web2Native.jar fulfill the requisites expected from the beginning of the Master Thesis and with this software it is possible to migrate a web application generated by the SATIN web tool-kit into a native application for the target platforms Android and ios. The software can be used on Windows, Linux and MAC operating systems in order to obtain an Android application. If the target platform is ios, then it is necessary to run the program on a MAC operating system. In order to analyze the final applications obtained with the software Web2Native.jar, along the following points it is presented an evaluation of four Android and ios apps obtained with this software that access to GPS, graphics, sound and accelerometer APIs of the mobile device: My Location: This application is aimed to test the access to the GPS API of the mobile device. The main component of the app is a map that shows the location of the device and allows the users to track the movements of the smartphone. Figure 4: Graphical Interface of the app My Location The application runs correctly on the device so the access to the GPS APIs from the applications migrated with Web2Native.jar is correct. 43 L u l e å T e k n i s k a U n i v e r s i t e t

46 Shake Me: It is a simple app aimed to test the access to the accelerometer API; it consists of an alert message that appears when the user shakes the device. It also runs properly over the smartphone so it is correct the access to the accelerometer API from migrated SATIN applications. Alert Sound: The purpose of this app is to test the access to the sound API. When the user touches a button in the screen, the smartphone plays an alert sound. Once again, the access to the sound API from the application is correct. Random Charts: This last application has been created in order to test the access to the graphical API. Basically, it generates random numbers and shows them in a chart. Figure 5: Graphical Interface of the app Random Charts The correct performance of the application shows that it is possible to access to the graphical APIs from the applications migrated using Web2Native.jar. 44 L u l e å T e k n i s k a U n i v e r s i t e t

MASTER'S THESIS. Automatic Code Generation for SATIN Platform. Migrating SATIN Apps to Native Environments Using Titanium Appcelerator

MASTER'S THESIS. Automatic Code Generation for SATIN Platform. Migrating SATIN Apps to Native Environments Using Titanium Appcelerator MASTER'S THESIS Automatic Code Generation for SATIN Platform Migrating SATIN Apps to Native Environments Using Titanium Appcelerator Daniel Buldón Blanco 2014 Master of Science (120 credits) Computer Science

More information

DIPLOMADO DE JAVA - OCA

DIPLOMADO DE JAVA - OCA DIPLOMADO DE JAVA - OCA TABLA DE CONTENIDO INTRODUCCION... 3 ESTRUCTURA DEL DIPLOMADO... 4 Nivel I:... 4 Fundamentals of the Java Programming Language Java SE 7... 4 Introducing the Java Technology...

More information

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March 2015 8230 0898 001

unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March 2015 8230 0898 001 unisys ClearPath eportal Developer 6.1 Unisys Multi-Device App Developer s Guide March 2015 8230 0898 001 NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THIS DOCUMENT. Any product or related information described

More information

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment IBM TRIRIGA Anywhere Version 10 Release 4 Installing a development environment Note Before using this information and the product it supports, read the information in Notices on page 9. This edition applies

More information

Titanium Mobile: How-To

Titanium Mobile: How-To Titanium Mobile: How-To Getting Started With Appcelerator Titanium For Windows Release GSW August 17, 2010 Copyright 2010 Appcelerator, Inc. All rights reserved. Appcelerator, Inc. 444 Castro Street, Suite

More information

INTELIGENCIA DE NEGOCIO CON SQL SERVER

INTELIGENCIA DE NEGOCIO CON SQL SERVER INTELIGENCIA DE NEGOCIO CON SQL SERVER Este curso de Microsoft e-learning está orientado a preparar a los alumnos en el desarrollo de soluciones de Business Intelligence con SQL Server. El curso consta

More information

Getting Started with Android Development

Getting Started with Android Development Getting Started with Android Development By Steven Castellucci (v1.1, January 2015) You don't always need to be in the PRISM lab to work on your 4443 assignments. Working on your own computer is convenient

More information

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar

Building graphic-rich and better performing native applications. Pro. Android C++ with the NDK. Onur Cinar Building graphic-rich and better performing native applications Pro Android C++ with the NDK Onur Cinar For your convenience Apress has placed some of the front matter material after the index. Please

More information

Installing the Android SDK

Installing the Android SDK Installing the Android SDK To get started with development, we first need to set up and configure our PCs for working with Java, and the Android SDK. We ll be installing and configuring four packages today

More information

How To Use Titanium Studio

How To Use Titanium Studio Crossplatform Programming Lecture 3 Introduction to Titanium http://dsg.ce.unipr.it/ http://dsg.ce.unipr.it/?q=node/37 alessandro.grazioli81@gmail.com 2015 Parma Outline Introduction Installation and Configuration

More information

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE

INTRODUCTION TO JAVA PROGRAMMING LANGUAGE INTRODUCTION TO JAVA PROGRAMMING LANGUAGE Today Java programming language is one of the most popular programming language which is used in critical applications like stock market trading system on BSE,

More information

AV-002: Professional Web Component Development with Java

AV-002: Professional Web Component Development with Java AV-002: Professional Web Component Development with Java Certificación Relacionada: Oracle Certified Web Component Developer Detalles de la Carrera: Duración: 120 horas. Introducción: Java es un lenguaje

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

Installing Java. Table of contents

Installing Java. Table of contents Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...

More information

Android Mobile App Building Tutorial

Android Mobile App Building Tutorial Android Mobile App Building Tutorial Seidenberg-CSIS, Pace University This mobile app building tutorial is for high school and college students to participate in Mobile App Development Contest Workshop.

More information

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers 1 Table of Contents INTRODUCTION MODULE 1 AEM & PHONEGAP ENTERPRISE INTRODUCTION LESSON 1- AEM BASICS

More information

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc.

Technology in Action. Alan Evans Kendall Martin Mary Anne Poatsy. Eleventh Edition. Copyright 2015 Pearson Education, Inc. Technology in Action Alan Evans Kendall Martin Mary Anne Poatsy Eleventh Edition Technology in Action Chapter 4 System Software: The Operating System, Utility Programs, and File Management. Chapter Topics

More information

OMEGA SOFT WF RISKEVAL

OMEGA SOFT WF RISKEVAL OMEGA SOFT WF RISKEVAL Quick Start Guide I. PROGRAM DOWNLOAD AND INSTALLATION... 2 II. CONNECTION AND PASSWORD CHANGE... 3 III. LIST OF WIND FARMS / PREVENTION TECHNICIANS... 4 IV. ADD A NEW WIND FARM...

More information

Developing Applications for ios

Developing Applications for ios Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content Key concepts

More information

Setting up Sudoku example on Android Studio

Setting up Sudoku example on Android Studio Installing Android Studio 1 Setting up Sudoku example on Android Studio Installing Android Studio Android Studio provides everything you need to start developing apps for Android, including the Android

More information

Installation Instructions

Installation Instructions Avira Secure Backup Installation Instructions Trademarks and Copyright Trademarks Windows is a registered trademark of the Microsoft Corporation in the United States and other countries. All other brand

More information

Avira Secure Backup INSTALLATION GUIDE. HowTo

Avira Secure Backup INSTALLATION GUIDE. HowTo Avira Secure Backup INSTALLATION GUIDE HowTo Table of contents 1. Introduction... 3 2. System Requirements... 3 2.1 Windows...3 2.2 Mac...4 2.3 ios (iphone, ipad and ipod touch)...4 3. Avira Secure Backup

More information

http://docs.trendmicro.com

http://docs.trendmicro.com Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,

More information

Quick and Easy Solutions With Free Java Libraries Part II

Quick and Easy Solutions With Free Java Libraries Part II A Quick and Easy Solutions With Free Java Libraries Part II By Shaun Haney s mentioned in Part I of "Quick and Easy Solutions With Free Java Libraries," BBj allows developers to integrate Java objects

More information

place/business fetch details, 184 185 removefromfavorite () function, 189 search button handler bind, 190 191 B BlackBerry build environment

place/business fetch details, 184 185 removefromfavorite () function, 189 search button handler bind, 190 191 B BlackBerry build environment Index A addtofavorite() method, 175 177, 188 189 Android ADT Plugin for Eclipse installation, 22 24 application, GWT Build Path, 244 device info, 247 directory structure, 244, 245 Eclipse classpath, 244

More information

How to start with 3DHOP

How to start with 3DHOP How to start with 3DHOP Package content, local setup, online deployment http://3dhop.net 30/6/2015 The 3DHOP distribution Where to find it, what s inside The 3DHOP distribution package From the page http://3dhop.net/download.php

More information

Click Start > Control Panel > System icon to open System Properties dialog box. Click Advanced > Environment Variables.

Click Start > Control Panel > System icon to open System Properties dialog box. Click Advanced > Environment Variables. Configure Java environment on Windows After installing Java Development Kit on Windows, you may still need to do some configuration to get Java ready for compiling and executing Java programs. The following

More information

Parallels Virtual Automation 6.1

Parallels Virtual Automation 6.1 Parallels Virtual Automation 6.1 Installation Guide for Windows April 08, 2014 Copyright 1999-2014 Parallels IP Holdings GmbH and its affiliates. All rights reserved. Parallels IP Holdings GmbH. c/o Parallels

More information

JAMF Software Server Installation and Configuration Guide for Windows. Version 9.3

JAMF Software Server Installation and Configuration Guide for Windows. Version 9.3 JAMF Software Server Installation and Configuration Guide for Windows Version 9.3 JAMF Software, LLC 2014 JAMF Software, LLC. All rights reserved. JAMF Software has made all efforts to ensure that this

More information

Generate Android App

Generate Android App Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can

More information

Sophos Mobile Control Installation guide. Product version: 3

Sophos Mobile Control Installation guide. Product version: 3 Sophos Mobile Control Installation guide Product version: 3 Document date: January 2013 Contents 1 Introduction...3 2 The Sophos Mobile Control server...4 3 Set up Sophos Mobile Control...16 4 External

More information

Sophos Mobile Control Installation guide. Product version: 3.5

Sophos Mobile Control Installation guide. Product version: 3.5 Sophos Mobile Control Installation guide Product version: 3.5 Document date: July 2013 Contents 1 Introduction...3 2 The Sophos Mobile Control server...4 3 Set up Sophos Mobile Control...10 4 External

More information

Android Development Setup [Revision Date: 02/16/11]

Android Development Setup [Revision Date: 02/16/11] Android Development Setup [Revision Date: 02/16/11] 0. Java : Go to the URL below to access the Java SE Download page: http://www.oracle.com/technetwork/java/javase/downloads/index.html Select Java Platform,

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

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

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Tutorial: setting up a web application

Tutorial: setting up a web application Elective in Software and Services (Complementi di software e servizi per la società dell'informazione) Section Information Visualization Number of credits : 3 Tutor: Marco Angelini e- mail: angelini@dis.uniroma1.it

More information

Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009

Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009 Tool-Assisted Knowledge to HL7 v3 Message Translation (TAMMP) Installation Guide December 23, 2009 Richard Lyn lynrf@mcmaster.ca Jianwei Yang yangj29@mcmaster.ca Document Revision History Rev. Level Date

More information

How To Run A Hello World On Android 4.3.3 (Jdk) On A Microsoft Ds.Io (Windows) Or Android 2.7.3 Or Android 3.5.3 On A Pc Or Android 4 (

How To Run A Hello World On Android 4.3.3 (Jdk) On A Microsoft Ds.Io (Windows) Or Android 2.7.3 Or Android 3.5.3 On A Pc Or Android 4 ( Developing Android applications in Windows Below you will find information about the components needed for developing Android applications and other (optional) software needed to connect to the institution

More information

Developing In Eclipse, with ADT

Developing In Eclipse, with ADT Developing In Eclipse, with ADT Android Developers file://v:\android-sdk-windows\docs\guide\developing\eclipse-adt.html Page 1 of 12 Developing In Eclipse, with ADT The Android Development Tools (ADT)

More information

Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com. 1. Java SDK

Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com. 1. Java SDK PREPARING YOUR MACHINES WITH NECESSARY TOOLS FOR ANDROID DEVELOPMENT SEPTEMBER, 2012 Fahim Uddin http://fahim.cooperativecorner.com email@fahim.cooperativecorner.com Android SDK makes use of the Java SE

More information

Manejo Basico del Servidor de Aplicaciones WebSphere Application Server 6.0

Manejo Basico del Servidor de Aplicaciones WebSphere Application Server 6.0 Manejo Basico del Servidor de Aplicaciones WebSphere Application Server 6.0 Ing. Juan Alfonso Salvia Arquitecto de Aplicaciones IBM Uruguay Slide 2 of 45 Slide 3 of 45 Instalacion Basica del Server La

More information

Eclipse installation, configuration and operation

Eclipse installation, configuration and operation Eclipse installation, configuration and operation This document aims to walk through the procedures to setup eclipse on different platforms for java programming and to load in the course libraries for

More information

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues

Zend Server 4.0 Beta 2 Release Announcement What s new in Zend Server 4.0 Beta 2 Updates and Improvements Resolved Issues Installation Issues Zend Server 4.0 Beta 2 Release Announcement Thank you for your participation in the Zend Server 4.0 beta program. Your involvement will help us ensure we best address your needs and deliver even higher

More information

Getting Started using the SQuirreL SQL Client

Getting Started using the SQuirreL SQL Client Getting Started using the SQuirreL SQL Client The SQuirreL SQL Client is a graphical program written in the Java programming language that will allow you to view the structure of a JDBC-compliant database,

More information

A Practical Guide to creating, compiling and signing an Android Application using Processing for Android.

A Practical Guide to creating, compiling and signing an Android Application using Processing for Android. A Practical Guide to creating, compiling and signing an Android Application using Processing for Android. By Joseph Alexander Boston http://www.jaboston.com IMPORTANT NOTE: EVERYTHING YOU INSTALL SHOULD

More information

Installing Oracle 12c Enterprise on Windows 7 64-Bit

Installing Oracle 12c Enterprise on Windows 7 64-Bit JTHOMAS ENTERPRISES LLC Installing Oracle 12c Enterprise on Windows 7 64-Bit DOLOR SET AMET Overview This guide will step you through the process on installing a desktop-class Oracle Database Enterprises

More information

IUCLID 5 Guidance and support. Installation Guide Distributed Version. Linux - Apache Tomcat - PostgreSQL

IUCLID 5 Guidance and support. Installation Guide Distributed Version. Linux - Apache Tomcat - PostgreSQL IUCLID 5 Guidance and support Installation Guide Distributed Version Linux - Apache Tomcat - PostgreSQL June 2009 Legal Notice Neither the European Chemicals Agency nor any person acting on behalf of the

More information

QuickStart Guide for Managing Mobile Devices. Version 9.2

QuickStart Guide for Managing Mobile Devices. Version 9.2 QuickStart Guide for Managing Mobile Devices Version 9.2 JAMF Software, LLC 2013 JAMF Software, LLC. All rights reserved. JAMF Software has made all efforts to ensure that this guide is accurate. JAMF

More information

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system. Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce

More information

24x7 Scheduler Multi-platform Edition 5.2

24x7 Scheduler Multi-platform Edition 5.2 24x7 Scheduler Multi-platform Edition 5.2 Installing and Using 24x7 Web-Based Management Console with Apache Tomcat web server Copyright SoftTree Technologies, Inc. 2004-2014 All rights reserved Table

More information

http://docs.trendmicro.com

http://docs.trendmicro.com Trend Micro Incorporated reserves the right to make changes to this document and to the products described herein without notice. Before installing and using the product, please review the readme files,

More information

Guidelines for Designing Web Maps - An Academic Experience

Guidelines for Designing Web Maps - An Academic Experience Guidelines for Designing Web Maps - An Academic Experience Luz Angela ROCHA SALAMANCA, Colombia Key words: web map, map production, GIS on line, visualization, web cartography SUMMARY Nowadays Internet

More information

New Server Installation. Revisión: 13/10/2014

New Server Installation. Revisión: 13/10/2014 Revisión: 13/10/2014 I Contenido Parte I Introduction 1 Parte II Opening Ports 3 1 Access to the... 3 Advanced Security Firewall 2 Opening ports... 5 Parte III Create & Share Repositorio folder 8 1 Create

More information

Android Setup Phase 2

Android Setup Phase 2 Android Setup Phase 2 Instructor: Trish Cornez CS260 Fall 2012 Phase 2: Install the Android Components In this phase you will add the Android components to the existing Java setup. This phase must be completed

More information

Sophos Mobile Control Installation guide

Sophos Mobile Control Installation guide Sophos Mobile Control Installation guide Product version: 2.5 Document date: July 2012 Contents 1 Introduction... 3 2 The Sophos Mobile Control server... 4 3 Set up Sophos Mobile Control... 13 4 Running

More information

Introduction: The Xcode templates are not available in Cordova-2.0.0 or above, so we'll use the previous version, 1.9.0 for this recipe.

Introduction: The Xcode templates are not available in Cordova-2.0.0 or above, so we'll use the previous version, 1.9.0 for this recipe. Tutorial Learning Objectives: After completing this lab, you should be able to learn about: Learn how to use Xcode with PhoneGap and jquery mobile to develop iphone Cordova applications. Learn how to use

More information

Lab 0 (Setting up your Development Environment) Week 1

Lab 0 (Setting up your Development Environment) Week 1 ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself

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

Centralized Mac Home Directories On Windows Servers: Using Windows To Serve The Mac

Centralized Mac Home Directories On Windows Servers: Using Windows To Serve The Mac Making it easy to deploy, integrate and manage Macs, iphones and ipads in a Windows environment. Centralized Mac Home Directories On Windows Servers: Using Windows To Serve The Mac 2011 ENTERPRISE DEVICE

More information

Virtual Workplace Personal Device Client Installation Instructions

Virtual Workplace Personal Device Client Installation Instructions Virtual Workplace Personal Device Client Installation Instructions 1 Table of Contents About this Installation Guide... 2 Client Overview... 2 VMware Horizon View Clients... 2 UniPrint Clients... 3 Client

More information

Integration Service Database. Installation Guide - Oracle. On-Premises

Integration Service Database. Installation Guide - Oracle. On-Premises Kony MobileFabric Integration Service Database Installation Guide - Oracle On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title

More information

3. Installation and Configuration. 3.1 Java Development Kit (JDK)

3. Installation and Configuration. 3.1 Java Development Kit (JDK) 3. Installation and Configuration 3.1 Java Development Kit (JDK) The Java Development Kit (JDK) which includes the Java Run-time Environment (JRE) is necessary in order for Apache Tomcat to operate properly

More information

2016-03-23. SAP Web IDE Hybrid App Toolkit Add-on

2016-03-23. SAP Web IDE Hybrid App Toolkit Add-on 2016-03-23 Content 1 SAP Web IDE Hybrid App Toolkit Add-on for Cloud Deployments.... 5 1.1 What's New in Hybrid App Toolkit 1.13....7 1.2 Hybrid App Toolkit 1.12.... 9 1.3 Hybrid App Toolkit 1.11....10

More information

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy

Kony MobileFabric. Sync Windows Installation Manual - WebSphere. On-Premises. Release 6.5. Document Relevance and Accuracy Kony MobileFabric Sync Windows Installation Manual - WebSphere On-Premises Release 6.5 Document Relevance and Accuracy This document is considered relevant to the Release stated on this title page and

More information

Waspmote IDE. User Guide

Waspmote IDE. User Guide Waspmote IDE User Guide Index Document Version: v4.1-01/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. New features...3 1.2. Other notes...3 2. Installation... 4 2.1. Windows...4

More information

Quick Start Guide Mobile Entrée 4

Quick Start Guide Mobile Entrée 4 Table of Contents Table of Contents... 1 Installation... 2 Obtaining the Installer... 2 Installation Using the Installer... 2 Site Configuration... 2 Feature Activation... 2 Definition of a Mobile Application

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

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com

farmerswife Contents Hourline Display Lists 1.1 Server Application 1.2 Client Application farmerswife.com Contents 2 1 System requirements 2 1.1 Server Application 3 1.2 Client Application.com 1 1 Ensure that the computers on which you are going to install the Server and Client applications meet the system

More information

1) SETUP ANDROID STUDIO

1) SETUP ANDROID STUDIO 1) SETUP ANDROID STUDIO This process takes approximately 15-20 Minutes dependent upon internet speed and computer power. We will only be covering the install on Windows. System Requirements Android Studio

More information

Cloud Web-Based Operating System (Cloud Web Os)

Cloud Web-Based Operating System (Cloud Web Os) Cloud Web-Based Operating System (Cloud Web Os) Hesham Abusaimeh Department of Computer Science, Faculty of Information Technology, Applied Science University, Amman, 11931 Jordan. ABSTRACT The cloud computing

More information

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager

IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager IBM WebSphere Application Server V8.5 lab Basic Liberty profile administration using the job manager Scenario You are a system administrator responsible for managing web application server installations.

More information

Java Garbage Collection Basics

Java Garbage Collection Basics Java Garbage Collection Basics Overview Purpose This tutorial covers the basics of how Garbage Collection works with the Hotspot JVM. Once you have learned how the garbage collector functions, learn how

More information

SeeTec ExpansionPackage

SeeTec ExpansionPackage SeeTec ExpansionPackage Contents Contents 1 SeeTec WebClient...1 1.1 System requirements... 2 1.1.1 Server requirements for Apache HTTP Server, SeeTec TranscodingEngine (STE) and SeeTec ApplicationGateway

More information

CSA Software Listing 2016-2017. Table of Contents. Both Windows and Mac platforms are supported.

CSA Software Listing 2016-2017. Table of Contents. Both Windows and Mac platforms are supported. CSA Software Listing 2016-2017 Both Windows and Mac platforms are supported. Table of Contents Student Access and Permissions... 2 Web Browsers... 2 Mozilla Firefox... 2 Internet Explorer... 2 Google Chrome...

More information

HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App

HP AppPulse Mobile. Adding HP AppPulse Mobile to Your Android App HP AppPulse Mobile Adding HP AppPulse Mobile to Your Android App Document Release Date: April 2015 How to Add HP AppPulse Mobile to Your Android App How to Add HP AppPulse Mobile to Your Android App For

More information

DreamFactory & Modus Create Case Study

DreamFactory & Modus Create Case Study DreamFactory & Modus Create Case Study By Michael Schwartz Modus Create April 1, 2013 Introduction DreamFactory partnered with Modus Create to port and enhance an existing address book application created

More information

AzMERIT Secure Browser Installation Manual For Technology Coordinators

AzMERIT Secure Browser Installation Manual For Technology Coordinators AzMERIT Secure Browser Installation Manual For Technology Coordinators 2014-2015 Revised January 5, 2015 Prepared by the American Institutes for Research Descriptions of the operation of the Test Information

More information

NEC CLOUD STORAGE. Demo Guide

NEC CLOUD STORAGE. Demo Guide NEC CLOUD STORAGE Demo Guide 2014 1 INTRODUCTION... 4 1.1 GOALS OF THIS DOCUMENT... 4 1.2 TERMS, ACRONYMS AND ABBREVIATIONS... 4 2 INTRODUCTION TO NEC CLOUD STORAGE... 5 2.1 WHAT IS NEEDED TO USE CLOUD

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

MarkLogic Server. Installation Guide for All Platforms. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Installation Guide for All Platforms. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved. Installation Guide for All Platforms 1 MarkLogic 8 February, 2015 Last Revised: 8.0-4, November, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Installation

More information

DOCSVAULT Document Management System for everyone

DOCSVAULT Document Management System for everyone Installation Guide DOCSVAULT Document Management System for everyone 9 v Desktop and Web Client v On Premises Solution v Intelligent Data Capture v Email Automation v Workflow & Record Retention Installing

More information

Sophos Mobile Control Installation guide. Product version: 3.6

Sophos Mobile Control Installation guide. Product version: 3.6 Sophos Mobile Control Installation guide Product version: 3.6 Document date: November 2013 Contents 1 Introduction...3 2 The Sophos Mobile Control server...5 3 Set up Sophos Mobile Control...11 4 External

More information

VERSION 9.02 INSTALLATION GUIDE. www.pacifictimesheet.com

VERSION 9.02 INSTALLATION GUIDE. www.pacifictimesheet.com VERSION 9.02 INSTALLATION GUIDE www.pacifictimesheet.com PACIFIC TIMESHEET INSTALLATION GUIDE INTRODUCTION... 4 BUNDLED SOFTWARE... 4 LICENSE KEY... 4 SYSTEM REQUIREMENTS... 5 INSTALLING PACIFIC TIMESHEET

More information

Mobile Labs Plugin for IBM Urban Code Deploy

Mobile Labs Plugin for IBM Urban Code Deploy Mobile Labs Plugin for IBM Urban Code Deploy Thank you for deciding to use the Mobile Labs plugin to IBM Urban Code Deploy. With the plugin, you will be able to automate the processes of installing or

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

RecoveryVault Express Client User Manual

RecoveryVault Express Client User Manual For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by

More information

Tutorial on Basic Android Setup

Tutorial on Basic Android Setup Tutorial on Basic Android Setup EE368/CS232 Digital Image Processing, Spring 2015 Windows Version Introduction In this tutorial, we will learn how to set up the Android software development environment

More information

Icons: 1024x1024, 512x512, 180x180, 120x120, 114x114, 80x80, 60x60, 58x58, 57x57, 40x40, 29x29

Icons: 1024x1024, 512x512, 180x180, 120x120, 114x114, 80x80, 60x60, 58x58, 57x57, 40x40, 29x29 I. Before Publishing 1. System requirements Requirements for ios App publishing using FlyingCatBuilder Mac running OS X version 10.9.4 or later Apple Development Account Enrollment in ios Developer Program

More information

Witango Application Server 6. Installation Guide for OS X

Witango Application Server 6. Installation Guide for OS X Witango Application Server 6 Installation Guide for OS X January 2011 Tronics Software LLC 503 Mountain Ave. Gillette, NJ 07933 USA Telephone: (570) 647 4370 Email: support@witango.com Web: www.witango.com

More information

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

The Eclipse Classic version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended. Installing the SDK This page describes how to install the Android SDK and set up your development environment for the first time. If you encounter any problems during installation, see the Troubleshooting

More information

AMC + configuración clientes. Neris/A400

AMC + configuración clientes. Neris/A400 AMC + configuración clientes Neris/A400 Aastra - 2010 Requisitos Para la instalación será necesario tener en cuenta lo siguiente: Licencias Usuario SIP: por cada cliente AMC+. Trunking SIP: recomendable

More information

Kaspersky Password Manager

Kaspersky Password Manager Kaspersky Password Manager User Guide Dear User, Thank you for choosing our product. We hope that you will find this documentation useful and that it will provide answers to most questions that may arise.

More information

Using the Push Notifications Extension Part 1: Certificates and Setup

Using the Push Notifications Extension Part 1: Certificates and Setup // tutorial Using the Push Notifications Extension Part 1: Certificates and Setup Version 1.0 This tutorial is the second part of our tutorials covering setting up and running the Push Notifications Native

More information

Online Backup Client User Manual

Online Backup Client User Manual For Mac OS X Software version 4.1.7 Version 2.2 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by other means.

More information

Colligo Briefcase Enterprise. Administrator s Guide

Colligo Briefcase Enterprise. Administrator s Guide Enterprise Administrator s Guide CONTENTS Introduction... 2 Target Audience... 2 Overview... 2 Key Features... 2 Platforms Supported... 2 SharePoint Security & Privileges... 2 Deploying Colligo Briefcase...

More information

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Reminders. Lab opens from today. Many students want to use the extra I/O pins on Reminders Lab opens from today Wednesday 4:00-5:30pm, Friday 1:00-2:30pm Location: MK228 Each student checks out one sensor mote for your Lab 1 The TA will be there to help your lab work Many students

More information

MEGA Web Application Architecture Overview MEGA 2009 SP4

MEGA Web Application Architecture Overview MEGA 2009 SP4 Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.

More information

Spectrum Spatial Analyst Version 4.0. Installation Guide for Linux. Contents:

Spectrum Spatial Analyst Version 4.0. Installation Guide for Linux. Contents: Spectrum Spatial Analyst Version 4.0 Installation Guide for Linux This guide explains how to install the Spectrum Spatial Analyst on a Unix server (Ubuntu). The topics covered in this guide are: Contents:

More information

Android Application Repackaging

Android Application Repackaging ISA 564, Laboratory 4 Android Exploitation Software Requirements: 1. Android Studio http://developer.android.com/sdk/index.html 2. Java JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html

More information