cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Blog post feedback
Date Fri, 19 Jul 2013 17:00:09 GMT
Made some small changes (grammar, spelling, some rewording). Please just
diff to see the changes.

Some extra comments are inline IN ALL CAPS.

---
layout: post
author:
    name: Brian LeRoux
    url: https://twitter.com/brianleroux
title:  "Apache Cordova 3.0"
date:   2013-07-19 15:45:04 -5
categories: blog releases
published: false
tags: news releases MAJOR
---

# Cordova 3.0 Released

Snapshot available on our [download page](
https://www.apache.org/dist/cordova/), but before downloading please read
on to find out what's new!

## Light Weight Core

Cordova 3 introduces a new unified project structure and ships with a very
limited API surface. Developers can now compose a version of Cordova with
only the APIs they need. In the past, Cordova shipped with the entire
kitchen sink of APIs that most applications needed only a small subset of.
This led to messy (and often unnecessary) upgrading for our community. With
the release of Cordova 3 you start with a very light weight core and only
add the API surface your application requires. Obviously, this means a
performance improvement but the real win here is maintenance and upgrading.
We'll continue to maintain "core" APIs which are the same device APIs
you've come to know and love.

## New Command Line Tooling

We're very excited to share two new command line tools: Cordova and
Plugman. Both are implemented using `NodeJS` and thusly distributed via
`npm`. The `cordova` command line tool has been a long time coming. It
unifies all platforms into a single project, making it easy to maintain a
single codebase for multiple platforms. The `cordova` tool builds off of
our other new tool: `plugman`, which provides automated discovery,
installation, and removal of both core and custom plugins.

We've been testing for months but keep in mind both tools are new. Bugs
happen, so you if you find one or even just have an idea for a new feature
please visit our [issue tracker](http://issues.cordova.io).

## Installing > Downloading

First, [ensure you have NodeJS installed](http://nodejs.org) and then
simply run `npm install -g cordova`. From here its a typical command line
utility. Get started by building an iOS app!

```
$ cordova create MyFunkyApp
$ cd MyFunkyApp
$ cordova platform add ios
$ cordova emulate ios
```

Cordova has to download platform files the first time `create` is run, so
the first app you create might be a little slow. Just use the `-d` flag to
see progress. For example, `cordova -d platform add ios`. Maybe crack a
beer and chill while it goes about its business first run.

Now let's add Android, `cordova platform add android`. Yes: that easy!

# Installing Plugins

If you are working with a `cordova` generated project then you can install
using it. (Plugman is included in the Cordova install.)

```
$ cd MyFunkyApp
$ cordova plugin add
https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git
```
You now have geolocation enabled your project!

If you are working with a platform project directly (one created through a
Cordova platform's `bin/create` script instead of through the `cordova`
tool), then `plugman` can be used standalone. Again, [ensure you have
NodeJS installed](http://nodejs.org) and then simply run `npm install -g
plugman`.

```
$ cd MyAndroidProject
$ plugman --platform android --project . --plugin
https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git

```

SPEC WAS MOVED TO DOCS INSTEAD OF PLUGMAN REPO I THINK.
Of course, you can create your own plugins! (And we're really excited to
see what you do.) You can learn how to author a plugin by [reading the
spec](https://github.com/apache/cordova-plugman/blob/master/plugin_spec.md).
We are going to be writing much more documentation about this in the
future. In the meantime, you can learn a great deal by looking at the [core
plugins](https://git-wip-us.apache.org/repos/asf?s=cordova-plugin).

# Upgrading

LINK SHOULD BE TO 3.0 DOCS NOT 2.9
We have documented [upgrading guides](
http://cordova.apache.org/docs/en/2.9.0/guide_upgrading_index.md.html) to
help with the transition. Of course, do not hesitate to come for help in
#cordova irc channel on freenode, or just visit our [issue tracker](
http://issues.cordova.io).

# Known Issues

Remember *core plugins no longer exist by default in new projects* and you
have to manually add them using `plugman` or `cordova`. You know we release
regularly, so you can expect updates soon and we're going to leave a nice
big window for deprecations as usual.

FOUND A LEGIT USE CASE FOR MERGES, REMOVED IT FROM THIS LIST.
- Various native IDE's show generated files when using `cordova`-based
projects. Be careful not to edit them or else you may lose your work when
`cordova` is next run!
- Whitelist (<access> tags) format is inconsistent across platforms
- There is no "upgrade" command for `cordova` yet. You will need to remove
and re-add plugins/platforms for now.
- Not all platforms are supported by `cordova`. Only iOS, Android, BB10,
and Windows Phone 7/8.

# Huge Thanks

Thank you to all the committers, testers, developers, and friends of
Cordova who made this possible!

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message