Client-Server Web Apps with JavaScript and Java 1st edition by Casimir Saternos – Ebook PDF Instant Download/DeliveryISBN: 1449369316, 9781449369316
Full download Client-Server Web Apps with JavaScript and Java 1st edition after payment.
Product details:
ISBN-10 : 1449369316
ISBN-13 : 9781449369316
Author : Casimir Saternos
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
Client-Server Web Apps with JavaScript and Java 1st Table of contents:
Chapter 1. Change Begets Change
Web Users
Technology
Software Development
What Has Not Changed
The Nature of the Web
Server-Driven Web Development Considered Harmful
Why Client-Server Web Applications?
Code Organization/Software Architecture
Flexibility of Design/Use of Open Source APIs
Prototyping
Developer Productivity
Application Performance
Conclusion
Chapter 2. JavaScript and JavaScript Tools
Learning JavaScript
JavaScript History
A Functional Language
Scope
First-Class Functions
Function Declarations and Expressions
Function Invocations
Function Arguments
Objects
JavaScript for Java Developers
HelloWorld.java
HelloWorld.java (with Variables)
Development Best Practices
Coding Style and Conventions
Browsers for Development
Integrated Development Environments
Unit Testing
Documentation
Project
Chapter 3. REST and JSON
What Is REST?
Resources
Verbs (HTTP Request Methods)
Uniform Resource Identifiers
REST Constraints
Client–Server
Stateless
Cacheable
Uniform Interface
Layered
Code on Demand
HTTP Response Codes
What Is Success?
JSON (JavaScript Object Notation)
HATEOAS
REST and JSON
API Measures and Classification
Functional Programming and REST
Project
Other Web API Tools
Constraints Redux
Chapter 4. Java Tools
Java Language
Java Virtual Machine (JVM)
Java Tools
Build Tools
Benefits of Maven
Functionality of Maven
Version Control
Unit Testing
JSON Java Libraries
Projects
Java with JSON
JVM Scripting Languages with JSON
Conclusion
Chapter 5. Client-Side Frameworks
Overview
Starting Point One: Responsive Web Design
HTML5 Boilerplate
Bootstrap
Starting Point Two: JavaScript Libraries and Frameworks
Browser Compatibility
Frameworks
Functionality
Popularity
Obtaining Starter Projects
Download Directly from Repositories
Download from Starter Sites
IDE-Generated Starter Projects
The Rise of the Front-End Engineer
Client-Side Templating
Asset Pipelines
Development Workflow
Project
Conclusion
Chapter 6. Java Web API Servers
Simpler Server-Side Solutions
Java-Based Servers
Java HTTP Server
Embedded Jetty Server
Restlet
Roo
Embedded Netty Server
Play Server
Other Lightweight Server Solutions
JVM-Based Servers
Jython
Web Application Servers
Development Usage
Conclusion
Chapter 7. Rapid Development Practices
Developer Productivity
Optimizing Developer and Team Workflow
Example: Web Application Fix
Example: Testing Integration
Example: Greenfield Development
Productivity and the Software Development Life Cycle
Management and Culture
Technical Architecture
Software Tools
Performance
Testing
Underlying Platform(s)
Conclusion
Chapter 8. API Design
A Decision to Design
Practical Web APIs Versus RESTful APIs
Guidelines
Nouns as Resources; Verbs as HTTP Actions
Query Parameters as Modifiers
Web API Versions
HTTP Headers
Linking
Responses
Documentation
Formatting Conventions
Security
Project
Running the Project
Server Code
Curl and jQuery
Theory in Practice
Chapter 9. jQuery and Jython
Server Side: Jython
Python Web Server
Jython Web Server
Mock APIs
Client Side: jQuery
DOM Traversal and Manipulation
Utility Functions
Effects
Event Handling
Ajax
jQuery and Higher-Level Abstractions
Project
Basic HTML
JavaScript and jQuery
Conclusion
Chapter 10. JRuby and Angular
Server Side: JRuby and Sinatra
Workflow
Interactive Ruby Shell
Ruby Version Manager (RVM)
Packages
Sinatra
JSON Processing
Client Side: AngularJS
Model
Views
Controllers
Services
Comparing jQuery and Angular
DOM Versus Model Manipulation
Unobtrusiveness of Angular
Project
Conclusion
Chapter 11. Packaging and Deployment
Java and JEE Packaging
JEE Deployment
GUI Administration
Command-Line Administration
Non-JEE Deployment
Server Outside
Server Alongside
Server Inside
Implications of Deployment Choice
Load Balancing
Automating Application Deployment
Project
Client
Server
Conclusion
Chapter 12. Virtualization
Full Virtualization
Virtual Machine Implementations
VMWare
VirtualBox
Amazon EC2
Management of Virtual Machines
Vagrant
Packer
DevOps Configuration Management
Containers
LXC
Docker
Project
Docker Help
Image and Container Maintenance
Java on Docker
Docker and Vagrant Networking
Conclusion
Chapter 13. Testing and Documentation
Types of Testing
Formal Versus Informal
Extent of Testing
Who Tests What for Whom?
Testing as an Indicator of Organizational Maturity
CMM to Assess Process Uniformity
Maven to Promote Uniform Processes
BDD to Promote Uniform Processes
Testing Frameworks
JUnit
Jasmine
Cucumber
Project
JUnit
Jasmine
Cucumber
Maven Site Reports
Conclusion
Chapter 14. Conclusion
Community
History
Coda
Appendix A. JRuby IRB and Java API
Setup Using Gradle
JRuby IRB
Intro to IRB
Java-Based Relational Databases
H2
HSQLDB
Derby
Conclusion
Appendix B. RESTful Web API Summary
HTTP 1.1 Request Methods
HTTP 1.1 Response Codes
Curl for Web APIs
JSON Syntax
JSON Types
Railroad Diagrams
Object
Array
Value
People also search for Client-Server Web Apps with JavaScript and Java 1st:
client server web apps with javascript and java
client server vs web application
can javascript be used for desktop applications
define web client and web server
client server javascript