<?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; .BAR</title>
	<atom:link href="http://devblog.blackberry.com/tag/bar/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 May 2013 15:08:31 +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; .BAR</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>10.1 Gold &#8211; With great SDK powers, comes a bit of responsibility!</title>
		<link>http://devblog.blackberry.com/2013/05/10-1-gold-with-great-sdk-powers-comes-a-bit-of-responsibility/</link>
		<comments>http://devblog.blackberry.com/2013/05/10-1-gold-with-great-sdk-powers-comes-a-bit-of-responsibility/#comments</comments>
		<pubDate>Fri, 03 May 2013 15:35:41 +0000</pubDate>
		<dc:creator>Shadab Rashid</dc:creator>
				<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[.BAR]]></category>
		<category><![CDATA[Dev Alpha]]></category>
		<category><![CDATA[Q10]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[variant]]></category>
		<category><![CDATA[Z10]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14875</guid>
		<description><![CDATA[What responsibility? To make use of all the new features and make your app even greater! And of course, you want to ensure you are supporting as many in-market devices as possible. As you already know, the 10.1 Gold SDK and OS is out, along with the Q10 devices! However, since there are still some [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14875&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>What responsibility? To make use of all the new features and make your app even greater! And of course, you want to ensure you are supporting as many in-market devices as possible. As you already know, the 10.1 <a href="https://developer.blackberry.com/cascades/download/">Gold SDK</a> and <a href="https://developer.blackberry.com/devzone/blackberry10devalpha/devalpha_update.html" target="_blank">OS</a> is out, along with the Q10 devices! However, since there are still some Z10 devices on the market right now running the 10.0.X.X OS version, some questions and confusions might be present. Which SDK version to compile against? Which are the target devices? How many BAR files should I keep? How do I manage my code base? We will try to tackle some of these common questions here.</p>
<h3><strong>Coding and deploying for the devices with 10.1 OS</strong></h3>
<p>Even if your older 10.0 Z10 version of the app runs “fine” on the newer 10.1 devices (Q10 and upcoming Z10 update) running the 10.1 OS version, you should try to use the latest 10.1 SDK. Why? Starting with the 10.1 SDK, you get access to some new features which will enhance your app’s experience on the Q10 devices significantly. This particular blog post <a href="http://devblog.blackberry.com/2013/03/blackberry-z10-apps-to-blackberry-q10/?" target="_blank">here</a> is a great source of information when you are converting your Z10 app for the upcoming Q10 devices. In terms of the UI elements that you can leverage as a developer, <a href="https://developer.blackberry.com/cascades/download/releasenotes/#new" target="_blank">among others</a>, you now have access to certain components like the <a href="https://developer.blackberry.com/cascades/reference/bb__cascades__actionbarautohidebehavior.html" target="_blank">auto hiding ActionBar</a>, <a href="https://developer.blackberry.com/cascades/reference/bb__cascades__titlebar.html" target="_blank">customizable/freeform</a> and <a href="https://developer.blackberry.com/cascades/reference/bb__cascades__titlebarscrollbehavior.html" target="_blank">sticky</a> TitleBar – these elements will allow you to maximize your screen real estate (for the smaller screen Q10 devices) and provide more room for actual content for the users.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-1.jpg?w=500" /></p>
<p><span id="more-14875"></span></p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-2.jpg?w=500" /></p>
<p>Key <a href="https://developer.blackberry.com/cascades/documentation/dev/shortcuts/index.html" target="_blank">shortcuts</a> and <a href="https://developer.blackberry.com/cascades/documentation/dev/shortcuts/keylistener.html" target="_blank">listeners</a> are some of the other slick new features; they make common tasks much easier for your users. The Q10 devices are definitely designed for the power users who love the physical keyboard and who value productivity greatly. You want to show them as much useful content as possible (even in the smaller screen) and require as few user input as possible to get to the primary features and content.</p>
<h3><strong>What about my current applications for the Z10 devices?</strong></h3>
<p>If there are any updates or bug fixes necessary for your currently public Z10 versions of the app (made using 10.0 SDK), you definitely don’t want to keep your users waiting. Until the in-market Z10 devices receive the 10.1 updates, you should continue posting updates and bug fixes as necessary. Going forward, the new 10.1 features that you will be using for Q10 devices (which you definitely should be) and upcoming Z10 updates; if they are mainly on the QML asset files, you can just continue to maintain just one BAR file. All the 10.1 specific QML code; those asset files can be placed in the folder called 720&#215;720. For devices running lower 10.1 OS, that folder will just be ignored and only the QML files in the root folder would be considered. You can check out the github sample apps here to look at the code for projects like these. If you are using any new 10.1 C/C++ API then your application would need the latest 10.1.X.X SDK to compile against to bypass all the compile errors (the corresponding BAR file would also be a different one, since it would need the minimum 10.1 platform to run against).</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-3.jpg?w=250" /></p>
<p style="text-align:center;"><i>Project Explorer View</i></p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-4.jpg?w=500" /></p>
<p style="text-align:center;"><i>The QML code under the <strong>720&#215;720</strong> folder. It is using some <strong>new</strong> 10.1 specific features (e.g. customizable TitleBar).<br />
If the same BAR file is run on the 10.0 devices, this code won’t be executed (the folder will be ignored).<br />
Note: This is a modified sample code shown here just for demonstration</i></p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-5.jpg?w=450" /></p>
<p style="text-align:center;"><i>The QML file under the root assets folder; this will run by default. Note that there is no 10.1 specific code here </i></p>
<p>Note that you can install all the different SDK versions through the IDE update options and install the different OS versions. Re-iterating what is mentioned on the <a href="https://developer.blackberry.com/cascades/download/releasenotes/#new" target="_blank">release notes</a>:</p>
<ul>
<li><i> If you are developing using a BlackBerry 10 Dev Alpha device, you need to download the 10.0.10.263 target from the update site.</i></li>
<li><i> If you are developing using the BlackBerry Z10 smartphone, you need to download a target from the update site that matches the device version that&#8217;s provided by your wireless service provider. You can verify the device version by opening the Settings app, tapping About, selecting OS in the Category drop-down list, and checking the version that&#8217;s listed in the OS Version field.</i></li>
<li><i>For more information about developing apps that work on different versions of the BlackBerry 10 Native SDK, see <a href="http://supportforums.blackberry.com/t5/Cascades-Development-Knowledge/Appropriate-version-of-the-BlackBerry-Native-SDK/ta-p/2284129" target="_blank">Appropriate version of the BlackBerry Native SDK</a> in the BlackBerry Support Community Forums.</i></li>
</ul>
<h3><strong>How do I specify restrictions to BlackBerry World and BAR files?</strong></h3>
<p>When you are submitting the signed BAR files through your vendor portal account, you can choose the minimum OS version and the devices accordingly. <strong>These settings control whether or not your app will show up on the users’ BlackBerry World app (depending on the devices and the OS version they are currently running on)</strong>.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-6.jpg?w=500" /></p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-7.jpg?w=500" /></p>
<p>Note that there is also a specific value that can be set through the bar-descriptor.xml file, which dictates the minimum required platform OS version required to install and run the app. This in turn gets reflected on the final signed BAR produced (MANIFEST.MF file). Do not modify this default value set unless you are absolutely certain which device OS versions you want to prevent the app from being installed (even if they are discovered through the BlackBerry World app). This value is checked by the OS itself when the app is installed and run using the BlackBerry World app. <strong>However, this is not something that the BlackBerry World looks at (currently) to filter what apps the user can see to download. This means, if you are playing around with this value, there could be instances where the user can see or buy the app through the BlackBerry World app but not be able to install it!</strong> The vendor portal filtering only gives you granularity between 10.0.0, 10.0.10 and 10.1.0 for now but if you are modifying the bar-descriptor.xml value for this, you can end up being really specific (10.0.9.X, 10.0.10.X, 10.1.X.X) which could prevent your users from installing the app (even if they are being able to see it or buy it).</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-8.jpg?w=500" /></p>
<p><i>The bar-descriptor.xml editor from the QNX Momentics IDE</i></p>
<p>Viewing the resulting signed BAR file through the IDE (MANIFST.MF file)</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-9.jpg?w=500" /></p>
<p><i>Viewing the resulting signed BAR file through the IDE (MANIFST.MF file) </i></p>
<h3><strong>Managing code base</strong></h3>
<p>Since there are newer API/libraries with 10.1 SDK, you might already be thinking about how to manage your code base better. Well, there are a few different options to choose from:</p>
<ol>
<li>If you are already using a version control system like <a href="https://github.com/" target="_blank">Github</a>, just use the <a href="http://learn.github.com/p/branching.html" target="_blank">branching and merging technique</a> for your code base
<ul>
<li>Create a new branch from your latest 10.0.X.X code version. Add all the new 10.1 features here and continue to use this one for devices running 10.1 (Q10 devices for now and soon to be Z10 as well)</li>
</ul>
</li>
<li>If your 10.1 changes (e.g. using some of the newer UI elements and features) are mainly on the QML assets, you can make use of the <a href="https://developer.blackberry.com/cascades/documentation/ui/resolution/using_static_asset.html" target="_blank">static asset selector</a> which is new with 10.1. Basically, your IDE will be pointing to the same project (code base) but based on which device you are targetting your app, it will select the respective .qml files
<ul>
<li>As mentioned before, the Z10 devices running lower than 10.1 OS, will just ignore the folders such as the <strong>720&#215;720</strong></li>
</ul>
</li>
<li>If you are using 10.1 specific API in your C++ code (only), you can use the NDK versioning macros to detect the OS versions. This forum post <a href="http://supportforums.blackberry.com/t5/Native-Development/Using-the-new-NDK-versioning-macros-to-detect-API-versions/td-p/2286807" target="_blank">here</a> talks about this in details</li>
</ol>
<h3><strong>To Sum Up</strong></h3>
<ul>
<li>For devices running 10.1 OS, definitely use 10.1 SDK to compile and deploy your app; make use of all the useful features which will make the Q10 experience of your app significantly better
<ul>
<li>As soon as 10.1 OS is picked up by the Z10 devices, these app releases will be shown through BlackBerry World as well (provided you set the vendor portal filtering accordingly)</li>
<li>There is more than one way to manage your code base; you have to decide which one is best for you</li>
</ul>
</li>
<li>For posting updates and bug fixes to the 10.0 Z10 versions of your app, continue to use the respective 10.0 SDK to compile and deploy the app</li>
<li>Sanity check: Don’t forget to test and try out the application on the OS versions that your users are expected to run the app</li>
</ul>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/05/sdk-10.jpg?w=500" /></p>
<p>We hope at least some of this was helpful to you. If we have missed any particular cases, do bring them to our attention and we will try to advise accordingly. Hope to see all of your apps for the Q10 devices soon!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14875/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14875/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14875&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/10-1-gold-with-great-sdk-powers-comes-a-bit-of-responsibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/80e97ad98707931e59eb2b03535cc8b2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">shrashid</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-1.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-2.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-3.jpg?w=250" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-4.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-5.jpg?w=450" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-6.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-7.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-8.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-9.jpg?w=500" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/sdk-10.jpg?w=500" medium="image" />
	</item>
		<item>
		<title>Choose your own adventure with BlackBerry WebWorks</title>
		<link>http://devblog.blackberry.com/2012/08/blackberry-10-webworks-sdk-update/</link>
		<comments>http://devblog.blackberry.com/2012/08/blackberry-10-webworks-sdk-update/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 18:28:46 +0000</pubDate>
		<dc:creator>Ken W</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[.BAR]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[BlackBerry 10 WebWorks SDK]]></category>
		<category><![CDATA[blackberry webworks]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[platform]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10741</guid>
		<description><![CDATA[We’ve just posted a new release to the BlackBerry 10 WebWorks SDK.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10741&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<h3><strong>BlackBerry 10 WebWorks SDK Refreshed</strong></h3>
<p><a href="http://rimdevblog.files.wordpress.com/2012/08/download-splash-copy.png"><img class="aligncenter size-full wp-image-10761" title="download-splash copy" src="http://rimdevblog.files.wordpress.com/2012/08/download-splash-copy.png?w=526&#038;h=262" alt="TITLE_IMAGE" width="526" height="262" /></a></p>
<p>Hopefully you aren’t getting tired of me yet, and I’m sure you are not tired of the updates to the BlackBerry® WebWorks™ SDK. We’ve just posted a new release, and it squarely falls in the high-value realm. While incremental, it empowers a significant feature of the BlackBerry WebWorks platform: custom API extensions. That’s right, like previous BlackBerry WebWorks platforms, you can now write your own extensions to enable native capabilities not yet exposed by the pre-packaged BlackBerry WebWorks APIs!</p>
<p>First, let’s quickly mention the other major item in this release: Now, when you build your application, you can pass a configuration file to bbwp.exe &#8211; the main command line tool for BlackBerry WebWorks &#8211; which will pass parameters on to the other downstream command line tools that bbwp.exe leverages. bbwp.exe is your main command line tool to create your applications for BlackBerry WebWorks: it will give you your .BAR file and even sign it for you. However, under the covers, it uses a couple of other command line tools that are part of the BlackBerry tool chain to perform these actions such as creating the .BAR and signing it. These other tools sometimes have parameters that are not exposed by bbwp.exe. With this release, we have provided a parameter (-p or &#8211;param) on bbwp.exe to provide a file on the bbwp.exe command line that you can use to pass on to the downstream tools any additional parameters you choose. It is a simple json structure that you can mark up. The main use case we hear quite often is providing the signing tool with proxy settings. Check out the params-example.json file in the root of your BlackBerry® 10 WebWorks SDK installation for an example. It contains the framework for providing parameters to the other two tools, the native packager that creates the .BAR, and the signing tool which signs the .BAR.</p>
<p><span id="more-10741"></span></p>
<p>OK, now back to custom extensions. As a quick recap, BlackBerry WebWorks APIs are conceptually comprised of two different things: an API or service in the native platform, and a JavaScript® front-end to this native service. All of the APIs that are part of the official BlackBerry WebWorks SDK take advantage of this architecture and a system called jNext. jNext is what binds the JavaScript layer to the native layer. You can now build your own API extensions in exactly the same way we do.</p>
<p>To get started, you will first need to download our BlackBerry 10 Native SDK and configure it. This will give you access to all that the native environment offers. <a href="https://developer.blackberry.com/native/beta/download/" target="_new">Go do that now</a> and come back here for the next step.</p>
<p>All right, you’re back. Next step is to visit our <a href="http://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10" target="_new">GitHub Community API repo</a> and download the sample BlackBerry 10 Native SDK project we have provided. This sample project is a working example of an extension that monitors memory usage on the device. Everything you need to create your own extension is modeled here. A full walk-through of the project and its components can be found in the README associated with the project in the GitHub repository, so check that out next, and get working on your extension.</p>
<p>Once you are done, I highly recommend that you check out our <a href="https://github.com/blackberry/WebWorks-Community-APIs" target="_new">Community API repository</a>, and seriously consider contributing your extension to the repository so that others can take advantage of your awesome work. To contribute the extension you will need to apply the ASL 2.0 license, and complete a few other administrative things, but then the whole BlackBerry WebWorks community can benefit.</p>
<p>One thing to bear in mind with your extension: we really didn’t want to hold back on releasing this feature to our community, but we do know that one thing will change in our next BlackBerry WebWorks SDK release. When you completed your extension, you would have had to create/modify a file called manifest.json. This file provided metadata regarding your extension. Moving forward, we will very likely model the format of this file after the <a href="http://wiki.commonjs.org/wiki/Packages/1.1" target="_new">CommonJS package.json file format</a> (used by npm modules). This should not constitute very much refactoring, as the current file format is very concise, and the community alignment is valuable in itself.</p>
<p>OK, that’s it for this release. As always the team is working on some exciting stuff for the next release. I can’t wait for the next release! Until then, head over to our <a href="http://developer.blackberry.com/html5/download/sdk" target="_new">download page</a> and our <a href="http://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10" target="_new">GitHub repo</a> to start working on your custom extensions!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10741/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10741/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10741&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/08/blackberry-10-webworks-sdk-update/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/download-splash-copy.png" medium="image">
			<media:title type="html">download-splash copy</media:title>
		</media:content>
	</item>
	</channel>
</rss>
