چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Client-Server web apps with JavaScript and Java : [rich, scalable, and restful

Saternos, Casimir

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

نسخه اصلی و اورجینال

فایل دیجیتال کامل و بدون دستکاری — همان نسخه‌ای که پس از خرید دریافت می‌کنید.

مشخصات کتاب

نویسنده
Saternos, Casimir
سال انتشار
۲۰۱۴
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۱٫۵ مگابایت

دربارهٔ کتاب

As a Java programmer, how can you tackle the disruptive client-server approach to web development? With this comprehensive guide, you’ll learn how today’s client-side technologies and web APIs work with various Java tools. Author Casimir Saternos provides the big picture of client-server development, and then takes you through many practical client-server architectures. You’ll work with hands-on projects in several chapters to get a feel for the topics discussed. User habits, technologies, and development methods have drastically altered web app design in recent years. But the Web itself hasn’t changed. This book shows you how to build apps that conform to the web’s underlying architecture. * Learn the advantages of using separate client and server tiers, including code organization and speedy prototyping * Explore the major tools, frameworks, and starter projects used in JavaScript development * Dive into web API design and REST style of software architecture * Understand Java’s alternatives to traditional packaging methods and application server deployment * Build projects with lightweight servers, using jQuery with Jython, and Sinatra with Angular * Create client-server web apps with traditional Java web application servers and libraries Copyright 4 Table of Contents 5 Preface 13 Who Is This Book For? 14 How This Book Is Organized 15 Conventions Used in This Book 16 Code Examples 17 Long Command Formats 18 Safari庐 Books Online 18 How to Contact Us 19 Acknowledgments 19 Chapter聽1.聽Change Begets Change 21 Web Users 22 Technology 23 Software Development 24 What Has Not Changed 25 The Nature of the Web 26 Server-Driven Web Development Considered Harmful 27 Why Client-Server Web Applications? 28 Code Organization/Software Architecture 28 Flexibility of Design/Use of Open Source APIs 28 Prototyping 29 Developer Productivity 29 Application Performance 29 Conclusion 31 Chapter聽2.聽JavaScript and JavaScript Tools 33 Learning JavaScript 34 JavaScript History 35 A Functional Language 36 Scope 37 First-Class Functions 38 Function Declarations and Expressions 40 Function Invocations 42 Function Arguments 42 Objects 43 JavaScript for Java Developers 43 HelloWorld.java 43 HelloWorld.java (with Variables) 47 Development Best Practices 49 Coding Style and Conventions 49 Browsers for Development 49 Integrated Development Environments 50 Unit Testing 51 Documentation 51 Project 51 Chapter聽3.聽REST and JSON 57 What Is REST? 58 Resources 58 Verbs (HTTP Request Methods) 58 Uniform Resource Identifiers 59 REST Constraints 60 Client鈥揝erver 61 Stateless 61 Cacheable 62 Uniform Interface 62 Layered 62 Code on Demand 63 HTTP Response Codes 63 What Is Success? 63 JSON (JavaScript Object Notation) 64 HATEOAS 66 REST and JSON 67 API Measures and Classification 68 Functional Programming and REST 69 Project 70 Other Web API Tools 74 Constraints Redux 74 Chapter聽4.聽Java Tools 77 Java Language 78 Java Virtual Machine (JVM) 78 Java Tools 80 Build Tools 81 Benefits of Maven 83 Functionality of Maven 84 Version Control 85 Unit Testing 85 JSON Java Libraries 86 Projects 86 Java with JSON 86 JVM Scripting Languages with JSON 89 Conclusion 92 Chapter聽5.聽Client-Side Frameworks 95 Overview 95 Starting Point One: Responsive Web Design 97 HTML5 Boilerplate 98 Bootstrap 99 Starting Point Two: JavaScript Libraries and Frameworks 99 Browser Compatibility 99 Frameworks 100 Functionality 100 Popularity 101 Obtaining Starter Projects 102 Download Directly from Repositories 102 Download from Starter Sites 102 IDE-Generated Starter Projects 103 The Rise of the Front-End Engineer 103 Client-Side Templating 104 Asset Pipelines 104 Development Workflow 105 Project 105 Conclusion 108 Chapter聽6.聽Java Web API Servers 109 Simpler Server-Side Solutions 110 Java-Based Servers 111 Java HTTP Server 112 Embedded Jetty Server 113 Restlet 115 Roo 116 Embedded Netty Server 120 Play Server 122 Other Lightweight Server Solutions 125 JVM-Based Servers 125 Jython 126 Web Application Servers 127 Development Usage 127 Conclusion 127 Chapter聽7.聽Rapid Development Practices 129 Developer Productivity 129 Optimizing Developer and Team Workflow 132 Example: Web Application Fix 134 Example: Testing Integration 135 Example: Greenfield Development 136 Productivity and the Software Development Life Cycle 137 Management and Culture 137 Technical Architecture 138 Software Tools 139 Performance 140 Testing 140 Underlying Platform(s) 142 Conclusion 142 Chapter聽8.聽API Design 143 A Decision to Design 144 Practical Web APIs Versus RESTful APIs 145 Guidelines 147 Nouns as Resources; Verbs as HTTP Actions 147 Query Parameters as Modifiers 148 Web API Versions 149 HTTP Headers 150 Linking 150 Responses 150 Documentation 150 Formatting Conventions 151 Security 151 Project 151 Running the Project 152 Server Code 152 Curl and jQuery 154 Theory in Practice 155 Chapter聽9.聽jQuery and Jython 157 Server Side: Jython 158 Python Web Server 158 Jython Web Server 158 Mock APIs 159 Client Side: jQuery 160 DOM Traversal and Manipulation 161 Utility Functions 162 Effects 162 Event Handling 163 Ajax 163 jQuery and Higher-Level Abstractions 163 Project 164 Basic HTML 165 JavaScript and jQuery 165 Conclusion 167 Chapter聽10.聽JRuby and Angular 169 Server Side: JRuby and Sinatra 170 Workflow 170 Interactive Ruby Shell 171 Ruby Version Manager (RVM) 171 Packages 172 Sinatra 173 JSON Processing 174 Client Side: AngularJS 175 Model 175 Views 176 Controllers 176 Services 176 Comparing jQuery and Angular 176 DOM Versus Model Manipulation 177 Unobtrusiveness of Angular 177 Project 178 Conclusion 185 Chapter聽11.聽Packaging and Deployment 187 Java and JEE Packaging 187 JEE Deployment 189 GUI Administration 191 Command-Line Administration 193 Non-JEE Deployment 194 Server Outside 195 Server Alongside 196 Server Inside 197 Implications of Deployment Choice 198 Load Balancing 198 Automating Application Deployment 200 Project 201 Client 201 Server 202 Conclusion 202 Chapter聽12.聽Virtualization 203 Full Virtualization 203 Virtual Machine Implementations 205 VMWare 205 VirtualBox 205 Amazon EC2 206 Management of Virtual Machines 206 Vagrant 206 Packer 206 DevOps Configuration Management 207 Containers 208 LXC 208 Docker 209 Project 210 Docker Help 211 Image and Container Maintenance 211 Java on Docker 212 Docker and Vagrant Networking 214 Conclusion 215 Chapter聽13.聽Testing and Documentation 217 Types of Testing 218 Formal Versus Informal 218 Extent of Testing 218 Who Tests What for Whom? 219 Testing as an Indicator of Organizational Maturity 219 CMM to Assess Process Uniformity 220 Maven to Promote Uniform Processes 220 BDD to Promote Uniform Processes 222 Testing Frameworks 223 JUnit 224 Jasmine 225 Cucumber 225 Project 226 JUnit 227 Jasmine 227 Cucumber 229 Maven Site Reports 229 Conclusion 230 Chapter聽14.聽Conclusion 231 Community 231 History 232 Coda 232 Appendix聽A.聽JRuby IRB and Java API 233 Setup Using Gradle 234 JRuby IRB 234 Intro to IRB 235 Java-Based Relational Databases 236 H2 237 HSQLDB 238 Derby 238 Conclusion 239 Appendix聽B.聽RESTful Web API Summary 241 HTTP 1.1 Request Methods 241 HTTP 1.1 Response Codes 241 Curl for Web APIs 243 JSON Syntax 244 JSON Types 244 Railroad Diagrams 244 Object 244 Array 245 Value 245 Appendix聽C.聽References 247 Index 249 About the Author 259 As a Java programmer, how can you tackle the disruptive client-server approach to web development? With this comprehensive guide, you’ll learn how today’s client-side technologies and web APIs work with various Java tools. Author Casimir Saternos provides the big picture of client-server development, and then takes you through many practical client-server architectures. You’ll work with hands-on projects in several chapters to get a feel for the topics discussed.User habits, technologies, and development methods have drastically altered web app design in recent years. But the Web itself hasn’t changed. This book shows you how to build apps that conform to the web’s underlying architecture.Learn the advantages of using separate client and server tiers, including code organization and speedy prototypingExplore the major tools, frameworks, and starter projects used in JavaScript developmentDive into web API design and REST style of software architectureUnderstand Java’s alternatives to traditional packaging methods and application server deploymentBuild projects with lightweight servers, using jQuery with Jython, and Sinatra with AngularCreate client-server web apps with traditional Java web application servers and libraries

قیمت نهایی

۴۰٬۰۰۰ تومان