Client-Server Web Apps with JavaScript and Java : RICH ,SCALABLE ,AND RESTFUL
Author : Casimir Saternos
Abstract: As a Java programmer, how can you tackle the disruptive client-server approach to web development? With this comprehensive guide, yoursquo;ll learn how todayrsquo;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. Yoursquo;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 hasnrsquo;t changed. This book shows you how to build apps that conform to the webrsquo;s underlying architecture.
Key-Words: client-server ,web , java , web app, web APIs
Preface
Of course, many aspects of web development can be considered new. Developers scramble to keep up with enhancements to desktop browsers, new mobile device clients ,evolving programming languages, the availability of faster processors, and an increasingly discerning audience of users with growing expectations about usability and interactivity. These changes require developers to continually innovate when coming up with solutions for their specific projects. But many of these solutions have broader implications and are not isolated to any particular project .Therefore, I chose “client-server” as the term which in many ways captures the changes to web development that have occurred in response to these innovations. Other descriptions of modern development practices currently in vogue donrsquo;t adequately represent the problem domain. Web application development is associated with desktop browsers, but excludes the increasingly relevant area of mobile applications .The terms Single Page Application and Single Page Interface have been used to distinguish modern web applications from earlier static websites. These terms correctly identify modern sites as far more dynamic and interactive than their predecessors .However, many modern dynamic applications are made up of multiple pages rather than a single page. The focus in these terms is on the page, the client portion of an application. They make no specific statement about corresponding server-side development. There are JavaScript frameworks that are also associated with highly dynamic pages (such as Angular, Ember, and Backbone), but these are also concerned with the client tier. I wanted the title of this book to encompass more than front-end innovations and to recognize the corresponding server-side design and web service messaging .The method of communication captured by the popular acronym REST (Representational State Transfer) does suggest the web service messaging style. But the definition of REST as specified by its author Roy Fielding is very limiting. On his blog, Fielding lists specific restrictions to REST that are commonly violated in so-called RESTful APIs .And some even question whether a JSON API can be truly RESTful due to the fact that it does not satisfy all of the constraints associated with the style of architecture. There is a continuum by which REST services can be described; so that an API can be described as RESTful only to the degree that it adheres to the constraints. REST does include client-server as one of its constraints, and the verb and URL naming conventions are certainly applicable .So a JavaScript client consuming messages from a pragmatic “RESTful” API is a significant part of the method of development. What about the server component ? Java Enterprise Edition (JEE) includes the JAX-RS API, which uses Javarsquo;s flavor of REST (which is not inherently strict) and is demonstrable using the Jersey reference implementation. But limiting to JAX-RS web application development ignores frameworks and alternate JVM language solutions that are available and particularly appealing for quick prototypes .And so crystallizing the intentions of a book in a simple, catchy title is not an easy task .Fortunately , James Ward did a presentation at OSCON 2012 in which he described the development of “Client-Server Web Applications with HTML5 and Java.” He listed the benefits of a method of web application development that is increasingly popular, a method that I have been involved with in recent years on various projects. And the phrase “client-server” is the key to understanding what this method is. It captures the fundamental architectural changes that include aspects of the terms listed above, but represents the distinct partitioning between the client and server and considers each of the roles significant .A client-server architecture of web applications requires a shift (in some cases seismic) in the way programmers work. This book was written to enable developers to deal with this revolution. Specifically, it is intended to provide a proper perspective in building the latest incarnation of modern web applications.
Why Client-Server Web Applications?
There are clear advantages to being able to decouple logical sections of code and promote higher cohesion both in the original construction and ongoing support of any system .The clear separation between client and server tiers makes for manageable, modular sections of code. In addition, data and display markup can be more clearly separated .The data can be delivered in JSON rather than inline. This is consistent with the modern JavaScript notion of unobtrusive JavaScript where a pagersquo;s behavior, structure, and presentation are separated .Flexibility and code reuse are a logical outcome of good code organization. There is flexibility at many stages in the application life cycle when sections of code can be developed in relative isolation (APIs can be exposed, mobile device clients created, new versions of sections of
全文共25642字,剩余内容已隐藏,支付完成后下载完整资料
一、英文翻译原文
Client-Server Web Apps with JavaScript and Java : RICH ,SCALABLE ,AND RESTFUL
Author : Casimir Saternos
Abstract: As a Java programmer, how can you tackle the disruptive client-server approach to web development? With this comprehensive guide, yoursquo;ll learn how todayrsquo;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. Yoursquo;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 hasnrsquo;t changed. This book shows you how to build apps that conform to the webrsquo;s underlying architecture.
Key-Words: client-server ,web , java , web app, web APIs
Preface
Of course, many aspects of web development can be considered new. Developers scramble to keep up with enhancements to desktop browsers, new mobile device clients ,evolving programming languages, the availability of faster processors, and an increasingly discerning audience of users with growing expectations about usability and interactivity. These changes require developers to continually innovate when coming up with solutions for their specific projects. But many of these solutions have broader implications and are not isolated to any particular project .Therefore, I chose “client-server” as the term which in many ways captures the changes to web development that have occurred in response to these innovations. Other descriptions of modern development practices currently in vogue donrsquo;t adequately represent the problem domain. Web application development is associated with desktop browsers, but excludes the increasingly relevant area of mobile applications .The terms Single Page Application and Single Page Interface have been used to distinguish modern web applications from earlier static websites. These terms correctly identify modern sites as far more dynamic and interactive than their predecessors .However, many modern dynamic applications are made up of multiple pages rather than a single page. The focus in these terms is on the page, the client portion of an application. They make no specific statement about corresponding server-side development. There are JavaScript frameworks that are also associated with highly dynamic pages (such as Angular, Ember, and Backbone), but these are also concerned with the client tier. I wanted the title of this book to encompass more than front-end innovations and to recognize the corresponding server-side design and web service messaging .The method of communication captured by the popular acronym REST (Representational State Transfer) does suggest the web service messaging style. But the definition of REST as specified by its author Roy Fielding is very limiting. On his blog, Fielding lists specific restrictions to REST that are commonly violated in so-called RESTful APIs .And some even question whether a JSON API can be truly RESTful due to the fact that it does not satisfy all of the constraints associated with the style of architecture. There is a continuum by which REST services can be described; so that an API can be described as RESTful only to the degree that it adheres to the constraints. REST does include client-server as one of its constraints, and the verb and URL naming conventions are certainly applicable .So a JavaScript client consuming messages from a pragmatic “RESTful” API is a significant part of the method of development. What about the server component ? Java Enterprise Edition (JEE) includes the JAX-RS API, which uses Javarsquo;s flavor of REST (which is not inherently strict) and is demonstrable using the Jersey reference implementation. But limiting to JAX-RS web application development ignores frameworks and alternate JVM language solutions that are available and particularly appealing for quick prototypes .And so crystallizing the intentions of a book in a simple, catchy title is not an easy task .Fortunately , James Ward did a presentation at OSCON 2012 in which he described the development of “Client-Server Web Applications with HTML5 and Java.” He listed the benefits of a method of web application development that is increasingly popular, a method that I have been involved with in recent years on various projects. And the phrase “client-server” is the key to understanding what this method is. It captures the fundamental architectural changes that include aspects of the terms listed above, but represents the distinct partitioning between the client and server and considers each of the roles significant .A client-server architecture of web applications requires a shift (in some cases seismic) in the way programmers work. This book was written to enable developers to deal with this revolution. Specifically, it is intended to provide a proper perspective in building the latest incarnation of modern web applications.
Why Client-Server Web Applications?
There are clear advantages to being able to decouple logical sections of code and promote higher cohesion both in the original construction and ongoing support of any system .The clear separation between client and server tiers makes for manageable, modular sections of code. In addition, data and display markup can be more clearly separated .The
全文共33496字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[1122]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。