incubator-callback-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Cordova Wiki] Update of "RoadmapProjects" by brianleroux
Date Tue, 24 Jul 2012 14:53:01 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cordova Wiki" for change notification.

The "RoadmapProjects" page has been changed by brianleroux:
http://wiki.apache.org/cordova/RoadmapProjects?action=diff&rev1=19&rev2=20

- == See CuttingReleases for *estimated* Release Schedule ==
+ = Roadmap =
  
- 1.5 Feb
+ == Nearterm ==
  
-   * weinre nodeup 1.5
-   * cordovaview ios
+   * plugin-list (lists currently installed plugins for a given native project)
+   * plugin-remove (removes named plugin from a given native project)
+   * cli tools parity (currently ios requires installer to be run first, behavior slightly
differ b/t platforms)
+   * get plugin-install into labs and enable installation from a git repo (think anis did
this already)
  
- 1.6 March
+ === Core API Audit: lighter, faster, stronger ===
  
-   * cordovajs on ios, android, blackberry
-   * cordova name migration complete
-   * getting started guides updated
+   * Accelerometer: deprecated for http://dev.w3.org/geo/api/spec-source-orientation.html
+   * Camera: leave be
+   * Capture: deprecate for http://www.w3.org/TR/media-capture-api/
+   * Compass: leave be / covered by deviceorientation?
+   * Connection: leave be (work in sysapps will replace this)
+   * Contacts: leave be (work in web intents http://www.w3.org/TR/contacts-api/ and native
picker in future for sure)
+   * Device: deprecate and move this gunk to cordova global (perhaps this belongs to capabilities
api?)
+   * Events: deprecate battery stuff for its own plugin; leave the rest be
+   * File: normalize paths
+   * Geo: leave be
+   * Media: '''requires further audit'''
+   * Notification: deprecate completely. alert/confirm should be proper browser polyfills,
vibrate move to http://www.w3.org/TR/vibration/, kill beep
+   * Storage: deprecate, the w3c doesnt want to support nor should we. file api and idb should
care for all these use cases
  
- 1.7 April
+ == 2.x Unscheduled ==
  
+   * config and manifest metafile for all major platforms
+   * plugin-discover-server (federated server impl)
+   * plugin-discover-client (search, publish, remove, update)
+   * master cli script 
+   * b2g prototype
-   * cordovajs on wp7
-   * cordovaview on android
-   * documentation improvement project 
-   * bada 2 (wac) support with cordovajs
- 
- 1.8 May
- 
-   * tooling for plugin package generation, validation, installation, and removal (lunny
prototyping)
-   * cli tooling
- 
- 1.9 June
- 
-   * refactor of (possibly) coho to allow for composing a release of particular plugins
-   * hardening
- 
- 2.0.0rc July
- 
-   * hardening
-   * iOS: removal of iOS 3.x support, minimum 4.2 
-   * iOS: make Cordova support ARC (Automatic Reference Counting) only
-   * iOS: removal of Xcode template (CLI tooling only for creating a new project)
- 
- 
- 
- 
-   
- === Unscheduled Feature Req (post 2.x) ===
- 
-   * sockets polyfil: http://caniuse.com/websockets
-   * fast clicks
-   * one file to rule them all
-   * device capabilities api (see https://issues.apache.org/jira/browse/CB-753)
-   * notifications api 
-   * automate plugin discovery ala npm/cpan/rubygems/pypi/etc
-   * remove plugins to discreet repos and use discovery mechanism to compose different releases
-   * bridge performance
-   * test automation
-   * plugin authoring guide
-   * security best practices guide
+   * docs: security best practices guide
+   * docs: web development best practice guide (eg. fast clicks)
-   * security: child browser investigation / oauth support
-   * performance: first benchmark(s) / resource profiling hooks / capacity tests (maybe identify
flagship devices!)
-   * native contact picker 
    * review media (use html5 audio and/or normalize apis / add volume event)
    * orientationchange event http://dev.w3.org/geo/api/spec-source-orientation.html and more
here: https://gist.github.com/2942428
-   * Web notifications API (http://dev.w3.org/2006/webapi/WebNotifications/publish/Notifications.html)
-   * websockets (SocketIO / NodeJS / Twisted)
+   * webworkers with a browser ctx
+   * single js file (runtime figures out which overloads to use ala hasjs)
+   * windows phone touch event polyfill
+   * android multitouch polyfill: https://github.com/Philzen/webview-multitouch-polyfill

+   * sockets polyfill: http://caniuse.com/websockets
+   * notifications api: http://www.w3.org/TR/notifications/
+   * window.open, targetblank
+   * App invocation w/ data/args (like intents or protocol handlers) https://github.com/PaulKinlan/WebIntents
+   * remove plugins to discreet repos and use discovery mechanism to compose different releases
+ 
+ === Future Unscheduled ===
+ 
+   * WebRTC
+   * device capabilities api (see https://issues.apache.org/jira/browse/CB-753)
+   * bridge performance by way of echo plugin
+   * native contact picker 
+   * native file picker
    * Menu api to build menus for all platforms (discussion on Planning: Menu API) mainline
    * enhance internationalization (i18n) / globalization plugin mainline
    * Device.exitApp() as device independent way of closing application (exists in android
/ ios makes no sense)
-   * App invocation w/ data/args (like intents or protocol handlers) https://github.com/PaulKinlan/WebIntents
-   * Multitouch polyfill for Android. https://github.com/Philzen/webview-multitouch-polyfill
  
- 
- 
- -------
- 
- == Platform Work ==
- 
- Windows Phone
- 
-   * Touch events
-   * Back button support fix
- 
- Bada
- 
-   * 2.x update
- 
- -------
- 
- == Cordova JS ==
- 
- A single canonical JavaScript file providing the baseline PhoneGap API. As PhoneGap grew,
and new platforms were added, each platform implemented its own JavaScript file. This can
cause confusion in cross platform projects. This file is generated but our userbase often
accidentally checks it into thier revision control system.  
- 
- In 1.5.0 this dropped into the Android implementation. In 1.6.0rc1 this made its way into
the iOS implementation.
- 
- Other integration work is currently under way in the form of branches on GitHub. The final
integration will include a CommonJS patterned codebase that is built using NodeJS. Compiles
to AMD friendly src. 
- 
- The canonical repository is located on GitHub here: http://github.com/apache/incubator-cordova-js
-  
- -------
- 
- == Command Line Interface Tooling ==
- 
- Command Line Interface (CLI) provides a foundation for more sophisticated tooling avenues
with while maintaining functionality capability across target development operating system
environments. Currently the project provides some tooling of this nature but it is currently
not consistent. This project aims to bring a unified nomenclature for common development practices
dramatically reduces developer ramp up and context switching. 
- 
- Common tasks in PhoneGap app development include:
- 
-   * create
-   * update
-   * log
-   * debug
-   * release
-   * test
-   * benchmark
-   * autotest
- 
- Once these scripts are in place for the major platform operating systems a PhoneGap developer
can jump into a project of any sort (be it iOS or Android or anthing) and be immediately productive.
Additionally this opens the door for more sophisticated tooling within an Integrated Development
Environment (IDE). 
- 
- ==== Technology ====
- 
-   * Bash
-   * JavaScript 
-   * NodeJS
-   * npm
-   * CoffeeScript
- 
- ==== Proposed Work ====
- 
-   * Complete CLI for major target platforms.
-   * Wrap CLI for a universal CLI that calls out to installed PhoneGap platforms.
- 
- -------
- 
- == Continuous Integration Server ==
- 
- Building the most recent PhoneGap project commits against the major devices for every commit,
running the unit test suite and benchmark suite to measure code quality and performance over
time. The most effective way for us to measure improvement over time will be an automated
test suite. We’ll be able to intercept degradation in performance sooner and with tighter
feedback cycles avoid regressions in bugs.
- 
- ==== Proposed Work ====
- 
-   * open source the project code
-   * deploy http://ci.phonegap.com
-   * investigate working w/ sauce team on better mobile testing patterns (see mobile testing
platform stuff)
-   * pretty reports
-   * benchmarking init over time
-   * benchmarking footprint of base assets (phonegap.js and binary over time)
-   * release packaging
-   * notifications
- 
- -------
- 
- == Embeddable Webview ==
- 
- The ability to embed PhoneGap into a native application. This is a defensive initiative
with examples of large technology companies trending to this technique creating hybrid webview/native
code implementations using a technique similar to PhoneGap. 
- 
- Companies utilizing this technique include:
- 
-   * Netflix
-   * Facebook
-   * Twitter
-   * Linkedin
-   * ESPN 
- 
- Technology
- 
-   * PhoneGap/Android
-   * PhoneGap/iOS
-   * PhoneGap/WP7
- 
- (BlackBerry does not seem feasible at this time.) 
- 
- ==== Proposed Work =====
- 
- Investigate feasibility of creating custom UI components on target platforms. Implement
embeddable PhoneGap Webview on platforms that can support custom UI components. 
- 
- -------
- 
- == Mobile Testing Lab ==
- 
- In conjunction with our friends at Sauce Labs.
-  
-   * targets all mobile operating systems and devices; phones and tablets
-   * simulators/emulators and real devices
-   * installed Apps and Mobile Web. (Mobile Web testing is easy -- it's just a URL... But
installed apps is the tricky bit -- getting binaries up to the test lab and distributed to
testing machines. Especially tricky with Apple's rules for iOS.)
-   * manual testing (remote VNC access) *and* automated testing (API access)
-   * oh, and lots of robots. Made of bitbeam, naturally.
-   * open source hardware setup. Folks can see how the device lap was setup and build their
own if they wanted to.
- 
- -------
- 
- == PhoneGap Plugin Project ==
- 
- PhoneGap/Plugins are wildly popular and the past year we've spent a tonne of time getting
the native api simplified and consistent. This project is dependant on the phonegap-js project
completion to inform the architecture. 
- 
- ==== Goals =====
- 
-   * phonegap project directory structure (needed so we can install phonegap plugins)
-   * plugin packaging format
-   * plugin cli tooling for: create, validate, install, remove, find
-   * plugin only architecture / ship phonegap with no prebuilt APIs
- 
- 
- 
- -------
- 
- == weinre nodeup ==
- 
- Web Inspector Remote originally authored by Patrick Mueller of IBM joined the PhoneGap suite
of projects in 2011. It takes chrome dev tools and adds remoting capability via a script embed
to enable remote debugging. Weinre is the only way to remotely inspect and debug the contents
of a webview hosted on a device. It is a daily use tool for PhoneGap developers. 
- 
- ==== Technology ====
- 
-   * Java based server
-   * CoffeeScript based client communication protocol
-   * Client code from HTML, CSS and JavaScript
- 
- ==== Proposed Work ====
- 
-   * Port server to NodeJS to improve speed and portability. (Imagine: npm install weinre)
-   * Benchmark and refine communication protocol to improve latency. Use sockets where available.
-   * Additional error trapping faculty (only 5 exceptions supported). Substack reported possibility
to use Uglyfy to instrument/rewrite method signatures w/ try/catch to capture all errors.
-   * Add JavaScript step debugging capability via the open source Aardwolf project.
- 
- -------
- 
- == Notifications API ==
- 
- With the addition of Notification Center in iOS 5 we have the opportunity to do richer notifications
across platforms. http://www.w3.org/TR/notifications/
- 

Mime
View raw message