cordova-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Grieve <agri...@chromium.org>
Subject Re: Blog post feedback
Date Fri, 19 Jul 2013 22:52:39 GMT
---
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
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 whats new including for more ways to work
with Cordova!

## Light Weight Core

JUST RAN SPELL CHECKER ON THIS PARAGRAPH

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 only
needed a small subset of. This lead to messy, and often not even
necessary, 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
SPELLING & GRAMMAR & EXPANDED A BIT

ORIG
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 structure which
enables us to extend with futher tooling around plugins. This is where
`plugman` fits in, allowing for automated discovery, installation, and
removal of core and custom plugins.

NEW

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 structure,
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.

RUN-ON SENTENCE. TWEAKED GRAMMAR

ORIG

We've been testing for months but keep in mind both tools are new, and
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).

NEW

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 comand
line utility. Get started by building an iOS app!

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

EXPANDED WHAT "lazy loads" MEANS:

ORIG
Cordova lazy loads so the first app you create might be a little slow.
Same with platform adds. Just use `-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.

EXPANDED:

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.

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

# Installing Plugins

If you are working with a `cordova` generated project, then you can
install plugins using the `cordova` tool as well: `plugman` is
included with `cordova`, and is used by `cordova` internally to manage
plugins.


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

CLARIFIED WHAT A "native project" IS:

ORIGINAL
If you are working with a native project directly then `plugman` can
be used standalone. Again, [ensure you have NodeJS
installed](http://nodejs.org) and then simply run `npm install -g
plugman`.

MY CLARIFICATION

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

```

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 plugin development
guide](http://cordova.apache.org/docs/en/3.0.0/guide_hybrid_plugins_index.md.html#Plugin%20Development%20Guide).
We are going to be writing much more documentation about this in the
future. In the meantime, you can learn a great deal looking at the
[core plugins](https://git-wip-us.apache.org/repos/asf?s=cordova-plugin).

# Upgrading

We have documented [upgrading
guides](http://cordova.apache.org/docs/en/3.0.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

ADDED "or `cordova`"
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.

- 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.
- a plugin discovery repository is still being baked and will be
available very soon

# 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