Philip Ackermann
Full Stack Web Development (eBook, ePUB)
Mastering Web Development from Client to Server-Side Technologies
36,95 €
inkl. MwSt.
Sofort per Download lieferbar
Philip Ackermann
Full Stack Web Development (eBook, ePUB)
Mastering Web Development from Client to Server-Side Technologies
- Format: ePub
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei
bücher.de, um das eBook-Abo tolino select nutzen zu können.
Hier können Sie sich einloggen
Hier können Sie sich einloggen
Sie sind bereits eingeloggt. Klicken Sie auf 2. tolino select Abo, um fortzufahren.
Bitte loggen Sie sich zunächst in Ihr Kundenkonto ein oder registrieren Sie sich bei bücher.de, um das eBook-Abo tolino select nutzen zu können.
This book offers a comprehensive guide to full stack web development, covering everything from core web technologies to advanced topics. The early chapters introduce foundational concepts like client-server relationships, HTML, CSS, and JavaScript. Readers learn how to build static and dynamic web pages, gaining a solid grounding in front-end development.
As the book progresses, it delves into more advanced areas such as structuring applications, databases, and server-side programming using frameworks like Node.js and PHP. Practical examples, such as building web servers and handling data,…mehr
- Geräte: eReader
- ohne Kopierschutz
- eBook Hilfe
- Größe: 20.09MB
- Upload möglich
Andere Kunden interessierten sich auch für
- Mykyta ChernenkoFull-Stack Web Development with TypeScript 5 (eBook, ePUB)21,95 €
- Juha HinkulaHands-On Full Stack Development with Spring Boot 2.0 and React (eBook, ePUB)30,95 €
- Ahmed BouchefraFull Stack Development with Angular and GraphQL (eBook, ePUB)22,95 €
- Fernando MonteiroHands-On Full Stack Web Development with Angular 6 and Laravel 5 (eBook, ePUB)30,95 €
- Deepu K SasidharanFull Stack Development with JHipster (eBook, ePUB)26,95 €
- Sebastian GrebeHands-On Full-Stack Web Development with GraphQL and React (eBook, ePUB)30,95 €
- Aneeta SharmaFull-Stack Web Development with Vue.js and Node (eBook, ePUB)30,95 €
-
-
-
This book offers a comprehensive guide to full stack web development, covering everything from core web technologies to advanced topics. The early chapters introduce foundational concepts like client-server relationships, HTML, CSS, and JavaScript. Readers learn how to build static and dynamic web pages, gaining a solid grounding in front-end development.
As the book progresses, it delves into more advanced areas such as structuring applications, databases, and server-side programming using frameworks like Node.js and PHP. Practical examples, such as building web servers and handling data, help readers apply their skills in real-world scenarios, bridging the gap between theory and practice.
The later chapters address crucial topics like web security, performance optimization, and project management. Readers are introduced to modern practices like Docker, microservices, and Agile project management, equipping them to handle scalable, secure applications. By the end, readers will have a holistic understanding of how to build, secure, and deploy full stack applications, making this book ideal for both beginners and experienced developers seeking to refine their skills.
As the book progresses, it delves into more advanced areas such as structuring applications, databases, and server-side programming using frameworks like Node.js and PHP. Practical examples, such as building web servers and handling data, help readers apply their skills in real-world scenarios, bridging the gap between theory and practice.
The later chapters address crucial topics like web security, performance optimization, and project management. Readers are introduced to modern practices like Docker, microservices, and Agile project management, equipping them to handle scalable, secure applications. By the end, readers will have a holistic understanding of how to build, secure, and deploy full stack applications, making this book ideal for both beginners and experienced developers seeking to refine their skills.
Produktdetails
- Produktdetails
- Verlag: Packt Publishing
- Seitenzahl: 743
- Erscheinungstermin: 18. September 2024
- Englisch
- ISBN-13: 9781836644927
- Artikelnr.: 71771336
- Verlag: Packt Publishing
- Seitenzahl: 743
- Erscheinungstermin: 18. September 2024
- Englisch
- ISBN-13: 9781836644927
- Artikelnr.: 71771336
· ... Foreword ... 23
· ... Preface ... 25
· ... Intended Audience ... 26
· ... Structure of the Book ... 26
· ... How Should I Read This Book? ... 26
· ... Acknowledgments ... 27
· 1 ... Understanding the Basics ... 29
· 1.1 ... Terminology ... 29
· 1.2 ... Structure of Web Applications ... 32
· 1.3 ... Full Stack Development ... 36
· 1.4 ... Tools for Full Stack Developers ... 42
· 1.5 ... Summary and Outlook ... 50
· 2 ... Structuring Web Pages with HTML ... 51
· 2.1 ... Introduction ... 51
· 2.2 ... Using the Most Important Elements ... 56
· 2.3 ... Summary and Outlook ... 77
· 3 ... Designing Web Pages with CSS ... 79
· 3.1 ... Introduction ... 79
· 3.2 ... Applying Colors and Text Formatting ... 91
· 3.3 ... Lists and Tables ... 103
· 3.4 ... Understanding the Different Layout Systems ... 112
· 3.5 ... Summary and Outlook ... 129
· 4 ... Making Web Pages Interactive with JavaScript ... 133
· 4.1 ... Introduction ... 133
· 4.2 ... Variables, Constants, Data Types, and Operators ... 140
· 4.3 ... Using Control Structures ... 144
· 4.4 ... Functions and Error Handling ... 147
· 4.5 ... Objects and Arrays ... 151
· 4.6 ... Summary and Outlook ... 154
· 5 ... Using Web Protocols ... 157
· 5.1 ... Hypertext Transfer Protocol ... 157
· 5.2 ... Bidirectional Communication ... 174
· 5.3 ... Summary and Outlook ... 178
· 6 ... Using Web Formats ... 181
· 6.1 ... Data Formats ... 182
· 6.2 ... Image Formats ... 193
· 6.3 ... Video and Audio Formats ... 199
· 6.4 ... Summary and Outlook ... 204
· 7 ... Using Web APIs ... 207
· 7.1 ... Changing Web Pages Dynamically Using the DOM API ... 208
· 7.2 ... Loading Data Synchronously via Ajax and the Fetch API ... 218
· 7.3 ... Other Web APIs ... 223
· 7.4 ... Summary and Outlook ... 227
· 8 ... Optimizing Websites for Accessibility ... 229
· 8.1 ... Introduction ... 229
· 8.2 ... Making Components of a Website Accessible ... 236
· 8.3 ... Testing Accessibility ... 254
· 8.4 ... Summary and Outlook ... 258
· 9 ... Simplifying CSS with CSS Preprocessors ... 261
· 9.1 ... Introduction ... 261
· 9.2 ... Using Sass ... 264
· 9.3 ... Summary and Outlook ... 285
· 10 ... Implementing Single-Page Applications ... 287
· 10.1 ... Introduction ... 287
· 10.2 ... Setup ... 290
· 10.3 ... Components: The Building Blocks of a React Application ... 293
· 10.4 ... Styling Components ... 298
· 10.5 ... Component Hierarchies ... 302
· 10.6 ... Forms ... 307
· 10.7 ... The Context API ... 310
· 10.8 ... Routing ... 314
· 10.9 ... Summary and Outlook ... 316
· 11 ... Implementing Mobile Applications ... 319
· 11.1 ... The Different Types of Mobile Applications ... 319
· 11.2 ... Responsive Design ... 326
· 11.3 ... Cross-Platform Development with React Native ... 338
· 11.4 ... Summary and Outlook ... 349
· 12 ... Understanding and Using Web Architectures ... 351
· 12.1 ... Layered Architectures ... 352
· 12.2 ... Monoliths and Distributed Architectures ... 358
· 12.3 ... MV* Architectures ... 367
· 12.4 ... Summary and Outlook ... 371
· 13 ... Using Programming Languages on the Server Side ... 373
· 13.1 ... Types of Programming Languages ... 374
· 13.2 ... Programming Paradigms ... 378
· 13.3 ... What Are the Programming Languages? ... 385
· 13.4 ... Summary and Outlook ... 395
· 14 ... Using JavaScript on the Server Side ... 399
· 14.1 ... JavaScript on Node.js ... 399
· 14.2 ... Using the Integrated Modules ... 409
· 14.3 ... Implementing a Web Server ... 413
· 14.4 ... Summary and Outlook ... 423
· 15 ... Using the PHP Language ... 425
· 15.1 ... Introduction to the PHP Language ... 425
· 15.2 ... Installing PHP and the Web Server Locally ... 425
· 15.3 ... Variables, Data Types, and Operators ... 427
· 15.4 ... Using Control Structures ... 435
· 15.5 ... Functions and Error Handling ... 439
· 15.6 ... Using Classes and Objects ... 445
· 15.7 ... Developing Dynamic Websites with PHP ... 450
· 15.8 ... Summary and Outlook ... 460
· 16 ... Implementing Web Services ... 463
· 16.1 ... Introduction ... 463
· 16.2 ... SOAP ... 465
· 16.3 ... REST ... 471
· 16.4 ... GraphQL ... 488
· 16.5 ... Summary and Outlook ... 493
· 17 ... Storing Data in Databases ... 495
· 17.1 ... Relational Databases ... 496
· 17.2 ... Non-Relational Databases ... 518
· 17.3 ... Summary and Outlook ... 524
· 18 ... Testing Web Applications ... 527
· 18.1 ... Automated Tests ... 527
· 18.2 ... Test Coverage ... 537
· 18.3 ... Test Doubles ... 539
· 18.4 ... Summary and Outlook ... 544
· 19 ... Deploying and Hosting Web Applications ... 547
· 19.1 ... Introduction ... 547
· 19.2 ... Container Management ... 557
· 19.3 ... Summary and Outlook ... 569
· 20 ... Securing Web Applications ... 571
· 20.1 ... Vulnerabilities ... 572
· 20.2 ... Encryption and Cryptography ... 579
· 20.3 ... Same-Origin Policies, Content Security Policies, and Cross-Origin Resource Sharing ... 584
· 20.4 ... Authentication ... 593
· 20.5 ... Summary and Outlook ... 597
· 21 ... Optimizing the Performance of Web Applications ... 599
· 21.1 ... Introduction ... 599
· 21.2 ... Options for Optimization ... 609
· 21.3 ... Summary and Outlook ... 627
· 22 ... Organizing and Managing Web Projects ... 631
· 22.1 ... Types of Version Control Systems ... 632
· 22.2 ... The Git Version Control System ... 635
· 22.3 ... Summary and Outlook ... 648
· 23 ... Managing Web Projects ... 651
· 23.1 ... Classic Project Management versus Agile Project Management ... 651
· 23.2 ... Agile Project Management Based on Scrum ... 654
· 23.3 ... Summary and Outlook ... 665
· ... Appendices ... 669
· A ... HTTP ... 669
· B ... HTML Elements ... 691
· C ... Tools and Command References ... 703
· D ... Conclusion ... 715
· E ... The Author ... 717
· ... Index ... 719
· ... Preface ... 25
· ... Intended Audience ... 26
· ... Structure of the Book ... 26
· ... How Should I Read This Book? ... 26
· ... Acknowledgments ... 27
· 1 ... Understanding the Basics ... 29
· 1.1 ... Terminology ... 29
· 1.2 ... Structure of Web Applications ... 32
· 1.3 ... Full Stack Development ... 36
· 1.4 ... Tools for Full Stack Developers ... 42
· 1.5 ... Summary and Outlook ... 50
· 2 ... Structuring Web Pages with HTML ... 51
· 2.1 ... Introduction ... 51
· 2.2 ... Using the Most Important Elements ... 56
· 2.3 ... Summary and Outlook ... 77
· 3 ... Designing Web Pages with CSS ... 79
· 3.1 ... Introduction ... 79
· 3.2 ... Applying Colors and Text Formatting ... 91
· 3.3 ... Lists and Tables ... 103
· 3.4 ... Understanding the Different Layout Systems ... 112
· 3.5 ... Summary and Outlook ... 129
· 4 ... Making Web Pages Interactive with JavaScript ... 133
· 4.1 ... Introduction ... 133
· 4.2 ... Variables, Constants, Data Types, and Operators ... 140
· 4.3 ... Using Control Structures ... 144
· 4.4 ... Functions and Error Handling ... 147
· 4.5 ... Objects and Arrays ... 151
· 4.6 ... Summary and Outlook ... 154
· 5 ... Using Web Protocols ... 157
· 5.1 ... Hypertext Transfer Protocol ... 157
· 5.2 ... Bidirectional Communication ... 174
· 5.3 ... Summary and Outlook ... 178
· 6 ... Using Web Formats ... 181
· 6.1 ... Data Formats ... 182
· 6.2 ... Image Formats ... 193
· 6.3 ... Video and Audio Formats ... 199
· 6.4 ... Summary and Outlook ... 204
· 7 ... Using Web APIs ... 207
· 7.1 ... Changing Web Pages Dynamically Using the DOM API ... 208
· 7.2 ... Loading Data Synchronously via Ajax and the Fetch API ... 218
· 7.3 ... Other Web APIs ... 223
· 7.4 ... Summary and Outlook ... 227
· 8 ... Optimizing Websites for Accessibility ... 229
· 8.1 ... Introduction ... 229
· 8.2 ... Making Components of a Website Accessible ... 236
· 8.3 ... Testing Accessibility ... 254
· 8.4 ... Summary and Outlook ... 258
· 9 ... Simplifying CSS with CSS Preprocessors ... 261
· 9.1 ... Introduction ... 261
· 9.2 ... Using Sass ... 264
· 9.3 ... Summary and Outlook ... 285
· 10 ... Implementing Single-Page Applications ... 287
· 10.1 ... Introduction ... 287
· 10.2 ... Setup ... 290
· 10.3 ... Components: The Building Blocks of a React Application ... 293
· 10.4 ... Styling Components ... 298
· 10.5 ... Component Hierarchies ... 302
· 10.6 ... Forms ... 307
· 10.7 ... The Context API ... 310
· 10.8 ... Routing ... 314
· 10.9 ... Summary and Outlook ... 316
· 11 ... Implementing Mobile Applications ... 319
· 11.1 ... The Different Types of Mobile Applications ... 319
· 11.2 ... Responsive Design ... 326
· 11.3 ... Cross-Platform Development with React Native ... 338
· 11.4 ... Summary and Outlook ... 349
· 12 ... Understanding and Using Web Architectures ... 351
· 12.1 ... Layered Architectures ... 352
· 12.2 ... Monoliths and Distributed Architectures ... 358
· 12.3 ... MV* Architectures ... 367
· 12.4 ... Summary and Outlook ... 371
· 13 ... Using Programming Languages on the Server Side ... 373
· 13.1 ... Types of Programming Languages ... 374
· 13.2 ... Programming Paradigms ... 378
· 13.3 ... What Are the Programming Languages? ... 385
· 13.4 ... Summary and Outlook ... 395
· 14 ... Using JavaScript on the Server Side ... 399
· 14.1 ... JavaScript on Node.js ... 399
· 14.2 ... Using the Integrated Modules ... 409
· 14.3 ... Implementing a Web Server ... 413
· 14.4 ... Summary and Outlook ... 423
· 15 ... Using the PHP Language ... 425
· 15.1 ... Introduction to the PHP Language ... 425
· 15.2 ... Installing PHP and the Web Server Locally ... 425
· 15.3 ... Variables, Data Types, and Operators ... 427
· 15.4 ... Using Control Structures ... 435
· 15.5 ... Functions and Error Handling ... 439
· 15.6 ... Using Classes and Objects ... 445
· 15.7 ... Developing Dynamic Websites with PHP ... 450
· 15.8 ... Summary and Outlook ... 460
· 16 ... Implementing Web Services ... 463
· 16.1 ... Introduction ... 463
· 16.2 ... SOAP ... 465
· 16.3 ... REST ... 471
· 16.4 ... GraphQL ... 488
· 16.5 ... Summary and Outlook ... 493
· 17 ... Storing Data in Databases ... 495
· 17.1 ... Relational Databases ... 496
· 17.2 ... Non-Relational Databases ... 518
· 17.3 ... Summary and Outlook ... 524
· 18 ... Testing Web Applications ... 527
· 18.1 ... Automated Tests ... 527
· 18.2 ... Test Coverage ... 537
· 18.3 ... Test Doubles ... 539
· 18.4 ... Summary and Outlook ... 544
· 19 ... Deploying and Hosting Web Applications ... 547
· 19.1 ... Introduction ... 547
· 19.2 ... Container Management ... 557
· 19.3 ... Summary and Outlook ... 569
· 20 ... Securing Web Applications ... 571
· 20.1 ... Vulnerabilities ... 572
· 20.2 ... Encryption and Cryptography ... 579
· 20.3 ... Same-Origin Policies, Content Security Policies, and Cross-Origin Resource Sharing ... 584
· 20.4 ... Authentication ... 593
· 20.5 ... Summary and Outlook ... 597
· 21 ... Optimizing the Performance of Web Applications ... 599
· 21.1 ... Introduction ... 599
· 21.2 ... Options for Optimization ... 609
· 21.3 ... Summary and Outlook ... 627
· 22 ... Organizing and Managing Web Projects ... 631
· 22.1 ... Types of Version Control Systems ... 632
· 22.2 ... The Git Version Control System ... 635
· 22.3 ... Summary and Outlook ... 648
· 23 ... Managing Web Projects ... 651
· 23.1 ... Classic Project Management versus Agile Project Management ... 651
· 23.2 ... Agile Project Management Based on Scrum ... 654
· 23.3 ... Summary and Outlook ... 665
· ... Appendices ... 669
· A ... HTTP ... 669
· B ... HTML Elements ... 691
· C ... Tools and Command References ... 703
· D ... Conclusion ... 715
· E ... The Author ... 717
· ... Index ... 719
· ... Foreword ... 23
· ... Preface ... 25
· ... Intended Audience ... 26
· ... Structure of the Book ... 26
· ... How Should I Read This Book? ... 26
· ... Acknowledgments ... 27
· 1 ... Understanding the Basics ... 29
· 1.1 ... Terminology ... 29
· 1.2 ... Structure of Web Applications ... 32
· 1.3 ... Full Stack Development ... 36
· 1.4 ... Tools for Full Stack Developers ... 42
· 1.5 ... Summary and Outlook ... 50
· 2 ... Structuring Web Pages with HTML ... 51
· 2.1 ... Introduction ... 51
· 2.2 ... Using the Most Important Elements ... 56
· 2.3 ... Summary and Outlook ... 77
· 3 ... Designing Web Pages with CSS ... 79
· 3.1 ... Introduction ... 79
· 3.2 ... Applying Colors and Text Formatting ... 91
· 3.3 ... Lists and Tables ... 103
· 3.4 ... Understanding the Different Layout Systems ... 112
· 3.5 ... Summary and Outlook ... 129
· 4 ... Making Web Pages Interactive with JavaScript ... 133
· 4.1 ... Introduction ... 133
· 4.2 ... Variables, Constants, Data Types, and Operators ... 140
· 4.3 ... Using Control Structures ... 144
· 4.4 ... Functions and Error Handling ... 147
· 4.5 ... Objects and Arrays ... 151
· 4.6 ... Summary and Outlook ... 154
· 5 ... Using Web Protocols ... 157
· 5.1 ... Hypertext Transfer Protocol ... 157
· 5.2 ... Bidirectional Communication ... 174
· 5.3 ... Summary and Outlook ... 178
· 6 ... Using Web Formats ... 181
· 6.1 ... Data Formats ... 182
· 6.2 ... Image Formats ... 193
· 6.3 ... Video and Audio Formats ... 199
· 6.4 ... Summary and Outlook ... 204
· 7 ... Using Web APIs ... 207
· 7.1 ... Changing Web Pages Dynamically Using the DOM API ... 208
· 7.2 ... Loading Data Synchronously via Ajax and the Fetch API ... 218
· 7.3 ... Other Web APIs ... 223
· 7.4 ... Summary and Outlook ... 227
· 8 ... Optimizing Websites for Accessibility ... 229
· 8.1 ... Introduction ... 229
· 8.2 ... Making Components of a Website Accessible ... 236
· 8.3 ... Testing Accessibility ... 254
· 8.4 ... Summary and Outlook ... 258
· 9 ... Simplifying CSS with CSS Preprocessors ... 261
· 9.1 ... Introduction ... 261
· 9.2 ... Using Sass ... 264
· 9.3 ... Summary and Outlook ... 285
· 10 ... Implementing Single-Page Applications ... 287
· 10.1 ... Introduction ... 287
· 10.2 ... Setup ... 290
· 10.3 ... Components: The Building Blocks of a React Application ... 293
· 10.4 ... Styling Components ... 298
· 10.5 ... Component Hierarchies ... 302
· 10.6 ... Forms ... 307
· 10.7 ... The Context API ... 310
· 10.8 ... Routing ... 314
· 10.9 ... Summary and Outlook ... 316
· 11 ... Implementing Mobile Applications ... 319
· 11.1 ... The Different Types of Mobile Applications ... 319
· 11.2 ... Responsive Design ... 326
· 11.3 ... Cross-Platform Development with React Native ... 338
· 11.4 ... Summary and Outlook ... 349
· 12 ... Understanding and Using Web Architectures ... 351
· 12.1 ... Layered Architectures ... 352
· 12.2 ... Monoliths and Distributed Architectures ... 358
· 12.3 ... MV* Architectures ... 367
· 12.4 ... Summary and Outlook ... 371
· 13 ... Using Programming Languages on the Server Side ... 373
· 13.1 ... Types of Programming Languages ... 374
· 13.2 ... Programming Paradigms ... 378
· 13.3 ... What Are the Programming Languages? ... 385
· 13.4 ... Summary and Outlook ... 395
· 14 ... Using JavaScript on the Server Side ... 399
· 14.1 ... JavaScript on Node.js ... 399
· 14.2 ... Using the Integrated Modules ... 409
· 14.3 ... Implementing a Web Server ... 413
· 14.4 ... Summary and Outlook ... 423
· 15 ... Using the PHP Language ... 425
· 15.1 ... Introduction to the PHP Language ... 425
· 15.2 ... Installing PHP and the Web Server Locally ... 425
· 15.3 ... Variables, Data Types, and Operators ... 427
· 15.4 ... Using Control Structures ... 435
· 15.5 ... Functions and Error Handling ... 439
· 15.6 ... Using Classes and Objects ... 445
· 15.7 ... Developing Dynamic Websites with PHP ... 450
· 15.8 ... Summary and Outlook ... 460
· 16 ... Implementing Web Services ... 463
· 16.1 ... Introduction ... 463
· 16.2 ... SOAP ... 465
· 16.3 ... REST ... 471
· 16.4 ... GraphQL ... 488
· 16.5 ... Summary and Outlook ... 493
· 17 ... Storing Data in Databases ... 495
· 17.1 ... Relational Databases ... 496
· 17.2 ... Non-Relational Databases ... 518
· 17.3 ... Summary and Outlook ... 524
· 18 ... Testing Web Applications ... 527
· 18.1 ... Automated Tests ... 527
· 18.2 ... Test Coverage ... 537
· 18.3 ... Test Doubles ... 539
· 18.4 ... Summary and Outlook ... 544
· 19 ... Deploying and Hosting Web Applications ... 547
· 19.1 ... Introduction ... 547
· 19.2 ... Container Management ... 557
· 19.3 ... Summary and Outlook ... 569
· 20 ... Securing Web Applications ... 571
· 20.1 ... Vulnerabilities ... 572
· 20.2 ... Encryption and Cryptography ... 579
· 20.3 ... Same-Origin Policies, Content Security Policies, and Cross-Origin Resource Sharing ... 584
· 20.4 ... Authentication ... 593
· 20.5 ... Summary and Outlook ... 597
· 21 ... Optimizing the Performance of Web Applications ... 599
· 21.1 ... Introduction ... 599
· 21.2 ... Options for Optimization ... 609
· 21.3 ... Summary and Outlook ... 627
· 22 ... Organizing and Managing Web Projects ... 631
· 22.1 ... Types of Version Control Systems ... 632
· 22.2 ... The Git Version Control System ... 635
· 22.3 ... Summary and Outlook ... 648
· 23 ... Managing Web Projects ... 651
· 23.1 ... Classic Project Management versus Agile Project Management ... 651
· 23.2 ... Agile Project Management Based on Scrum ... 654
· 23.3 ... Summary and Outlook ... 665
· ... Appendices ... 669
· A ... HTTP ... 669
· B ... HTML Elements ... 691
· C ... Tools and Command References ... 703
· D ... Conclusion ... 715
· E ... The Author ... 717
· ... Index ... 719
· ... Preface ... 25
· ... Intended Audience ... 26
· ... Structure of the Book ... 26
· ... How Should I Read This Book? ... 26
· ... Acknowledgments ... 27
· 1 ... Understanding the Basics ... 29
· 1.1 ... Terminology ... 29
· 1.2 ... Structure of Web Applications ... 32
· 1.3 ... Full Stack Development ... 36
· 1.4 ... Tools for Full Stack Developers ... 42
· 1.5 ... Summary and Outlook ... 50
· 2 ... Structuring Web Pages with HTML ... 51
· 2.1 ... Introduction ... 51
· 2.2 ... Using the Most Important Elements ... 56
· 2.3 ... Summary and Outlook ... 77
· 3 ... Designing Web Pages with CSS ... 79
· 3.1 ... Introduction ... 79
· 3.2 ... Applying Colors and Text Formatting ... 91
· 3.3 ... Lists and Tables ... 103
· 3.4 ... Understanding the Different Layout Systems ... 112
· 3.5 ... Summary and Outlook ... 129
· 4 ... Making Web Pages Interactive with JavaScript ... 133
· 4.1 ... Introduction ... 133
· 4.2 ... Variables, Constants, Data Types, and Operators ... 140
· 4.3 ... Using Control Structures ... 144
· 4.4 ... Functions and Error Handling ... 147
· 4.5 ... Objects and Arrays ... 151
· 4.6 ... Summary and Outlook ... 154
· 5 ... Using Web Protocols ... 157
· 5.1 ... Hypertext Transfer Protocol ... 157
· 5.2 ... Bidirectional Communication ... 174
· 5.3 ... Summary and Outlook ... 178
· 6 ... Using Web Formats ... 181
· 6.1 ... Data Formats ... 182
· 6.2 ... Image Formats ... 193
· 6.3 ... Video and Audio Formats ... 199
· 6.4 ... Summary and Outlook ... 204
· 7 ... Using Web APIs ... 207
· 7.1 ... Changing Web Pages Dynamically Using the DOM API ... 208
· 7.2 ... Loading Data Synchronously via Ajax and the Fetch API ... 218
· 7.3 ... Other Web APIs ... 223
· 7.4 ... Summary and Outlook ... 227
· 8 ... Optimizing Websites for Accessibility ... 229
· 8.1 ... Introduction ... 229
· 8.2 ... Making Components of a Website Accessible ... 236
· 8.3 ... Testing Accessibility ... 254
· 8.4 ... Summary and Outlook ... 258
· 9 ... Simplifying CSS with CSS Preprocessors ... 261
· 9.1 ... Introduction ... 261
· 9.2 ... Using Sass ... 264
· 9.3 ... Summary and Outlook ... 285
· 10 ... Implementing Single-Page Applications ... 287
· 10.1 ... Introduction ... 287
· 10.2 ... Setup ... 290
· 10.3 ... Components: The Building Blocks of a React Application ... 293
· 10.4 ... Styling Components ... 298
· 10.5 ... Component Hierarchies ... 302
· 10.6 ... Forms ... 307
· 10.7 ... The Context API ... 310
· 10.8 ... Routing ... 314
· 10.9 ... Summary and Outlook ... 316
· 11 ... Implementing Mobile Applications ... 319
· 11.1 ... The Different Types of Mobile Applications ... 319
· 11.2 ... Responsive Design ... 326
· 11.3 ... Cross-Platform Development with React Native ... 338
· 11.4 ... Summary and Outlook ... 349
· 12 ... Understanding and Using Web Architectures ... 351
· 12.1 ... Layered Architectures ... 352
· 12.2 ... Monoliths and Distributed Architectures ... 358
· 12.3 ... MV* Architectures ... 367
· 12.4 ... Summary and Outlook ... 371
· 13 ... Using Programming Languages on the Server Side ... 373
· 13.1 ... Types of Programming Languages ... 374
· 13.2 ... Programming Paradigms ... 378
· 13.3 ... What Are the Programming Languages? ... 385
· 13.4 ... Summary and Outlook ... 395
· 14 ... Using JavaScript on the Server Side ... 399
· 14.1 ... JavaScript on Node.js ... 399
· 14.2 ... Using the Integrated Modules ... 409
· 14.3 ... Implementing a Web Server ... 413
· 14.4 ... Summary and Outlook ... 423
· 15 ... Using the PHP Language ... 425
· 15.1 ... Introduction to the PHP Language ... 425
· 15.2 ... Installing PHP and the Web Server Locally ... 425
· 15.3 ... Variables, Data Types, and Operators ... 427
· 15.4 ... Using Control Structures ... 435
· 15.5 ... Functions and Error Handling ... 439
· 15.6 ... Using Classes and Objects ... 445
· 15.7 ... Developing Dynamic Websites with PHP ... 450
· 15.8 ... Summary and Outlook ... 460
· 16 ... Implementing Web Services ... 463
· 16.1 ... Introduction ... 463
· 16.2 ... SOAP ... 465
· 16.3 ... REST ... 471
· 16.4 ... GraphQL ... 488
· 16.5 ... Summary and Outlook ... 493
· 17 ... Storing Data in Databases ... 495
· 17.1 ... Relational Databases ... 496
· 17.2 ... Non-Relational Databases ... 518
· 17.3 ... Summary and Outlook ... 524
· 18 ... Testing Web Applications ... 527
· 18.1 ... Automated Tests ... 527
· 18.2 ... Test Coverage ... 537
· 18.3 ... Test Doubles ... 539
· 18.4 ... Summary and Outlook ... 544
· 19 ... Deploying and Hosting Web Applications ... 547
· 19.1 ... Introduction ... 547
· 19.2 ... Container Management ... 557
· 19.3 ... Summary and Outlook ... 569
· 20 ... Securing Web Applications ... 571
· 20.1 ... Vulnerabilities ... 572
· 20.2 ... Encryption and Cryptography ... 579
· 20.3 ... Same-Origin Policies, Content Security Policies, and Cross-Origin Resource Sharing ... 584
· 20.4 ... Authentication ... 593
· 20.5 ... Summary and Outlook ... 597
· 21 ... Optimizing the Performance of Web Applications ... 599
· 21.1 ... Introduction ... 599
· 21.2 ... Options for Optimization ... 609
· 21.3 ... Summary and Outlook ... 627
· 22 ... Organizing and Managing Web Projects ... 631
· 22.1 ... Types of Version Control Systems ... 632
· 22.2 ... The Git Version Control System ... 635
· 22.3 ... Summary and Outlook ... 648
· 23 ... Managing Web Projects ... 651
· 23.1 ... Classic Project Management versus Agile Project Management ... 651
· 23.2 ... Agile Project Management Based on Scrum ... 654
· 23.3 ... Summary and Outlook ... 665
· ... Appendices ... 669
· A ... HTTP ... 669
· B ... HTML Elements ... 691
· C ... Tools and Command References ... 703
· D ... Conclusion ... 715
· E ... The Author ... 717
· ... Index ... 719