Skip to content

Commit

Permalink
addressing final final comments of the tect editors ch1, ch2
Browse files Browse the repository at this point in the history
  • Loading branch information
yfain committed Feb 26, 2014
1 parent cb3ee40 commit 6b3ed24
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 40 deletions.
11 changes: 4 additions & 7 deletions Introduction.asciidoc
Expand Up @@ -9,15 +9,12 @@ During the last decade the authors of this book worked on many enterprise Web ap
This book is about developing software using what's known as HTML5 stack. But only the second chapter of this book will offer you an overview of the selected HTML5 tags and APIs. The first chapter is an
advanced introduction to JavaScript. The rest of the chapters are about designing, re-designing, developing, and re-developing a sample Web site Save The Child. You'll be learning whatever is required for building this Web application on the go.

You'll be using dynamic HTML (DHTML), which is HTML5, JavaScript, and Cascading Style
Sheets (CSS). We'll add to the mix the XMLHttpRequest object that lives in a Web browser and communicates with the server without the need to refresh the entire Web page (a.k.a. AJAX). JSON will be our data format
of choice for data exchange between the Web browser and the server.
You'll be using dynamic HTML (DHTML), which is HTML5, JavaScript, and Cascading Style Sheets (CSS). We'll add to the mix the XMLHttpRequest object that lives in a Web browser and communicates with the server without the need to refresh the entire Web page (a.k.a. AJAX). JSON will be our data format of choice for data exchange between the Web browser and the server.

WARNING: It's not possible to provide the detailed coverage of all programming languages, frameworks and tools used in this rather short book. You'll need to do some additional reading with more in-depth coverage of certain topics. This book is for practitioner who need to learn while developing a project.

=== From DHTML to HTML5

DHTML has been introduced in Microsoft Internet Explorer (IE) 5, and several years later it was substituted with a more popular acronym AJAX. Back in 1999 Microsoft introduced +XMLHttpRequest+ object to allow the Web version of their mail client Outlook to update the browser's window without the need to refresh the entire Web page. The market share of IE5 was about 90% at the time, and in enterprises it was literally the only approved browser.
DHTML stands for Dynamic HTML. Back in 1999 Microsoft introduced +XMLHttpRequest+ object to allow the Web version of their mail client Outlook to update the browser's window without the need to refresh the entire Web page, and several years later it was substituted with a more popular acronym AJAX. The market share of IE5 was about 90% at the time, and in enterprises it was literally the only approved browser.

Many years passed by and today's Internet ecosystems changed quite a bit. Web browsers are a lot smarter and performance of JavaScript improved substantially. The browsers support 6-8-12 simultaneous connections per domain (as opposed to 2 five years ago), which gave a performance boost to all AJAX applications. At least one third of all Web requests is being made from smart phones or tablets. Apple Inc. started their war against all browser's plugins hence using embedded Java VM or Flash Player is not an option there. The growing need to support a huge variety of mobile devices gave another boost for HTML5 stack, which is supported by all devices.

Expand All @@ -28,7 +25,7 @@ You'll save some time because there is no need to compile JavaScript, but you'll
comparing to the same project developed for a VM. But you'll gain a little better Web adaptability, easier implementation of full text search and the ability to create http://en.wikipedia.org/wiki/Mashup_(web_application_hybrid)[mashups]. The integration with other technologies will also
become easier with HTML/JavaScript. If all these advantages are important to your application choose HTML5.

JavaScript will enforce its language and tooling limitations on any serious and complex enterprise project. You can develop a number of fairly independent windows, but creating a well tested and reliable HTML5 takes time.
JavaScript will enforce its language and tooling limitations on any serious and complex enterprise project. You can develop a number of fairly independent windows, but creating a well tested and reliable HTML5 takes time. This can be done significantly easier by the use of libraries or a framework.

In this book we'll be using some JavaScript frameworks - the are dozens of those on the market. Several of them promise to cover all the needs of your Web application. Overall, there are two main categories of frameworks:

Expand Down Expand Up @@ -68,7 +65,7 @@ The short answer is yes. If you are planning to develop mainly for the mobile ma
Remember that, even if you rely on a framework that claims to offer cross-browser compatibility, you will still need to test your application in the browsers you intend to support to ensure it functions as intended. The chances are that you may
need to be fixing the framework's code here and there. Maintaining compatibility is a huge challenge for any framework's vendor, which in some cases can consist of just one developer. Spend some time working with the framework, and then work on your application code. If you can, submit your fixes back to the framework's code base - most of them are open source.

If you are planning to write pure JavaScript, add a tiny framework Modernizr (see Chapter 1) to your code base, which will detect if a certain feature is supported by the user's Web browser, and if not - provide an alternative solution. We like the analogy with TV sets. People with latest 3D HD TV sets and those who have 50-year old black and white televisions can watch the same movie even though the quality of the picture will be drastically different.
If you are planning to write pure JavaScript, add the tiny framework Modernizr (see Chapter 1) to your code base, which will detect if a certain feature is supported by the user's Web browser, and if not - provide an alternative solution. We like the analogy with TV sets. People with latest 3D HD TV sets and those who have 50-year old black and white televisions can watch the same movie even though the quality of the picture will be drastically different.

=== Challenges of the Enterprise Developer

Expand Down

0 comments on commit 6b3ed24

Please sign in to comment.