<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; Apache Cordova</title>
	<atom:link href="http://devblog.blackberry.com/tag/apache-cordova/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Tue, 18 Jun 2013 16:50:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; Apache Cordova</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>On the Move – BlackBerry 10 WebWorks powered by Apache Cordova</title>
		<link>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/</link>
		<comments>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 10:00:49 +0000</pubDate>
		<dc:creator>Ken W</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 10 WebWorks]]></category>
		<category><![CDATA[Cordova]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[webworks]]></category>
		<category><![CDATA[WebWorks Apps]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15300</guid>
		<description><![CDATA[&#160; I am starting to realize that blog writing is similar to any other mental or physical exercise: it takes some time to knock the rust off if you take a break. Given how hard that first sentence was to write, I feel like red dust should be falling out of my ears. My robot [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15300&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/06/cali.jpg"><img class="aligncenter size-full wp-image-15301" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/06/cali-e1370897059787.jpg?w=600&#038;h=433" width="600" height="433" /></a></p>
<p>&nbsp;</p>
<p>I am starting to realize that blog writing is similar to any other mental or physical exercise: it takes some time to knock the rust off if you take a break. Given how hard that first sentence was to write, I feel like red dust should be falling out of my ears. My robot vacuum cleaner needs to work harder to earn its keep anyway.</p>
<p>I do have a good excuse for my absence (I am not sure that <a href="http://twitter.com/alexkinsella">Kinsella</a> would agree). My first blog in a little while now comes to you from the sunny shores of Northern California. I have joined the (relatively) small but extremely dedicated contingent of BlackBerry employees fighting the good fight in the Bay Area. The relocation was no small task, let me tell you. Not the least of which was the four day drive from Toronto. I-80 is brutally efficient at getting you from A to B. But for some large segments, it is just brutal. Our dogs were also very efficient at letting us know when our travel day was (or should be) at its end.</p>
<p>But now I am setup here on the west coast, and fully in the middle of yet another move. If you missed <a href="http://www.blackberryjamconference.com/americas">BlackBerry Jam Americas</a> in Orlando last month &#8211; nothing less than a cross-continent move will be accepted as excuse &#8211; you missed a very important <a href="http://active.mediasite.com/mediasite/Play/df825a54-e772-4559-acd9-9db3e317482f">BlackBerry 10 WebWorks roadmap session</a> where we discussed the move of BlackBerry 10 WebWorks to use Apache Cordova at its core.</p>
<p>Fundamentally, the web is cross platform. While it is certainly not write-once/run-everywhere, the web does allow for a lot of reuse of code and assets. As mobile browser vendors continue to evolve and implement the various web technology standards, the amount of work to port an application becomes smaller and smaller. We are seeing web-based mobile applications become a much bigger piece of the total app pie. A large part of that is due to the success of Apache Cordova, which is the open source engine that powers Adobe’s Phonegap.</p>
<p>Our goal with BlackBerry 10 WebWorks is to ensure that we embrace the true philosophy of the open web, and empower our development community with the best tools and frameworks available to create rich web-based mobile applications. Moving BlackBerry 10 WebWorks to be based on Apache Cordova is a huge step in this direction and provides many benefits to our development community.</p>
<p>We are building support for BlackBerry 10 right into the core Apache Cordova project. This will allow Adobe PhoneGap developers to easily target BlackBerry 10 alongside other platforms for their mobile applications. BlackBerry 10 platform specific APIs will also be available as plugins for Apache Cordova (e.g. BBM, invocation, etc.)</p>
<p>As the center of gravity for packaged web applications, Apache Cordova garners a lot of attention from tooling and framework communities that will build their solutions to work with Apache Cordova. Having BlackBerry 10 as a core platform in Apache Cordova will help to ensure BlackBerry 10 WebWorks developers will be able utilize these tools as well.</p>
<p>To be clear, there are some differences in how you work with an Apache Cordova based application, specifically in terms of the command line tools, and some API signatures. All existing BlackBerry 10 WebWorks functionality does still exist, but the API signatures might be slightly different. Full documentation and porting guides will be available. The key thing to understand is that we have full compatibility built in. Applications built with an existing BlackBerry 10 WebWorks SDK WILL work on all 10.X code lines and new ones moving forward.  Similarly, apps built with the new Apache Cordova approach will ALSO work on all 10.X code lines.</p>
<p>I am really excited about being part of the Apache Cordova community, and about the benefits and opportunities this will bring for our dedicated BlackBerry 10 WebWorks developers. Stay tuned to this blog and the <a href="http://developer.blackberry.com/html5">developer portal</a> for news on how the move to Apache Cordova progresses.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15300&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3b422c1a037b89d4ddf5bef834dbdeef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kjwallis</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/06/cali-e1370897059787.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Calling all PhoneGap Devs to Mobile Camp LA!</title>
		<link>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/</link>
		<comments>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/#comments</comments>
		<pubDate>Fri, 12 Oct 2012 20:11:07 +0000</pubDate>
		<dc:creator>Erik O.</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile Campl LA]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11674</guid>
		<description><![CDATA[On Thursday, October 18th user groups around Los Angeles are organizing an event for all to come and learn a little more about this thing we call mobile development &#8211; Mobile Camp LA. Regardless of what floats your boat (game development, UI frameworks, cross-platform strategies, etc.) there are sessions for everyone. In addition to these sessions [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11674&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://mobilecampla.com/"><img class="aligncenter size-full wp-image-11676" title="Mobile_Camp_Logo" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/10/mobile_camp_logo.png?w=100&#038;h=150" height="150" width="100" /></a></p>
<p>On Thursday, October 18<sup>th</sup> user groups around Los Angeles are organizing an event for all to come and learn a little more about this thing we call mobile development &#8211; <a href="http://mobilecampla.com/" target="_blank">Mobile Camp LA</a>. Regardless of what floats your boat (game development, UI frameworks, cross-platform strategies, etc.) there are sessions for everyone.</p>
<p>In addition to these sessions (including an in-depth look at the Ripple tool by our very own <a href="https://twitter.com/gordtanner" target="_blank">Gord Tanner</a>), we’ll be having another kind of activity that runs throughout the day. Once again we’ll be out in the community providing developers who are serious about getting their apps on BlackBerry® 10, with the opportunity to take home a BlackBerry 10 Dev Alpha testing device.</p>
<p><span id="more-11674"></span></p>
<p><strong>How do I qualify?</strong></p>
<p>I’m glad you asked. First, you’ll need to have an application that you’ve developed using PhoneGap and you’ve already taken to market outside of BlackBerry App World™.</p>
<p>Next, you need to bring your application source (or an already compiled BAR file) and we’ll get it up and running on a BlackBerry 10 Dev Alpha testing device. If all goes well, we’ll have a station on hand where you can submit the newly created application to BlackBerry App World, and you get to walk away with the device!</p>
<p>If there are obstacles, well that’s what we are there for and we will do all we can to assist you in overcoming them on site and getting your app submitted. If they cannot be addressed on site, we will take your contact information to provide continued support after the event.</p>
<p>Most importantly, you need to be one of the first ten developers to do so!</p>
<p>What can you do to speed up the process and get your hands on one of these devices and  back to the conference and sessions as quickly as possible?</p>
<ul>
<li>Pre-register as a BlackBerry Developer in the BlackBerry App World <a href="https://appworld.blackberry.com/isvportal/">Vendor Portal</a>. The entire process is <strong>free</strong>.</li>
<li>Request your <a href="https://www.blackberry.com/SignedKeys">BlackBerry Code Signing Keys</a> in advance.</li>
<li>Have your laptop, application source, and development tools ready to go.</li>
</ul>
<p>For those that haven’t heard, obtaining a Blackberry 10 Dev Alpha testing device will be one of the steps to a limited edition BlackBerry 10 smartphone after the launch in Q1 2013 &#8211; details to follow. Submissions received will also be eligible for the <a href="https://developer.blackberry.com/builtforblackberry/commitment/">10k Developer Commitment</a>!</p>
<p>When the BlackBerry 10 Dev Alpha testing devices run out, we will be entering other developers who visit us at the booth in a raffle to win BlackBerry® PlayBook™ tablets. Remember, if you can get your app working on BlackBerry PlayBook, it can easily be ported to BlackBerry 10.</p>
<p>We’ll be there throughout the conference to assist PhoneGap developers with their porting, so be sure to plan out the sessions you want to see accordingly. To get a better idea of what’s being offered, be sure to visit the <a href="http://mobilecampla.com/index.html">Mobile Camp LA event page</a>.</p>
<p>See you on Thursday, fellow devs! Follow me on Twitter for updates at <a href="http://twitter.com/waterlooerik" target="_blank">@WaterlooErik</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11674/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11674&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0788073ae3c85a2b7e415fa106832a51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eoros</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/10/mobile_camp_logo.png" medium="image">
			<media:title type="html">Mobile_Camp_Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Ripple Emulator Refreshed</title>
		<link>http://devblog.blackberry.com/2012/08/ripple-emulator-refreshed/</link>
		<comments>http://devblog.blackberry.com/2012/08/ripple-emulator-refreshed/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 19:30:35 +0000</pubDate>
		<dc:creator>Ken W</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[blackberry webworks]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[ripple]]></category>
		<category><![CDATA[Ripple Emulator]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10754</guid>
		<description><![CDATA[Many great APIs and features have been delivered to our BlackBerry® WebWorks™ developer community with the recent updates to the BlackBerry WebWorks SDK. The Ripple Emulator is a key part of our tooling story for our web developers, and Ripple just got richer. Today we have released Ripple 0.9.8 with some excellent new features. If [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10754&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10755" title="" src="http://rimdevblog.files.wordpress.com/2012/08/ripple-refresh.jpg?w=285&#038;h=547" alt="TITLE_IMAGE" width="285" height="547" /></p>
<p>Many great APIs and features have been delivered to our BlackBerry® WebWorks™ developer community with the recent updates to the BlackBerry WebWorks SDK. The Ripple Emulator is a key part of our tooling story for our web developers, and Ripple just got richer. Today we have released Ripple 0.9.8 with some excellent new features. If you already have our Ripple Emulator installed, then you should be updated automatically the next time you start Google Chrome. If you haven’t yet installed Ripple, then don’t hesitate &#8212; get on your (virtual) scooter and head over to the <a href="http://developer.blackberry.com/html5/download/ripple" target="_new">Ripple download page</a> to get the latest version. Please pay careful attention to the <a href="http://developer.blackberry.com/html5/documentation/installing_the_ripple_emulator.html" target="_new">install instructions</a>, as with the latest versions of Chrome, you can only install the Extension by dragging it right into the chrome://extensions page.</p>
<p><span id="more-10754"></span></p>
<p>In this update to Ripple, you will find a new area in the Chrome Extension panel for Ripple that will allow you to start and stop the build and deploy services from within the tool itself. You will no longer need to start and stop the services manually. You can even set the services to start and stop each time your start Chrome if you like. This should be welcome relief compared to previous versions where you needed to start the services from the command line.</p>
<p>Also in this release is emulation for a number of APIs delivered in recent BlackBerry WebWorks SDK releases:</p>
<ul>
<li>Blackberry.app.exit</li>
<li>Software version and hardwareId</li>
<li>Support for the swipedown event</li>
<li>Support for the Invoke framework, both invoking other applications and being invoked</li>
</ul>
<p>Further, enhanced support for Apache Cordova emulation is included. A bunch of work has been done here, including:</p>
<ul>
<li>Navigator.camera</li>
<li>The media APIs</li>
<li>The File APIs</li>
<li>Events</li>
<li>Navigator.contacts</li>
<li>Partial support for the navigator.device.capture API</li>
</ul>
<p>We are really excited about how Ripple is evolving, and look forward to hearing your feedback on the latest additions. Fire up Google Chrome if you already have Ripple installed and start playing with the new features. Otherwise, head over to the <a href="http://developer.blackberry.com/html5/download/ripple" target="_new">Ripple download page</a> to get the latest version and get started!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10754/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10754/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10754&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/08/ripple-emulator-refreshed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3b422c1a037b89d4ddf5bef834dbdeef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kjwallis</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/08/ripple-refresh.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry 10 WebWorks SDK Released!</title>
		<link>http://devblog.blackberry.com/2012/05/blackberry-10-webworks-sdk/</link>
		<comments>http://devblog.blackberry.com/2012/05/blackberry-10-webworks-sdk/#comments</comments>
		<pubDate>Tue, 01 May 2012 13:41:28 +0000</pubDate>
		<dc:creator>Ken W</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 10 WebWorks SDK]]></category>
		<category><![CDATA[blackberry webworks]]></category>
		<category><![CDATA[C/C++]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[tablet os]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=9131</guid>
		<description><![CDATA[The BlackBerry 10 WebWorks SDK is now available for download!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=9131&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>We are super excited to announce that the BlackBerry® 10 WebWorks™ SDK is now <a href="http://developer.blackberry.com/html5/download/sdk" target="_new">available for download</a>! This is the first of many Beta releases to come over the summer as we head towards the official release of the BlackBerry 10 WebWorks SDK. Eager web application developers should head right to the <a href="http://developer.blackberry.com/html5/download/sdk" target="_new">developer site</a>, download the SDK, and see how we are continuing to provide a best-in-class web developer platform for BlackBerry 10.</p>
<p>The BlackBerry 10 WebWorks SDK allows web developers to create first class BlackBerry applications using familiar web technologies such as HTML5, CSS, and JavaScript®, and extend their application with deep integration into the full device platform. It is the evolution of the BlackBerry WebWorks SDK, built on the foundations of the BlackBerry WebWorks SDK for smartphones and the BlackBerry WebWorks SDK for Tablet OS.</p>
<p>First introduced on the BlackBerry® 5 OS and supported on all OS versions and devices since, BlackBerry WebWorks allows a developer to package their web content into the native application format, leveraging all the benefits of the BlackBerry platform including security and distribution through the BlackBerry App World™ storefront. With the WebKit-based HTML5 browser environment provided by the platform, BlackBerry WebWorks developers have full access to many powerful HTML5 APIs and CSS3. Further, BlackBerry WebWorks provides a set of JavaScript APIs that allow the developer to extend their web content out of the browser with platform functionality such as <a href="http://us.blackberry.com/developers/blackberrymessenger/" target="_new">BlackBerry® Messenger SDK</a>, <a href="http://us.blackberry.com/developers/platform/paymentservice.jsp" target="_new">Payment Service</a>, PIM (email, contacts, and calendars), file access, and so on.</p>
<p>For the BlackBerry smartphone, the BlackBerry WebWorks APIs were built on the native Java platform, and for Tablet OS, on top of the Adobe® AIR® SDK. With BlackBerry 10, it was obvious that BlackBerry WebWorks needed to leverage the full power of the new BlackBerry 10 Native platform built on C/C++ and Cascades™. This gave us an opportunity to look at BlackBerry WebWorks with fresh eyes and determine the best route forward. Let’s take a look at the different pieces that make up BlackBerry WebWorks and how we have been able to improve on the platform with the power of BlackBerry 10.</p>
<p><span id="more-9131"></span></p>
<h3><strong>The Packager</strong></h3>
<p>This is the piece of the SDK that takes you application content and packages it up into a .BAR file for distribution in BlackBerry App World™, and is the file that is installed onto the device. For BlackBerry OS and Tablet OS, the packager was implemented in Java, which required the developer to have the JDK installed on their machine. For BlackBerry 10 WebWorks SDK, we have re-implemented the packager in pure JavaScript, which runs in an instance of Node.js included with the SDK. BlackBerry WebWorks developers have minimal external dependencies required to get their development environment setup.</p>
<p>One thing to note is that the packager now creates two binary outputs, one for the device and one to be used in the BlackBerry 10 simulator. This is because the BlackBerry WebWorks runtime is now backed by the native platform, and there are different instruction sets for the OS on desktop environments versus the device platform.</p>
<h3><strong>The Framework</strong></h3>
<p>The framework is the code that wraps around your web content, and is run on the device in order to orchestrate the platform and provide your runtime environment. For BlackBerry OS, the framework was in Java, and for Tablet OS it was Adobe AIR. Similar to the packager, and enabled by the underlying platform providing in essence a JavaScript runtime environment, we have re-written the framework in JavaScript.</p>
<p>Since the framework is in JavaScript, <strong>developers will need to include this JavaScript code into their web content for their application.</strong> Just add a very simple script tag to all your pages:</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;webworks.js&#8221;&gt;&lt;/script&gt;</p>
<p>Webworks.js is the framework code that handles all of the BlackBerry WebWorks whitelisting logic and injection of allowed APIs for the current domain into the current page. The webworks.js file is included in the BlackBerry WebWorks SDK in the framework\clientfiles directory and should be copied into your application content.</p>
<p>Since script loading can occur asynchronously, <strong>we have provided an event that you must listen to before accessing any BlackBerry WebWorks APIs.</strong> The framework will trigger this event once it is done initializing the BlackBerry WebWorks framework and APIs. Here is an example of the webworks script file definition and <em>webworksready</em> event in action:</p>
<p>&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;script type=”text/javascript” src=”webworks.js”&gt;&lt;/script&gt;<br />
&lt;script type=”text/javascript”&gt;</p>
<p>window.addEventListener(&#8220;load&#8221;,<br />
function() {<br />
document.addEventListener(&#8220;webworksready&#8221;, start);<br />
}, false);</p>
<p>function start() {…}</p>
<p>While the webworks.js file did not exist and is not required for BlackBerry OS or Tablet OS WebWorks SDKs, you can leave the script inclusion line in your application even on these platforms. If your application is not running on the BlackBerry 10 platform, the <em>webworksready</em> event will fire almost right away, and none of the rest of the BlackBerry 10 framework logic will execute; your app will run in the context of the standard BlackBerry OS and Tablet OS WebWorks frameworks.</p>
<h3><strong>Config.xml</strong></h3>
<p>For this first Beta of the BlackBerry 10 WebWorks SDK, we have implemented most of the existing elements of the configuration document. There are a few elements that will come in the future along with some new additions required to support some new BlackBerry 10 features. Not to worry if you use new elements or have elements that are not yet supported in BlackBerry 10 WebWorks, as the packagers for all platforms will ignore elements they don’t recognize. <a href="http://developer.blackberry.com/html5/documentation/ww_developing/working_with_config_xml_file_1866970_11.html" target="_new">Please check the documentation</a> for details on the config document.</p>
<h3><strong>APIs</strong></h3>
<p>APIs for BlackBerry WebWorks have two components to them: JavaScript that runs in the browser environment, and a “native” component that interfaces with the rest of the platform, allowing for the deep integration that provides the full power of BlackBerry WebWorks. Again: Java for smartphones, Adobe AIR for BlackBerry® PlayBook™ tablets. For BlackBerry 10, of course, native is C/C++. So we have to re-implement all the APIs, and will be delivering them incrementally with Beta refreshes over the summer.</p>
<p>In this initial Beta release, we have been able to provide a core sub-set of the full WebWorks API, which is documented on the <a href="http://developer.blackberry.com/html5" target="_new">BlackBerry HTML 5 site</a>, including Identity, Application and App events, System and system events. On a monthly cadence, we will be releasing new Beta bundles of BlackBerry WebWorks with net new APIs, such as Push, File and File Transfer, Audio/Video Capture, etc.</p>
<p><img class="aligncenter size-full wp-image-9133" title="" src="http://rimdevblog.files.wordpress.com/2012/04/cordova.jpg?w=211&#038;h=237" alt="" width="211" height="237" /></p>
<h3><strong>Apache Cordova</strong></h3>
<p>The nature of HTML5 is that it is prevalent on most platforms and devices. Apache Cordova (which is the basis of the well-known PhoneGap) is an industry-leading cross-platform framework very similar to BlackBerry WebWorks. We are striving to bring BlackBerry WebWorks and Cordova closer together, and are actively part of the Cordova open source project providing contributions. To begin down this road, we are aligning some of our BlackBerry 10 WebWorks API signatures with Cordova API signatures. Existing WebWorks applications may require some refactoring to target BlackBerry 10, but Cordova/PhoneGap is supported on BlackBerry OS and Tablet OS, so you can take advantage of these APIs on older operating systems.</p>
<p>For example, event APIs have changed. For BlackBerry smartphones or Tablet OS, if you wanted to listen for battery level changes, you would do something like this:</p>
<p><code>function onBatteryLevelChange(level) {<br />
alert("Battery Level: " + level);<br />
}<br />
blackberry.system.event.deviceBatteryLevelChange(<br />
onBatteryLevelChange);</code></p>
<p>For BlackBerry 10 WebWorks SDK, we have introduced an Event API with a signature like your typical add/removeEventListener:</p>
<p><code>function onBatteryStatus(status) {<br />
alert("Battery Level: " + status.level +<br />
“ isPlugged: “ + status.isPlugged);<br />
}<br />
blackberry.event.addEventListener(“batterystatus”, onBatteryStatus);</code></p>
<p>The “blackberry.event” feature id would be used in your config.xml file for whitelisting purposes. You will notice that, if you replaced “blackberry.event” with “document” or “window”, you have the Cordova/PhoneGap API signature.</p>
<p>Please check out the <a href="http://developer.blackberry.com/html5" target="_new">BlackBerry WebWorks development site</a> to learn more about how you can be part of the first wave of applications for the BlackBerry 10 OS by leveraging your web technology skills, while continuing to target our over 75 million smartphone subscribers and BlackBerry PlayBook tablet users.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/9131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/9131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=9131&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/05/blackberry-10-webworks-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3b422c1a037b89d4ddf5bef834dbdeef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kjwallis</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/04/cordova.jpg" medium="image" />
	</item>
	</channel>
</rss>
