• Complain

Dane Cameron - A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications

Here you can read online Dane Cameron - A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2013, publisher: Cisdal Publishing, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

No cover
  • Book:
    A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications
  • Author:
  • Publisher:
    Cisdal Publishing
  • Genre:
  • Year:
    2013
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

24 May 2014: New revision is now available. Fully revised and re-edited.HTML5 web applications are now capable of matching or exceeding the scale and sophistication of desktop applications, but with the unique advantage of running natively inside the web browsers on billions of desktop computers, phones, TVs and tablets.This revolution (or more correctly - evolution) has happened for a number of reasons:
  • Browsers have introduced new standards-based APIs allowing web applications to (amongst other things) store data offline, retrieve data from the server dynamically, spawn background processes and interact with the filesystem.
  • Software engineers and programmers have begun to think of the much maligned JavaScript language in a new light, and unlock its potential as a rich and expressive language capable of producing large scale, well-structured applications.
  • The jQuery library has eased the pain of interacting with Document Object Model, and therefore writing applications that dynamically respond to user interaction.
  • The HTML markup language has been overhauled and extended to provide more semantic meaning, and many additional elements and attributes.
A Software Engineer Learns HTML5, JavaScript and jQuery guides you through the process I went through as an experienced software engineer, writing a large-scale, standards based web-application for the first time. It is intended to teach you the fundamentals of HTML5, JavaScript and jQuery - without presenting you with long lists of APIs, or intricate details of every feature (these can be found in reference manuals). This book is not a simple introduction to the subject matter: it guides you through the process of building a feature-rich web application. The application begins simple, and becomes gradually more complex as additional APIs and features are introduced. This book includes the following content:
  1. An introduction to the HTML5 markup language, and how it differs from HTML4 and XHTML.
  2. An introduction to JavaScript, including an in-depth look at its use of objects and functions, along with the design patterns that support the development of robust web applications.
  3. An introduction to jQuery selection, traversal, manipulation and events.
  4. An in-depth look at the Web storage and IndexedDB APIs for client side data storage.
  5. A guide to implementing offline web applications with the Application Cache API.
  6. An introduction to the ways JavaScript can interact with the users file-system using the FileReader API.
  7. A guide to the use of Web Workers in web applications.
  8. An introduction to AJAX, and the jQuery API supporting AJAX.
  9. An introduction to Server Sent Events and Web Sockets.
This book is intended for anyone with at least a superficial knowledge of HTML and programming (in any language).

Dane Cameron: author's other books


Who wrote A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications? Find out the surname, the name of the author of the book and a list of all author's works by series.

A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make

A Software Engineer LearnsHTML5, JavaScript and jQuery

By Dane Cameron


2013 Dane Cameron

Allrights reserved. No part of this publication may be reproduced, distributed, ortransmitted in any form or by any means, including photocopying, recording, orother electronic or mechanical methods, without the prior written permission ofthe publisher, except in the case of brief quotations embodied in criticalreviews and certain other non-commercial uses permitted by copyright law. Forpermission requests, write to the publisher, addressed Attention: PermissionsCoordinator, at the address below.

Original and modified cover art by Karunakar Rayker and CoverDesignStudio.com

Cisdal

www.cisdal.com

Table of Contents
Preface

JavaScript (and its frameworks such asjQuery) and HTML (along with its style sheet language CSS) have become a ubiquitouspresence in software development. Due to their monopoly position in webbrowsers, and the fact web browsers have spread from PCs to phones, tablets andTVs; this pervasiveness will continue to grow and grow.

Despite their success, many softwareengineers are apprehensive about JavaScript and HTML. This apprehensiveness isnot completely unfounded; both JavaScript and HTML were rushed in their earlyyears, and driven by commercial rather than engineering interests. As a result,many dubious features crept into these languages. Due to backwardscompatibility concerns, most of these features still remain.

In addition, many software engineers have used these languages without ever learning them. JavaScript and HTML havelow barriers to entry, and this, along with their similarity to other languages,led many software engineers to conclude that there really was nothing much tolearn.

If you have not used JavaScript and HTMLfor a number of years you may be surprised at what they now offer. Browserbased web applications are now capable of matching or exceeding thesophistication and scale of traditional desktop applications. In order tocreate complex web applications however, it is essential to learn these languages.

This book takes the point of view that onceyou have a strong grasp of the fundamentals, the details will take care ofthemselves. It will not present you with long lists of APIs, or intricatedetails of every attribute, these can be found in reference manuals. It willfocus on the details of each language that are fundamental to understanding howthey work.

I hope this book helps you discover theelegance and beauty of JavaScript and HTML, and makes you think differentlyabout what can be achieved with these languages.

October, 2013

Introduction

Im not going to second guess yourmotivations for reading this book but I would like to tell you how I arrivedat writing it.

I was a software engineer with 15 yearsexperience writing large-scale, enterprise Java applications. Typically theseapplications performed system integration functions, rather than end-userfunctionality.

I then joined a team writing a complex webapplication from scratch. This web application had a number of requirements Ihad not encountered before:

It had to run inside the latest versionof all major browsers.

It had to be capable of running withoutnetwork connectivity for periods of time, and therefore needed to store reasonablylarge amounts of data on the client.

It had to be capable of reading filesselected by the user while offline.

It needed to be highly dynamic, and allowcomplex interactions without page refreshes.

It needed to perform as well or betterthan a desktop application.

It needed to be standards based, and not utilizebrowser plugins.

I had written simple HTML pages and simple JavaScriptover the years but was often frustrated by it. JavaScript was particularlyfrustrating: it resembled Java (which I knew well), but it seemed to have gotmany things wrong. The more I tried to apply my Java thinking to JavaScript,the worse things seemed to get.

I did at least realize that I had not takenthe time to learn JavaScript. I hadmade many assumptions about what JavaScript was, and how it worked, but I hadnever taken the time to verify theseassumptions.

Before starting my new project I decided tostart from scratch and learn the best approached for building a web applicationwith the languages available. I had used enough web applications over recentyears to know the potential browser-based technologies offered, but I didntknow the best way to unlock this potential.

The more I learned about the platformmodern browsers offered software engineers the more surprised I became. Thestandards loosely grouped together as HTML5 offer a wide-ranging set offeatures from data storage to offline resource storage to file management.

In addition, the more I learned about JavaScriptthe more impressed I became. JavaScript may bear a superficial similarity toJava, but in actuality it has more in common with functional languages such asLISP and Scheme. The features that had initially troubled me about JavaScript turnedout to be enormous strengths in the language.

Finally, I came across the jQuery library.jQuery does not allow a software engineer to do anything that could not be donewith native JavaScript APIs, but it provides such an elegant abstraction on topof JavaScript that it became an essential component in my toolbox. It removedmy final hesitation with browser-based technologies: the cumbersome DOM API.

This book is the book I wanted to read atthe beginning of my journey. It starts from the assumption that you have sometraining as a software engineer or computer programmer, and presents theessentials you need to understand, without attempting to cover all aspects ofeach language. Once these fundamentals are understood, the process of expandingyour knowledge with these languages is comparatively trivial.

Before beginning, it is worth reviewing therise of HTML and JavaScript over the last few years in-particular, and thereasons this has happened.

Browser Wars Part 2

The original browser wars took place in thelate 1990s between Netscape and Microsoft. Microsoft won. As a result, browsertechnology stagnated: from 2001-2006 the user experience barely progressed atall.

The second browser war started around 2005,first with Firefox, and then with the rise of Chrome. This browser war becamean arms race as all major browser vendors added new and interesting features totheir browsers. Many of these features were eventually standardized as part ofthe HTML5 standardization process, and adopted by other browser vendors.

One of the main consequences of the secondbrowser war was a dramatic improvement in the performance of JavaScript.

JavaScript is an interpreted language. Assuch it tends to have worse performance than a compiled language such as C or C++.This is because an intermediary (the interpreter) is responsible for takinginstructions, and converting them to machine specific instructions in real timeas the program executes. The performance of JavaScript was so poor in InternetExplorer it was really only appropriate for simple tasks such as formvalidation.

Google in particular recognised that theperformance of JavaScript was a major hindrance to the development of webapplications. In order to improve the performance of JavaScript, Googledeveloped the V8 JavaScript engine in 2008.

The V8 JavaScript engine produced massiveincreases in JavaScript performance by compiling JavaScript into machinelanguage on a Just-In-Time (JIT) basis rather than interpreting it as it wasexecuted.

Since the release of V8, all major browservendors have implemented JIT compilation in their JavaScript engines. Browservendors also began to actively compete amongst one another to create thefastest JavaScript engine, and a variety of benchmarks have been created tocompare their relative performance. Microsoft finally entered the race withIE9, and continued to build on their performance with IE10.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications»

Look at similar books to A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications»

Discussion, reviews of the book A Software Engineer Learns HTML5, JavaScript and jQuery: A guide to standards-based web applications and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.