Packaging an Android app

In this course, lynda.com author David Gassner shows you how to prepare, package, and publish your Android app on Google Play, and provides a brief overview of the alternatives offered by Amazon and Barnes & Noble. Watch the online video course: Distributing Android Apps

Topics include:

  • Packaging an Android app
  • Distributing through Google vs. Amazon vs. Barnes & Noble
  • Exporting the APK file
  • Testing the app
  • Shrinking and protecting an app with ProGuard
  • Creating and uploading screenshots to Google Play
  • Adding in-app products
  • Tracking app usage and revenue

Android Apps

Android

Android 4.4.2 home screen

Android has a growing selection of third party applications, which can be acquired by users either through an app store such as Google Play or the Amazon Appstore, or by downloading and installing the application’s APK file from a third-party site. The Play Store application allows users to browse, download and update apps published by Google and third-party developers, and is pre-installed on devices that comply with Google’s compatibility requirements. The app filters the list of available applications to those that are compatible with the user’s device, and developers may restrict their applications to particular carriers or countries for business reasons. Purchases of unwanted applications can be refunded within 15 minutes of the time of download, and some carriers offer direct carrier billing for Google Play application purchases, where the cost of the application is added to the user’s monthly bill.

As of July 2013, there are more than one million applications available for Android in the Play Store. As of May 2013, 48 billion apps have been installed from the Google Play store.

Applications (“apps”), that extend the functionality of devices, are developed primarily in the Java programming language language using the Android software development kit (SDK). The SDK includes a comprehensive set of development tools, including a debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials. The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin. 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.

It was announced in January 2014 that Chrome HTML5 web applications should become available, using a compatibility layer from the open source Apache Cordova framework to allow such applications to be wrapped in a native application shell, enabling their distribution over Google Play.

In order to work around limitations on reaching Google services due to Internet censorship in the People’s Republic of China, Android devices sold in the PRC are generally customized to use state approved services instead.


Learn to Build a Simple Android App Interactive Video Learning Path

from: Treehouse

Website:
Build My Site

AngularJS Tutorial: Filtering Output

AngularJS provides filters for formatting raw data prior to output without changing variables. Find out how to set up and work with filtering in this tutorial. Watch more at: Up and Running with AngularJS.

This tutorial is a single movie from the Up and Running with AngularJS course presented by lynda.com author Joseph LeBlanc. The complete course is 1 hour and 9 minutes and it shows how to extend HTML through the rich JavaScript framework AngularJS.

Introduction
1. Configuring a New Angular Project
2. Templates
3. Application Structure
4. Server-Side Integration

Filtering (software)

In shells on Unix-like operating systems and in the modern Windows shell, such a filter usually gets most of its data from standard input (the main input stream) and writes its main results to standard output (the main output stream). The command syntax for getting data from a device or file other than standard input is the input operator (“<"). Similarly, to send data to a device or file other than standard output is the output operator (">“). To append data lines to an existing output file, one can use the append operator (“>>”). Filters may be strung together into a pipeline with the pipe operator (“|”). This operator signifies that the main output of the command to the left is passed as main input to the command on the right.

Pipelines in command line interfaces

All widely used Unix and Windows shells have a special syntax construct for the creation of pipelines. In all usage one writes the filter commands in sequence, separated by the ASCII vertical bar character “|” (which, for this reason, is often called “pipe character”). The shell starts the processes and arranges for the necessary connections between their standard streams (including some amount of buffer storage).

AngularJS filtering

Filter code lives in the app/js/filters.js file


Notable Angular directives

AngularJS directives allow the developer to specify custom and reusable HTML tags that moderate the behavior of certain elements.
ng-app
Declares an element as a root element of the application allowing behavior to be modified through custom HTML tags.
ng-bind
Automatically changes the text of a HTML element to the value of a given expression.
ng-model
Similar to ng-bind, but allows two-way data binding between the view and the scope.
ng-class
Allows class attributes to be dynamically loaded.
ng-controller
Specifies a JavaScript controller class that evaluates HTML expressions.
ng-repeat
Instantiate an element once per item from a collection.
ng-show & ng-hide
Conditionally show or hide an element, depending on the value of a boolean expression.
ng-switch
Conditionally instantiate one template from a set of choices, depending on the value of a selection expression.
ng-view
The base directive responsible for handling routes that resolve JSON before rendering templates driven by specified controllers.
ng-if
Basic if statement directive which allow to show the following element if the conditions are true.

See Some Related Resources:

Using AngularJS at Localytics
Introduction to Web Applications Development
AngularJS at Google+
Batarang Chrome plugin

Website:
Build My Site

CSS Position: fixed-sticky | Flexbox | Google Web Designer

You can find more learning videos similar to this one at: teamtreehouse.com – In this episode of The Treehouse Show, Nick Pettit (@nickrp) and Jason Seifer (@jseifer) talk about CSS Position: fixed-sticky, Flexbox, Google Web Designer and more.

CSS 4

There is no single, integrated CSS4 specification, since it is split into separate modules. However, there are “level 4″ modules.

Since CSS3 split the CSS language’s definition into modules, the modules have been allowed to level independently. Most modules are level 3 – they build on things from CSS 2.1. A few level 4 modules exist (such as Image Values, Backgrounds & Borders, or Selectors), which build on the functionality of a preceding level 3 module. Others define entirely new functionality, such as Flexbox.

So, while there is no monolithic “CSS4″ that will be worked on after “CSS3″ is finished completely, the level 4 modules can collectively be referred to as “CSS4″.

Polyfill

flexbox

Usage share of web browsers according to StatCounter.

In web development, a polyfill (or polyfiller) is downloadable code which provides facilities that are not built into a web browser. For example, many features of HTML5 are not supported by versions of Internet Explorer older than version 8 or 9, but can be used by web pages if those pages install a polyfill. Web shims like HTML5 Shiv are a related concept.

Polyfills can also be used to add entirely new functionality to browsers. For instance, BrowserID relies on a Javascript API which (as of mid-2012) is not supported in any browser and must be provided via a polyfill.

Google Web Designer

Google Web Designer is a program for Windows and Mac from Google for creating interactive HTML5 sites and ads for any device. It offers a GUI with common design tools, such as Text Tool, Shapes and Pen Tool, as well as integrating Google Web Fonts. The advertising feature set is more complete with components to add Google Maps, YouTube videos and more, as well as automatically including the tracking code events for DoubleClick and AdMob. Version 1 was released by Google on September 30, 2013.

Here are the links from the video:
filamentgroup/fixed-sticky · GitHub
filamentgroup/fixed-sticky

elclanrs/jq-idealforms · GitHub
elclanrs/jq-idealforms

Focus transition

wilsonpage/fastdom · GitHub
fastdom

Solved By Flexbox — Cleaner, hack-free CSS
Solved By Flexbox

Top Drawer – A smooth dropdown menu for responsive web design | Experiment #5
Top Drawer

Google Web Designer

Treehouse New Job Board Feature For Members Only! Unlock your full potential!

Website:
Build My Site

HTML5 Video Tutorial: Creating a WebM Video

WebM is a high-quality open-source video format. In this tutorial, learn how to create a WebM video and work with the free Miro video encoder. Watch more at: Up and Running with HTML5 Video.

This tutorial is a single movie from the Up and Running with HTML5 Video course presented by lynda.com author Tom Green. The complete course is 1 hour and 50 minutes and takes you through the history of video on the web, while showing you how to move forward with HTML5.

Introduction
1. How We Got into This Mess
2. HTML5 Video Primer
3. Showtime: Playing a Video Stream
4. There Are Alternatives

WebM

WebMWebM is an audio-video format designed to provide royalty-free, open video compression for use with HTML5 video. The project’s development is sponsored by Google Inc.

A WebM file consists of VP8 video and Vorbis audio streams, in a container based on a profile of Matroska. The project releases WebM-related software under a BSD license and all users are granted a worldwide, non-exclusive, no-charge, royalty-free patent license.

WebM will soon be updated to accommodate the VP9 video codec and the Opus audio codec, according to Google.

Services

YouTube offers WebM videos as part of its HTML5 player experiment. All uploaded files are encoded into WebM in 360p, 480p, 720p and 1080p resolutions. YouTube has committed to encode its entire portfolio of videos to WebM. The YouTube app for the Nintendo Wii uses WebM for streaming videos or H.263 as a fall-back option.
Wikimedia uses WebM for the HTML5 player.

Sorenson Media’s online encoding platform now supports VP8 and WebM.
Skype has implemented the VP8 codec into the Skype 5.0 software.
Logitech is planning to use WebM as part of a video calling service.
Nvidia announced 3D video support for WebM through HTML5 and their NVIDIA 3D Vision technology.

Miro (software)

Miro WebM

Miro 3.5 under Ubuntu, showing the Miro guide in the main window while playing a podcast.

Miro (formerly named Democracy Player or DTV) is an audio, video player and Internet television application developed by the Participatory Culture Foundation. It runs on Microsoft Windows, Mac OS X, FreeBSD and GNU/Linux and supports most known video file formats. It offers both audio and video, some in HD quality.

Miro is free software, released under the terms of the GNU General Public License.

Features

Miro can automatically download videos from RSS-based “channels”, manage them and play them. The application is designed to mesh with other Participatory Culture Foundation (PCF) products such as Video Bomb, a social tagging video website, and the Channel, a TV guide for Internet television.

Miro integrates an RSS news aggregator and podcatcher, a BitTorrent client (based on libtorrent), and a media player (VLC media player under Windows, QuickTime under Mac OS X, and xine media player or GStreamer under GNU/Linux and FreeBSD). Since 2.0, Miro supports the adding of website bookmarks under the “Sites” category; by default, ClearBits.net is preloaded in Miro as a bookmark.

Examples of supported video files are QuickTime, Windows Media Video (WMV), MPEG, Audio Video Interleave (AVI), XVID as a video player. It also supports RSS BitTorrent. When a new video is available, the program will notify and download if possible.

The Miro Video Converter converts video formats. It is based on FFmpeg with profiles for the Theora (.ogv), .mp4, and WebM video formats supported by various devices.

Reception

A link to download Miro and Mozilla Firefox appeared on the front page of The Pirate Bay in July 2009 underneath a notice “We love free software.”

Miro received a favorable review from Josh Quittner who wrote “I have seen the future of television and it’s an application called Miro.” In May 2011, Seth Rosenblatt of CNET wrote, “Providing one-stop shopping for all your video and audio management desires, open-source and cross-platform Miro deserves much of the praise that’s been heaped upon it.” The Softonic review gave the software a score of 9/10, and described the software as “a perfect example of how video content from different sources can be integrated into one single application and served directly to your PC in a fast, easy and elegant way.”

Here is a link from the video:
Firefog a Firefox plugin.

See Related Items:

Website:
Build My Site

App Store Screenshots, Regular Expressions, Programming Fonts

In this episode of The Treehouse Show, Nick Pettit (@nickrp) and Jason Seifer (@jseifer) talk about the latest in web design, web development, HTML5, front end development, and more. You can find more learning videos similar to this one at: Team Treehouse.

Graphics Interchange Format (GIF) Pronunciation

According to Steve Wilhite, the creator of the GIF format, the intended pronunciation deliberately echoes the American peanut butter brand, Jif, and CompuServe employees would often say “Choosy developers choose GIF”, spoofing this brand’s television commercials. As of 2013, Wilhite remains annoyed that there is debate over the pronunciation.

Usage

  • GIFs are suitable for sharp-edged line art (such as logos) with a limited number of colors. This takes advantage of the format’s lossless compression, which favors flat areas of uniform color with well defined edges.
  • GIFs can be used to store low-color sprite data for games.
  • GIFs can be used for small animations and low-resolution film clips.
  • Since a single GIF image palette is limited to 256 colors, it is not usually used as a format for digital photography. Digital photographers use image file formats capable of reproducing a greater range of colors, such as TIFF, RAW or JPEG.

AngularJS

AngularJS programmingAngularJS is an open-source JavaScript framework, maintained by Google, that assists with running single-page applications. Its goal is to augment browser-based applications with model–view–controller (MVC) capability, in an effort to make both development and testing easier.

The library reads in HTML that contains additional custom tag attributes; it then obeys the directives in those custom attributes, and binds input or output parts of the page to a model represented by standard JavaScript variables. The values of those JavaScript variables can be manually set, or retrieved from static or dynamic JSON resources.

Two-way data binding

AngularJS’ two-way data binding is its most notable feature and reduces the amount of code written by relieving the server backend from templating responsibilities. Instead, templates are rendered in plain HTML according to data contained in a scope defined in the model. The $scope service in Angular detects changes to the model section and modifies HTML expressions in the view via a controller. Likewise, any alterations to the view are reflected in the model. This circumvents the need to actively manipulate the DOM and encourages bootstrapping and rapid prototyping of web applications. Some commentators say the AngularJS approach to data binding is much more straightforward than using either Ember.js or Backbone.

Chrome plugin

In July 2012, the Angular team built a plugin for the Google Chrome browser called Batarang, that improves the debugging experience for web applications built with Angular. The extension allows for easy detection of performance bottlenecks and offers a GUI for debugging applications.

Comparisons to Backbone.js

Data-binding
The most prominent feature that separates the two libraries is in the way models and views are synchronized. Whereas AngularJS supports two way data-binding, Backbone.js relies heavily on boilerplate code to harmonize its models and views.

REST
Backbone.js communicates well with RESTful backend. A very simple use of REST APIs is also available with AngularJS using the $resource service. AngularJS also provide a $http service which is more flexible, connecting to remote servers either through a browser’s XMLHttpRequest object or via JSONP.

Templating
AngularJS templating uses a combination of customizable HTML tags and expressions. Backbone.js uses different templating engines such as Underscore.js.

Here are some resources from the video:

Designing App Store “screenshots” by Travis Jeffery of 37signals
Designing App Store “screenshots”

Debuggex: The online visual regex tester. Supports JavaScript and PCRE.
Debuggex

Forecast Font

JavascriptOO.com

Style Guide Boilerplate

AngularJS: an Overview – Glenn Stovall

CSS filters, GIFs, and performance – What I Learned Building

Slant – What are the best programming fonts?

Website:
Build My Site

An Introduction to WebGL

This overview shows what WebGL (Web Graphics Library) is, and how it can render 3D graphics within any web browser. Watch more at: HTML5 for Flash Developers.

This specific tutorial is a single movie from chapter seven of the HTML5 for Flash Developers course presented by lynda.com author Lee Brimelow. The complete HTML5 for Flash Developers course has a total duration of 3 hours and 16 minutes, and shows Flash developers how to create dynamic content in the browser using HTML5, CSS, and other related technologies

HTML5 for Flash Developers table of contents:

Introduction
1. Overview of HTML5
2. Transitioning from ActionScript to JavaScript
3. The Canvas Element
4. DOM Animation
5. Using CSS3
6. Incorporating Audio and Video
7. Incorporating 3D with WebGL
8. Useful Tools and Frameworks

WebGL

WebGL

Screenshot from a WebGL-based application running in Google Chrome

WebGL (Web Graphics Library) is a JavaScript API for rendering interactive 3D graphics and 2D graphics within any compatible web browser without the use of plug-ins. WebGL is integrated completely into all the web standards of the browser allowing GPU accelerated usage of physics and image processing and effects as part of the web page canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background. WebGL programs consist of control code written in JavaScript and shader code that is executed on a computer’s Graphics Processing Unit (GPU). WebGL is designed and maintained by the non-profit Khronos Group.

Desktop Browsers

  • Mozilla Firefox – WebGL has been enabled on all platforms that have a capable graphics card with updated drivers since version 4.0. Mozilla Firefox 8.0 and newer versions use Cross-origin resource sharing (CORS) to control all WebGL cross-domain textures.
  • Google Chrome – WebGL has been enabled on all platforms that have a capable graphics card with updated drivers since version 9. Google Chrome 13.0 and newer versions use Cross-origin resource sharing (CORS) to control all WebGL cross-domain textures.
  • Safari – Safari 6.0 and newer versions installed on OS X Mountain Lion, Mac OS X Lion and Safari 5.1 on Mac OS X Snow Leopard implemented support for WebGL, which is disabled by default.
  • Opera – WebGL has been implemented in Opera 11 and 12, although disabled by default.
  • Internet Explorer – As of version 10, there is no built-in support for WebGL, and Microsoft has not announced any plans for implementing it in the future, but leaked builds of IE11 in Windows Blue have support for WebGL. WebGL support can be manually added to Internet Explorer using third-party plugins such as IEWebGL. (Why is there always a problem with IE?)

Content creation

WebGL scenes can be created without programming using a content creation tool such as Blender or Autodesk Maya. The scenes are then exported to WebGL. This was first possible with Inka3D, a WebGL export plugin for Maya. There are also services to publish interactive 3D content online using WebGL such as p3d.in and Sketchfab. Some game and simulation authoring tools combine model creation, scene creation and programming. AgentCubes is a 3D game design authoring tool aimed at end users with no modeling and programming background. It combines model creation and drag and drop programming to create WebGL based games.

Embedded WEBGL

As WEBGL is mainly designed to run at the client side with the heavy rendering operations done by the users computer GPU, it can be relatively easily embedded into for example a PIC microcontroller, or any other with the TCP/IP stack implementation, so that the microcontroller will act as a web server and all other tasks will be done on the client side, which could be potentially used to develop embedded monitor and control systems for a variety of applications and many other purposes.

Some links from the video:

Chrome Experiments – “Traveling-Wavefronts”
Chrome Experiments – “Cell-Cycles”

Website:
Build My Site

Performance Evaluation with Chrome DevTools

Paul Irish

Paul Irish is an American front-end web developer, and developer advocate for Google Chrome. He is also recognized as an expert in cutting edge Web Technologies like HTML5 and CSS3. Visit Paul’s site for more information: Why Moving Elements With Translate() Is Better Than Pos:abs Top/left

Front-end development

Irish has created, contributed to, or led the development of many popular front-end web development reference resources and libraries:

  • Front-end Code Standards: A list of best practices for front-end developers.
  • RoboHornet: A benchmarking tool for web browsers.
  • Bower: A package manager for web developers.
  • Modernizr: A feature detection library for HTML5 and CSS3 features.
  • Yeoman: A suite of tools for a web development workflow.
  • HTML5 Boilerplate: A template for HTML5 and CSS3 front-end development.
  • jQuery: A JavaScript library that abstracts DOM manipulation and traversal, animation, event handling, and other common JavaScript tasks.

Google Chrome Features

ChromeGoogle Chrome aims to be secure, fast, simple and stable. There are extensive differences from its peers in Chrome’s minimalistic user interface, which is atypical of modern web browsers. For example, Chrome does not render RSS feeds. One of Chrome’s strengths is its application performance and JavaScript processing speed, both of which were independently verified by multiple websites to be the swiftest among the major browsers of its time. Many of Chrome’s unique features had been previously announced by other browser developers, but Google was the first to implement and publicly release them. For example, a prominent graphical user interface (GUI) innovation, the merging of the address bar and search bar (the Omnibox), was first announced by Mozilla in May 2008 as a planned feature for Firefox. Both Internet Explorer 9 and Safari (version 6) have since merged the search and address bar.

Chrome Web Store

Announced on December 7, 2010, the Chrome Web Store allows users to install web applications as extensions to the browser, although most of these function simply as links to popular web pages and/or games, but some of the apps like Springpad do provide extra features like offline access. The themes and extensions have also been tightly integrated into the new store, allowing users to search the entire catalog of Chrome extras.

The Chrome Web Store was opened on February 11, 2011 with the release of Google Chrome 9.0.

Chrome’s design bridges the gap between desktop and so-called “cloud computing.” At the touch of a button, Chrome lets you make a desktop, Start menu, or QuickLaunch shortcut to any Web page or Web application, blurring the line between what’s online and what’s inside your PC. For example, I created a desktop shortcut for Google Maps. When you create a shortcut for a Web application, Chrome strips away all of the toolbars and tabs from the window, leaving you with something that feels much more like a desktop application than like a Web application or page.
—PC World

See Related Items:

Website:
Build My Site

How to Create a Toggle Button With jQuery

This specific tutorial is from the series View Source presented by lynda.com author Ray Villalobos. The complete View Source series offers 10-minute intermediate and advanced web design projects covering HTML, CSS, social media, and content management solutions. This jQuery tutorial describes how to create Toggle buttons to hide or reveal type, or switch a control on and off. Watch more at: View Source.

jQuery

Features

  • DOM element selections using the multi-browser open source selector engine Sizzle, a spin-off of the jQuery project
  • DOM traversal and modification (including support for CSS 1–3)
  • DOM manipulation based on CSS selectors that uses node elements name and node elements attributes (id and class) as criteria to build selectors
  • Events
  • Effects and animations
  • AJAX
  • Extensibility through plug-ins
  • Utilities – such as user agent information, feature detection
  • Compatibility methods that are natively available in modern browsers but need fall backs for older ones – For example the inArray() and each() functions.
  • Multi-browser (not to be confused with cross-browser) support.

Including the library

The jQuery library is a single JavaScript file, containing all of its common DOM, event, effects, and Ajax functions. It can be included within a web page by linking to a local copy, or to one of the many copies available from public servers. jQuery has a CDN sponsored by Media Temple (previously at Amazon). Google and Microsoft host it as well.

<script type="text/javascript" src="jquery.js"></script>

It is also possible to include jQuery directly from content delivery networks.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

Content Delivery Network (CDN)

A content delivery network or content distribution network (CDN) is a large distributed system of servers deployed in multiple data centers across the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics, URLs and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks.

A CDN operator gets paid by content providers such as media companies and e-commerce vendors for delivering their content to their audience of end-users. In turn, a CDN pays ISPs, carriers, and network operators for hosting its servers in their data centers. Besides better performance and availability, CDNs also offload the traffic served directly from the content provider’s origin infrastructure, resulting in cost savings for the content provider. In addition, CDNs provide the content provider a degree of protection from DoS attacks by using their large distributed server infrastructure to absorb the attack traffic. While most early CDNs served content using dedicated servers owned and operated by the CDN, there is a recent trend to use a hybrid model that uses P2P technology. In the hybrid model, content is served using both dedicated servers and other peer-user-owned computers as applicable.

See Related Items:

Website:
Build My Site

iOS SDK Tutorial: Understanding SQLite in iOS

This iOS SDK tutorial explores the lightweight and self-contained database SQLite, which is ideal for iOS app development. Watch more at: iOS SDK and SQLite: Building Data-Driven Apps.

This tutorial is a single movie from the iOS SDK and SQLite: Building Data-Driven Apps course presented by lynda.com author Bill Weinman. The complete course duration is 3 hours and 45 minutes long and teaches you how to build a data-driven app for iOS devices, integrating XML data and a streamlined interface.

Introduction
1. An iOS Testbed
2. Building a Database Library
3. Creating the Tableview App
4. Parsing XML Data
5. Using a Modal View
6. The Web View Controller
7. Creating a Preferences Pane
8. Adding a Feature
9. Creating a Universal Application

SQLiteSQLite is a relational database management system contained in a small (350 KB) C programming library. In contrast to other database management systems, SQLite is not a separate process that is accessed from the client application, but an integral part of it.

SQLite is ACID-compliant and implements most of the SQL standard, using a dynamically and weakly typed SQL syntax that does not guarantee the domain integrity.

SQLite is a popular choice as embedded database for local/client storage in application software such as web browsers. It is arguably the most widely deployed database engine, as it is used today by several widespread browsers, operating systems, and embedded systems, among others. SQLite has many bindings to programming languages.

The source code for SQLite is in the public domain.

Design

Unlike client–server database management systems, the SQLite engine has no standalone processes with which the application program communicates. Instead, the SQLite library is linked in and thus becomes an integral part of the application program. (In this, SQLite follows the precedent of Informix SE of c. 1984) The library can also be called dynamically. The application program uses SQLite’s functionality through simple function calls, which reduce latency in database access: function calls within a single process are more efficient than inter-process communication. SQLite stores the entire database (definitions, tables, indices, and the data itself) as a single cross-platform file on a host machine. It implements this simple design by locking the entire database file during writing. SQLite read operations can be multitasked, though writes can only be performed sequentially.

Web browsers

  • Mozilla Firefox and Mozilla Thunderbird store a variety of configuration data (bookmarks, cookies, contacts etc.) in internally managed SQLite databases, and even offer an add-on to manage SQLite databases.
  • Google’s Chrome browser
  • The Opera Internet suite and browser uses SQLite 3.7.9 for managing WebSQL databases. This is noted in opera:about, although without the mention of WebSQL (databases can be managed through opera:webdatabases).
  • Embedding SQLite in web browsers has resulted in adding SQLite to the HTML5 Web Storage standard and after discussion inside the W3C Web Applications Working Group the WebSimpleDB API proposal was developed.

Operating systems

Because of its small size, SQLite is well suited to embedded systems, and is also included in:

However, it is also suitable for desktop operating systems; Apple adopted it as an option in OS X’s Core Data API from the original implementation in Mac OS X 10.4 onwards, and also for administration of videos and songs on the iPhone.

See Related Items:

Website:
Build My Site

PhoneGap Tutorial: Using the Geolocation API

Watch more at: Up and Running with PhoneGap. This tutorial explains how to display location information in a mobile application using the Geolocation API.

This tutorial is a single movie from the Up and Running with PhoneGap course presented by lynda.com author Ryan Stewart. The complete course duration is 1 hour and 56 minutes long and shows how to build and package native device applications using PhoneGap and web technologies such as HTML, CSS, and JavaScript.

Introduction
1. Overview of a Mobile Web Application
2. Overview of PhoneGap
3. Setting Up Your Development Environment
4. Creating an Application
5. Compiling a PhoneGap Application
6. Extending PhoneGap
7. Testing and Debugging an Application

PhoneGap

phonegapPhoneGap is a mobile development framework produced by Nitobi, purchased by Adobe Systems. PhoneGap, is an open-source framework for building mobile applications. It enables software programmers to build applications for mobile devices using JavaScript, HTML5 and CSS3, instead of device-specific languages such as Objective-C. The resulting applications are hybrid, meaning that they are neither truly native (because all layout rendering is done via web views instead of the platform’s native UI framework) nor purely web-based (because they are not just web apps, but are packaged as apps for distribution and have access to native device APIs). From 1.9 version onward it is even possible to freely mix native and hybrid code snippets. As a web developer, you have full access to what the device can do.

History

First developed at an iPhoneDevCamp event in San Francisco, PhoneGap went on to win the People’s Choice Award at O’Reilly Media‘s 2009 Web 2.0 Conference and the framework has been used to develop many apps. Apple Inc. has confirmed that the framework has its approval, even with the new 4.0 developer license agreement changes. The PhoneGap framework is used by several mobile application platforms such as ViziApps, Worklight, Convertigo and appMobi as the backbone of their mobile client development engine. Adobe officially announced the acquisition of Nitobi Software (the original developer) on October 4, 2011. Coincident with that, the PhoneGap code was contributed to the Apache Software Foundation to start a new project called Apache Cordova. The project original name, Apache Callback, was viewed as too generic. Then it also appears in Adobe Systems as Adobe PhoneGap and also as Adobe Phonegap Build (now out of beta).

Early versions of PhoneGap required a person making iOS apps to have an Apple computer, and a person making Windows Mobile apps to have a computer running Windows. After September 2012, the “PhoneGap Build” service allows a programmer to upload his source code to a “cloud compiler” that generates apps for every supported platform.

W3C Geolocation API

The W3C Geolocation API is an effort by the World Wide Web Consortium (W3C) to standardize an interface to retrieve the geographical location information for a client-side device. It defines a set of objects, ECMAScript standard compliant, that executing in the client application give the client’s device location through the consulting of Location Information Servers, which are transparent for the application programming interface (API). The most common sources of location information are IP address, Wi-Fi and Bluetooth MAC address, radio-frequency identification (RFID), Wi-Fi connection location, or device Global Positioning System (GPS) and GSM/CDMA cell IDs. The location is returned with a given accuracy depending on the best location information source available.

See Related Topics:

Website:
Build My Site