UI Frameworks for building mobile web apps
Challenges in building Android web app
HTML5 storage APIs
Location based Mobile Mapping
It is now within the reach with new web technologies (HTML5 are combined with CSS3 and JavaScript) to develop web applications for Android and other mobile devices.
Android was built from the ground-up to enable developers to create compelling mobile applications that take full advantage of all a handset has to offer Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual machine that was designed to optimize memory and hardware resources in a mobile environment.
Android is open source; it can be liberally extended to incorporate new cutting edge technologies as they emerge. The platform will continue to evolve as the developer community works together to build innovative mobile applications. Android provides access to a wide range of useful libraries and tools that can be used to build rich applications. Android includes a full set of tools that have been built from the ground up alongside the platform providing developers with high productivity and deep insight into their applications.
Why to have web app on the Android platform?
Applications are usually developed in the Java language using the Android Software Development Kit, but other development tools are available, including a Native Development Kit for applications or extensions in C or C++, Google App Inventor, a visual environment for novice programmers and various cross platform mobile web applications frameworks.
There are essentially two ways to deliver an application on Android: as a client-side application (developed using the Android SDK and installed on user devices as an .apk) or as a web application (developed using web standards and accessed through a web browser—there’s nothing to install on user devices). A decision to develop a web application for Android can exclude consideration for screen support, because it’s already easy to make your web pages look good on all types of screens powered by Android.
UI frameworks for building mobile web apps
Frameworks and libraries help the web development process or a web developer to focus on creating rather than creating the stuff.
The frameworks for building mobile web apps are:
– DHTMLX Touch – HTML5 JavaScript Framework for Mobile: This is an HTML5 framework which uses JavaScript for mobile and touch devices. This HTML5-based JavaScript library lets you build cross-platform web applications for mobile and touch-screen devices.
– Behat – BDD Framework for PHP: Unlike any other php testing framework that tests applications inside out. Behat is testing applications outside in. It means, that Behat works only with your application’s input/output.
– Initializr – HTML5 Templates Generator: An HTML5 templates generator that helps you get started with your HTML5 project. It does that by generating a clean customizable template with just what your project needs.
– PUF PHP Utility Framework: A comprehensive collection of useful and popular PHP utility functions created to save time for developers that regularly use those functions when building web applications.
– Sprout Core – An HTML5 Application Framework: An HTML5 application framework which lets you simply creates desktop-level applications for modern web browsers.
– MOBI- Open SourceHTML5 Based Language: An open-source HTML5-based language designed to speed up your building of mobile web applications.
– GURY- HTML5 canvas Utility Library: Gury is a JavaScript library designed to help in the creation of HTML5 and Canvas applications. You can create a canvas tag, resize and style it, add renderable objects, animate those objects, and place it anywhere on the page in a single chained expression.
– JQuery Form Framework: jFormer is a form framework written on top of jQuery that allows you to quickly generate beautiful, standards compliant forms.
– Galleria-JavaScript Image Gallery Framework: Galleria is a JavaScript image gallery framework, built upon jQuery, which simplifies the process of creating professional image galleries for websites and web/mobile apps.
Challenges in building Android web app:
The success of Android as an open platform in the past couple of years is made evident by the huge volume and diversity of devices offered by manufacturers. In this highly competitive market, device manufacturers strive to differentiate themselves via innovation over the existing platform. Some of the challenges are:
1. Mobile Hardware and Software Diversity: The diversity that now exists between software and hardware platforms for mobile devices is undeniable. Choosing a specific platform will limit the developer to the capabilities and features of this platform. Even within one platform, there could be several different versions that can make applications behave differently from one device to another.
2. Mobile OS Frequent Updates and Releases: A challenge that may arise during mobile development is the ability of the application developed to be altered to match updates. Mobile platforms are very frequently updated and new versions come out quite often. Developed applications must be easily upgraded to fit the requirements and adapt to the changes of newer and better software versions.
3. Power, Processing and Storage Management: Another significant challenge that comes with mobile without the need to look at the phone. When a message is received, the system informs the user through speech synthesis that he/she has received a new message from certain contact. The system then asks the user if he/she would like to hear the message. The system will then start the speech recognition and wait for the user to respond. Go to Top
Building a Mobile HTML Entry Form:
Forms are upgraded in HTML5 to make your life easier. They don’t necessarily do anything that I’d consider mind-blowing or even web-changing, but they make a lot of our current hacks easier. To start we’re only going to track the first two holes. Each of these holes is Par 4’s, which we expect each golfer to be able to make. We’ll also ask for an email address.
HTML5 Storage APIs:
HTML5 uses three kinds of storages:
- Web storage: For basic local storage with key/value pairs. The most basic implementation of storing data locally on the user’s machine is with the web storage API. This API uses key/value pairs to allow developers to store basic information and variables that can be accessed by the web application.
- Offline storage: Uses a manifest to cache entire files for offline used. Sometimes simply storing a bit of data on the user’s machine won’t be enough. In many cases, the entire application may have to work offline, not just store some data. For that use case, HTML5 includes the ability to cache files and assets on the user’s machine that the browser can then access without an Internet connection.
- Web database: For relational database storage. The last type of storage that HTML5 introduced is the one that is most in flux currently. Originally there was a Web SQL specification that is no longer maintained. Now most of the energy has moved into working on an Indexed Database API and it looks like this will be the way to store information in a relational database going forward.
Constructing a Multipage App:
To show different “pages” or “screens”, use a View Stack-style control. A View Stack is similar to the common UI element Tab Panel Each View Stack page is loaded at start, so if you’re loading a lot of data, you’ll need to implement Lazy loading. You can also implement page-like behavior with states, but state changes primarily involve moving, hiding, and showing elements on screen, similar to DOM manipulation via JavaScript.
Synchronizing with the Cloud:
Companies no longer need to maintain large and expensive “parks” of servers 24 hours a day when there is another less expensive alternative: hiring such services through fully managed cloud hosting providers. Through virtualization, applications that previously ran on custom environments may be duplicated or “having created image” to run in the cloud server provider. Cloud computing, where mobile devices balance powerful servers, needs an operating system that makes the most of the system architects and developers can do on a small client computer. Android is the operating system.
Competing with Native Apps :
Native apps can be easily found in the relevant app stores and are normally developed individually or on a mobile platform. Mobile functionality can be split into two dimensions: the user experience, and the way it integrates into the device’s ecosystem. For Android or iOS, this includes features like widgets and push notifications. Native apps excel in both dimensions, with HTML5 approaching from a distance.
Exploring Interactivity :
With the use of android apps the interacting part of the customers with the android apps has increased. Android is a software platform that involves comprehensive Android application development. Android is comprised of operating system, middleware and other key applications. Android application development truly measures up to the expectation of funky modern urban citizen in a sense that its flexibility is enough to provide users wider scope of applications and services.
Location Based Services and Mobile Mapping :
The mobile web has really come of age in the last couple of years, thanks in large part to innovations ushered in by the iPhone and the iPod Touch, and more recently Android devices. With the help of android services we can easily find any location to where we want to go as most of the mobile apps are built on android platform. The unique combination of these location-aware devices and “mobile browser with touch” technologies has opened a wide range of possibilities for mobile applications.
Go To Top
Native Bridging with PhoneGap:
PhoneGap is a native bridging framework in the purest sense. It is an enabler for accessing the native capabilities of a multitude of devices using web technologies as much as possible. You can write web applications with hooks into the native capabilities of the device in your JavaScript code. Structure your application well and you should be able to support progressive enhancement using those additional native capabilities. Once you have done this, you should very easily be able to make your application available through both the device application stores and online at a url of your choosing.
The Future of Mobile Computing:
Android’s open nature makes it possible for hardware developers to use it for whatever new devices they can imagine. Its SDK makes it easy for application developers to create the applications users want and need. Both factors make Android a strong contender for the shape of the future of mobile computing.
Debugging Android Web Apps :
The Android SDK provides most of the tools that you need to debug your applications. You need a JDWP-compliant debugger if you want to be able to do things such as step through code, view variable values, and pause execution of an application. If you are using Eclipse, a JDWP-compliant debugger is already included and there is no setup required. If you are using another IDE, you can use the debugger that comes with it and attach the debugger to a special port so it can communicate with the application VMs on your devices.