ebook img

Web App Testing Using Knockout.JS: Design, implement, and maintain a fully tested JavaScript web application using Knockout.JS PDF

154 Pages·2014·1.72 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Web App Testing Using Knockout.JS: Design, implement, and maintain a fully tested JavaScript web application using Knockout.JS

www.it-ebooks.info Web App Testing Using Knockout.JS Design, implement, and maintain a fully tested JavaScript web application using Knockout.JS Roberto Messora BIRMINGHAM - MUMBAI www.it-ebooks.info Web App Testing Using Knockout.JS Copyright © 2014 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: November 2014 Production reference: 1101114 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78398-284-4 www.packtpub.com www.it-ebooks.info Credits Author Copy Editors Roberto Messora Sarang Chari Alfida Paiva Reviewers Adithi Shetty Paul Aldred-Bann Oscar Finnsson Project Coordinator Robert Gaut Neha Bhatnagar Anders Rune Jensen Francesco Pontillo Proofreaders Maria Gould Jon Preece Robert Phillips Commissioning Editor Taron Pereira Indexer Hemangini Bari Acquisition Editor Subho Gupta Graphics Abhinash Sahu Content Development Editor Arun Nadar Production Coordinator Nitesh Thakur Technical Editor Tanvi Bhatt Cover Work Nitesh Thakur www.it-ebooks.info About the Author Roberto Messora is a product manager and software architect for geospatial IT solutions based on ESRI, Microsoft .NET, and HTML5 technology stacks. In the last few years, working as a specialist at Value Lab S.p.a. (http://www.valuelab.it/ en/), an innovative management consulting and IT solutions company specializing in marketing, sales, and retailing, he has acquired a deep knowledge in Location Analytics and Geomarketing, delivering web applications and tools for a wide range of industries. He also believes in an effective and collaborative team environment, adopting modern ALM techniques and tools. I'd like to thank my wife, Adelia, and my son, Alessandro, because sometimes they don't understand very well why I spend so much time on technology and software, but they still love and support me in everything I do. I love you too. I'd like to thank my parents because a solid house needs firm foundations. I also want to thank everyone at UGIDotNET, the biggest Italian Microsoft .NET user group, in particular Andrea Saltarello: you are an awesome developer and a remarkable friend. Isaac Newton once said: "If I have seen further, it is by standing upon the shoulders of giants." Finally, I'd like to thank everyone involved in the production of this book, especially all my editors at Packt Publishing: Subho Gupta, Arun Nadar, and Tanvi Bhatt. Also, I really want to thank my reviewers for every suggestion that made this book better. This is my first effort on a real book, in a language that is not my mother tongue, and they held my hands from the beginning of this journey. www.it-ebooks.info About the Reviewers Paul Aldred-Bann is a full-stack .NET web developer living in Preston, England, with his wife and two children. He mainly works in C# and spends a lot of time making JavaScript bend to his object-oriented will. He's an aspiring TDDer and has discovered firsthand what "green light addiction" really is. The rest of his time is spent either with his family or recording his adventures on his blog at aldredbann. azurewebsites.net. Oscar Finnsson is a software development consultant at Purepro AB, working in banking and with payment solutions. He has degrees in Engineering Physics as well as Business Administration and Economics from Uppsala University. He is the developer behind pager.js—the most popular Knockout.JS plugin at GitHub—aimed at large, single page web applications. Robert Gaut is a father, husband, musician, photographer, software developer, and an expert in martial arts. He started programming at the age of 12 when he wrote his first game on a Texas Instruments TI-99/4A. After receiving a degree in Music from the University of North Texas, he was invited to teach programming at a technical college. After several years of teaching, he spent more than a decade developing content management systems for the automotive industry. He currently works for a large public school district where he develops web-based applications and business workflow processes using Microsoft technologies. www.it-ebooks.info Anders Rune Jensen graduated from Aalborg University in 2006, after which he quickly started his own company, IOLA. Anders has been working in the open source community for many years and is the developer of knockout.wrap. Francesco Pontillo is a passionate software engineer who contributes to several open source projects on GitHub and likes to play with all kinds of technologies. He currently works for a health-tech company based in Italy, where he switches from web and Android development to server-side technologies, DevOps, and data mining applications. You can follow him on Twitter (@frapontillo), Google Plus (+FrancescoPontillo), and GitHub (@frapontillo). Jon Preece is an experienced and accredited ASP.NET MVC web developer and WPF software engineer with a strong knowledge of a wide range of Microsoft technologies, especially the .NET platform. He enjoys all aspects of the software development lifecycle, and takes great pride in passing on his knowledge/skills to other people to help make them better developers. He is the lead contributor to http://www.developerhandbook.com/, a site dedicated to help people become better developers. www.it-ebooks.info www.PacktPub.com Support files, eBooks, discount offers, and more You might want to visit www.PacktPub.com for support files and downloads related to your book. Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details. At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks. TM http://PacktLib.PacktPub.com Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books. Why subscribe? • Fully searchable across every book published by Packt • Copy and paste, print and bookmark content • On demand and accessible via web browser Free access for Packt account holders If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access. www.it-ebooks.info www.it-ebooks.info Table of Contents Preface 1 Chapter 1: Web Application Testing in the Modern Web 7 Software testing 8 The modern Web 9 Escaping from the jQuery-style development 12 Presentation design patterns 18 Summary 21 Chapter 2: The Knockout.JS UI Framework Explained 23 Hello Knockout.JS 23 Automatic synchronization between View and ViewModel 26 The ViewModel in detail 31 Observables 32 Computed observables 33 Observable arrays 34 Data-binding in detail 36 The data-binding syntax 36 Text and appearance bindings 37 Conditional and loop bindings 38 HTML templating 38 The binding context 40 Virtual bindings 44 Form controls bindings 46 Custom bindings 48 Summary 54 www.it-ebooks.info

Description:
As modern web applications grow in complexity and features, developers need tools and frameworks to deliver and maintain solutions with high quality standards. Knockout.JS is an emerging JavaScript presentation framework that promotes a solid solution design in combination with Jasmine, a well-known
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.