📜 ⬆️ ⬇️

JavaScript for professional web developers

Good time!
We published the book Zakas "JavaScript for professional web developers"

image

This book focuses on three groups of readers:
- professional developers with object-oriented programming experience and willing to learn JavaScript in the context of traditional object-oriented languages, such as Java and C ++;
‰‰ - web application developers who need to make their websites and web applications more convenient to use;
- ‰‰ novice JavaScript developers who want to better understand this language.

Topics covered in the book

The book combines an introduction to JavaScript for developers and a description of the more complex and useful features of this language.
We will first look at the history and evolution of JavaScript, after which we will discuss in detail the components of the language, focusing on standards such as ECMAScript and the Document Object Model (DOM), as well as the differences in JavaScript implementations in popular web browsers.
')
Taking this information as a basis, then we will look at the basic concepts of JavaScript, including the features of object-oriented programming with it, inheritance, and using it in HTML. Following a detailed discussion of event handling, you will learn about browser recognition techniques and new APIs, such as HTML5, Selectors, and File.

The last part of the book is devoted to more complex topics, such as optimizing speed and memory usage, best practices and promising directions for the development of JavaScript.

Book structure

The book has 25 chapters.
1. What is javascript? This chapter contains general information about JavaScript: you will learn how this language appeared, how it developed and what it is today. We will discuss how JavaScript relates to ECMAScript, the Document Object Model (DOM) and the Browser Object Model (BOM). In addition, you will familiarize yourself with the relevant standards from the European Computer Manufacturers Association (ECMA) and the World Wide Web Consortium (W3C).

2. JavaScript to HTML. This chapter describes how to use JavaScript in combination with HTML to create dynamic web pages. It also discusses various ways to embed JavaScript code in a page, types of JavaScript content and their use with the <script> element.

3. Basics of the language. This chapter discusses the basic concepts of the language, including its syntax and control instructions. It identifies the similarities and differences between JavaScript and other C-like languages, and also describes type casting in relation to embedded operators.

4. Variables, scope and memory. This chapter discusses variables that are weakly typed in JavaScript. The chapter contains information about the differences between primitive and reference values ​​and the execution context in connection with variables. You will also learn how the garbage collector works and how memory is returned to the environment when variables leave the scope.

5. Reference types. This chapter focuses on reference types built into JavaScript, such as Object and Array. For each reference type defined in ECMA-262, both theoretical information and details of its implementation in browsers are given.

6. Object-oriented programming. This chapter discusses the techniques of object-oriented JavaScript programming. Since there are no classes in JavaScript, we will discuss several popular methods of creating objects and inheritance. The chapter also contains information about the prototypes of functions and their use in the framework of the object-oriented approach.

7. Function expressions. Expression functions are the most powerful aspects of using JavaScript. This chapter describes closures, details of the operation of this object, the Module pattern, and the creation of closed member objects.

8. Browser object model. This chapter describes the browser object model (BOM), which provides objects for interacting with the browser. You will become familiar with all BOM objects, including window, document, location, navigator, and screen.

9. Customer recognition. This chapter describes how to recognize the client browser and the functionality it supports. You will learn about the recognition of opportunities, the analysis of the user agent string, the advantages and disadvantages of each approach, and which approach is optimal in a given situation.

10. Document Object Model. This chapter describes the objects defined in the DOM Level 1 specification. After becoming familiar with XML in the context of DOM, you will be able to study in detail the DOM model and its capabilities to manipulate the contents of the page.

11. DOM extensions. This chapter provides information on how the API and the browsers themselves extend the functionality of the DOM. Topics covered include Selectors, Element Traversal API, and HTML5 extensions.

12. DOM Levels 2 and 3. This chapter, based on the two previous chapters, discusses how the DOM Level 2 and 3 specifications extend DOM with additional properties, methods, and objects. Also addressed the compatibility issues of Internet Explorer and other browsers.

13. Events. From this chapter, you will learn about the nature of JavaScript events, their generation, support for inherited features, and how events are redefined in the DOM. Among other things, the chapter discusses the events of Wii and iPhone devices.

14. Work with forms. This chapter explains how to use JavaScript to improve interaction with forms and bypass the limitations of the browser. Special attention is paid to working with form elements such as text fields and lists, as well as validation and data processing.

15. Drawing on canvas. This chapter focuses on the tag and its use for dynamic graphics creation. Considered a two-dimensional context and the context of WebGL (three-dimensional) that will help you get started creating animations and games.

16. HTML5. This chapter introduces changes to the JavaScript API in HTML5. The chapter includes information about the transfer of messages between documents, the <audio> and <vide> elements of the Drag-and-Drop API, and the management of the state of the journal.

17. Error handling and debugging. This chapter describes how to handle errors in JavaScript code. Debugging tools and techniques for each browser are also described, and recommendations are given to simplify the debugging process.

18. XML in JavaScript. This chapter explores JavaScript features used to read and manipulate XML data. The differences in capabilities and objects in different web browsers are described and tips are given on writing cross-browser code. The chapter also provides information about using XSLT transformations to transform XML data on client systems.

19. ECMAScript for XML. This chapter focuses on the ECMAScript extension for XML (E4X), which simplifies working with XML. It also describes the advantages of E4X over manipulating XML with DOM.

20. JSON. This chapter introduces the JSON format, an alternative to XML. JSON parsing and serialization features are described, and information is provided on how to ensure security when using JSON.

21. Ajax and Comet. This chapter describes popular techniques for working with Ajax, including using the XMLHttpRequest object and exchanging source-of-resource (CORS) resources. It also discusses the differences in Ajax implementations and support in browsers and provides recommendations for using this technology.

22. More sophisticated techniques. This chapter describes more complex JavaScript templates, such as currying functions, partial application of functions, and dynamic functions. In addition, the chapter discusses user events and the creation of objects protected from changes using ECMAScript 5.

23. Offline mode and client storage. This chapter discusses how to determine that an application is offline and describes various methods for storing data on a client computer. The chapter describes both traditional cookies and newer features, such as web storage and the IndexedDB database.

24. Best practices. This chapter is about using JavaScript in a corporate environment. It describes code maintenance techniques, including coding techniques, code formatting, and general programming techniques. It also provides tips on optimizing and improving code performance. Finally, application deployment issues are addressed, including the implementation of the build process.

25. Promising API. This chapter presents APIs that are being developed to extend JavaScript capabilities in the browser. Despite the fact that these APIs are not fully implemented yet, browser developers are already beginning to implement them. This chapter contains information about Web Timing, Geolocation and the File API.

about the author

Nicholas Zakas has been developing web applications for more than ten years. He participated in the creation of corporate intranet applications for a number of the largest companies in the world and developed such well-known consumer websites like My Yahoo! and the Yahoo! home page. As a submission level architect at Yahoo! Nicholas led the development of client components of the most popular sites in the world. He regularly speaks at corporate meetings, conferences and informal events dedicated to new technologies and best practices for developing client components for web applications. He is the author of several books, including Professional Ajax and High Performance JavaScript, and maintains a blog on www.nczonline.net .

About science editor

John Peloquin (John Peloquin) has been developing client components for web applications and for ten years working with JavaScript has participated in creating solutions of all sizes. He received a bachelor's degree in mathematics from the University of California (Berkeley) and currently holds the position of lead developer in a young company that uses the latest client-side programming technology. John was the science editor of the JavaScript 24-Hour Trainer (Wiley, 2010), written by Jeremy McPeak. If John doesn’t program and doesn’t look for mistakes in books, he can be caught up doing math, philosophy or juggling.

More information about the book can be found on the publisher's website.
Table of contents
Excerpt
For Habrozhiteley 25% discount on the coupon JavaScript
The book is available only in paper form. The reason - the right holder did not want to transfer the electronic rights.

Source: https://habr.com/ru/post/255693/


All Articles