Skip to content

TypeScript layer for PhoneGap (Apache Cordova) version 3.4.0 and all core plugins

Notifications You must be signed in to change notification settings

dotnet-websharper/TypedPhoneGap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TypedPhoneGap

TypeScript layer for PhoneGap (Apache Cordova) version 3.4.0 and all core plugins

Quick links:

Motivation

TypeScript definitions allow editing code with some degree of type checking and code completion. It saves time and eliminates bugs.

It turns out that simple .d.ts is not enough, since Cordova API is weird. So TypedPhoneGap provides a little JavaScript layer as well. To see why it is worth it, consider for example how Cordova has you write (with inappbrowser plugin):

window.open('http://apache.org', '_blank', 'location=yes');    

Here, what should go into options string? You do not know without reading the docs.

TypedPhoneGap, on the other hand, makes everything pleasantly typed:

import IAB = TypedPhoneGap.InAppBrowser;
var iab = IAB.getPlugin();
iab.openWindow('http://apache.org', IAB.Target.blank, {
  location: true
});

You can examine Options interface to see what is available. Also, where possible, getPlugin functions do checks and fire informative exceptions when you forget to configure your application with a given plugin.

Status

Rewritten for version 3.4.0 and TypeScript 0.9.7. Currently testing, API subject to change.

Building

Build the project with npm. In the root folder, do:

npm install

This should obtain three files:

build/TypedPhoneGap.d.ts
build/TypedPhoneGap.js
build/TypedPhoneGap.min.js

Usage

In your application, reference the .d.ts for TypeScript development and include the .js or .min.js after cordova.js.

The project includes a command-line tool to help populate files in a project generated by the cordova tool. Synopsis:

cd myapp
npm install -g typedphonegap
typedphonegap install

This populates your project with:

www/js/TypedPhoneGap.js
www/js/TypedPhoneGap.min.js
www/typings/TypedPhoneGap.d.ts

License

All files are released under Apache 2.0 License.

Contributing

Contributions are welcome, especially for testing the code on real-world examples.

About

TypeScript layer for PhoneGap (Apache Cordova) version 3.4.0 and all core plugins

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published