BrowserSwarm - A tool that automates JavaScript testing across browsers
BrowserSwarm is a partnership by Microsoft, Sauce Labs and the open source team of appendTo that helps developers automate how they test frameworks & libraries across browsers. It’s powered through the cloud, allowing developers to save time setting-up multiple browser or device testing environments and precious server resources.
BrowserSwarm connects directly to your GitHub code repo. When your team makes updates, BrowserSwarm automatically runs your project's Unit Test Suite and supports Frameworks, like QUnit, in the cloud using SauceLabs browser automation.
BrowserSwarm is meant to help the framework authors that build stuff for developers by reducing the time spent testing.
Check the original post by Microsoft here.
Site: BrowserSwarm
Free eBooks: Python, JavaScript and UI Design
Working on the application development scene, it’s hard to keep up with everything new. Every bit of help counts. Great resources are the eBooks you can find, for free, online on the Web. The books you can find in PDF format are great because you can take them with you anywhere. The ones that are available to view online are also great because you get any updates made on the subject. On this post I leave everyone a small set of links where you can find eBook compilations.
The first one comes from Speck boy Design Magazine and it’s mostly about User Interface design. For instance, the Mobile Web Design Best Practices by Mobify “is a handy mobile web design guide with over 50 tips that will help you build amazing mobile websites”. You can visit the Specky boy eBook compilation here: http://speckyboy.com/2013/06/10/free-ebooks-for-designers-and-developers/
The next eBook compilation is from Revolunet. It’s all about the Python programming language. You have the classic “Dive into Python” and a whole bunch of other interesting books. You can find them all at this Web page: http://pythonbooks.revolunet.com/
Finally, this list wouldn’t be complete without the emerging trend on multi-platform application development: javaScript. Here you have subjects for all tastes: Node.js, MongoDB, Windows 8, and so on. Get them all on this page: http://jsbooks.revolunet.com/
Happy readings!
Photo Credit: Mark J P via Compfight cc
Updated companion content: Programming Windows 8 Apps with HTML, CSS, and JavaScript
http://go.microsoft.com/FWLink/?Linkid=270057 (59.9 MB)
Here are the details of the update from the author:
This update fixes one bug in the HereMyAm examples for Chapters 8, 9, 13, and 17 in the file pages/home/home.js. The one line within the updateImage function:
app.sessionState.fileToken = list.addOrReplace(app.sessionState.fileToken, newFile);
is replaced with
list.addOrReplace(app.sessionState.fileToken, newFile);
This corrects a bug where transient session state was preserved across the suspend-terminate-restart boundary only every other time because the app.sessionState.fileToken was erroneously overwritten with “undefined”.
Source: Microsoft Press
Some more HTML5 goodness: Atari Arcade
It’s always fun when you get classic memories from your youth reinvented with the latest technology. In the 70’s of the last century Atari became the definitive gaming platform of it’s era.
Microsoft together with Atari and Grant Skinner, launched Atari Arcade, meant to showcase all the features and possibilities of HTML5, as well as an effort to develop gaming users interfaces" perfect for touch.
Even if you don’t care much for Web technology trends, you can always drop by the Arcade to visit some old friends. Maybe you’ll even find the game you spent most quarters on.
Sharepoint 2010: create new list items using pure javascript
As described above in the OData documentation, a Service Document is exposed that lists all the top-level feeds so clients can discover them and find out the addresses of each of them. The service document is typically available at the Service Root URI and may be formatted in Atom or JSON as described in [OData: Atom] and [OData: JSON].
Mapping this concept to the Sharepoint 2010 architecture, the service document URI is our ListData.svc address and the top level feed will be an Atom feed with all the Sharepoint Lists existing at the site. The feed for a specific list will have the address:
Having explained this, one can go through the steps of creating a simple javascript to use AJAX and JSON to create a new list item. For this we will use:
- datajs: a new cross-browser JavaScript library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. It's designed to be small, fast and easy to use.
- json: became a built-in feature of JavaScript when the ECMAScript Programming
Language Standard - Fifth Edition was adopted by the ECMA General Assembly
in December 2009. However, if you have run-time problems, you can try to include this. - jQuery: fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.
< script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.min.js" type="text/javascript"> < /script> < script src="datajs-1.0.2.min.js" type="text/javascript"> < /script> < script src="json2.js" type="text/javascript"> < /script>
Next, create the fucntion that will add the new item to the target list:
function addNewItem() {
// create a typeless JS object and fill it with values for the new list item
var newItem = { attribute1: $("#formField1").val(),
attribute2: $("#formField2").val(),
attribute3: $("#formField3").val()};
// create the JS object to pass as parameter to the OData request
var requestOptions = { requestUri: "[your list URL]", method: "POST", data: newItem };
// call OData.request to add item with HTTP POST operation
OData.request(requestOptions, OnSuccess, OnError);
}
Finally, create callback function the handle success and error outcomes:function OnSuccess(data, request) {
alert("Success!");
}
function OnError(error) {
alert(JSON.stringify(error));
}
To fit this all together, use an HTML form to input the required fields and a button that calls the add new item function "addNewItem()".
Happy programming!