20,53 €
ZK is an open-source web development framework that enables web applications to have the rich user experiences and low development costs that desktop applications have had for years. ZK includes an Ajax-based event-driven engine, rich sets of XML User Interface Language (XUL) and XHTML components, and a markup language.
The ZK rich client framework takes the so-called server-centric approach: the content synchronization of components and the event pipelining between clients and servers are automatically done by the engine and Ajax plumbing codes are completely transparent to web application developers. Therefore, the end users get rich user interfaces with similar engaged interactivity and responsiveness to that of desktop applications, while for programmers, development remains similar in simplicity to that of desktop applications.
This book is a Developer's Guide that steps you through the ZK framework with examples. It starts with installing and configuring ZK and takes you on to integrate it with other frameworks. By the time you are through the book you will be able to build an application on your own.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 119
Veröffentlichungsjahr: 2008
Copyright © 2008 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: March 2008
Production Reference:1170308
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847192-00-4
www.packtpub.com
Cover Image by Vinayak Chittar (<[email protected]>)
Authors
Markus Stäuble
Hans-Jürgen Schumacher
Reviewers
Razvan Remus Popovici
Christianto Sahat Kurniawan Hutasoit
Development Editor
Rashmi Phadnis
Technical Editors
Bhupali Khule
Shailendra Shetye
Editorial Team Leader
Mithil Kulkarni
Project Manager
Abhijeet Deobhakta
Indexer
Monica Ajmera
Proofreader
Chris Smith
Production Coordinator
Aparna Bhagat
Cover Designer
Aparna Bhagat
Markus Stäuble is currently working as Senior Software Engineer. He has a Master's degree in Computer Science. He started with Java in the year 1999, since when he has gained much experience in building enterprise Java systems, especially web applications. He has a deep knowledge of the Java platform and the tools and frameworks around Java.
There are several people who have supported the writing of my first book. But there is especially one person to whom I want to say thank you, my wife Maria Elena. She supported the writing very much and gave me the power and energy to finish that work.
Hans-Jürgen Schumacher studied mathematics at the University of Karlsruhe, Germany. For 17 years he has been working as a Software Developer and Architect. Right now he has the position of a Senior Architect for J2EE. One of his special fields are GUIs for web applications as well as Improvements in the Software Build process.
I would like to thank my son Samuel, who was just born at the right time and gave me the power to finish this book.
Razvan Remus Popovici owns a BS degree in Computer Science from "Transylvania" University of Brasov, Romania in 1999. His software development experience consists of more than 10 years in application and database design, client-server or multi-tier application development in various domains such as networking, communications, accounting, statistics, management, or bioinformatics. His entrepreneurial background consists in a start-up with an accounting software company in Romania in 1996 (which is still selling!) and experience as an independent contractor in Germany.
Currently employed full time at Wayne State University in Detroit, Razvan is involved in architecture, design, and development of OntoTools, a software application for statistics analysis of microarray experiments used by genetics researchers.
Razvan owns Software Ingenieurbuero Popovici in Germany; the company is a sub-contractor for development of a product that enables enterprises to implement ITIL (Information Technology Infrastructure Library) concepts.
Previously, Razvan worked for many companies, such as Siemens, Nokia Siemens Netwoks, matrix42 AG, HLP, Exody GmbH, ROUTE66 BV, and RCS SA.
I would like to thank my wife Mihaela for her support while reviewing this book, and my parents.
Christianto Sahat Kurniawan Hutasoit is an independent Java developer. He has been playing with Java and JEE since 2001, and is already working for different Java projects in Indonesia, Germany, and Singapore. He can be reached at <[email protected]>.
For my mum, S. Resmiana Limbong. Thanks for your struggle.
ZK is an open-source web development framework that enables web applications to have the rich user experiences and low development costs that desktop applications have had for years. ZK includes an AJAX-based event-driven engine, rich sets of XML User Interface Language (XUL), and XHTML components, and a markup language (ZUML).The ZK rich client framework takes the so-called server-centric approach: the content synchronization of components and the event pipelining between clients and servers are automatically done by the engine and AJAX plumbing codes are completely transparent to web application developers. Therefore, the end users get rich user interfaces with similar engaged interactivity and responsiveness to that of desktop applications, while for programmers, development remains similar in simplicity to that of desktop applications
In Chapter 1 we give an introduction to, and take a look behind the ZK framework. In the last section of this chapter, we show some important issues from the ZK User Interface Language (ZUML).
In Chapter 2 we will implement a CRUD (Create—Read—Update—Delete) application. We will also design and implement the pages with the ZK framework.
At the beginning of Chapter 3, we start with a simple CRUD application. The first thing we do here is to add some AJAX features to the application (live data). Here, we will learn many cornerstones provided by the ZK framework, and that we only have to implement some interfaces to use these features. We will move the application from a mixed code approach to a Model-View-Controller Architecture.
Chapter 4 deals with the end of the third phase in the development of a CRUD application with the AJAX ZK framework. We start with a simple application, and extend it step by step. The application now has many features that you will need in other applications as well.
Chapter 5 introduces the advantages and disadvantages of ZK. Then we will see how to integrate ZK with the Spring Framework and also why it is useful to do so. We will then move on to Hibernate and JasperReport.
In Chapter 6 we will learn how to customize existing components. We have the ability to use styles that we know from HTML to change the layout of the components. Additionally we will see that it is possibile to build new components (macro components) on the basis of existing components. And, last but not least, in the last section of this chapter we will learn how to create a complete custom component that is based on a .dsp file.
Chapter 7 introduces zk-bench. Zk-bench is a very useful tool and it supports much more than just designing ZUL pages. It simplifies the development of web applications a lot and it's build around the ZK framework.
The Appendix A contains information about the configuration files, which are important in the context of a ZK application. You should use this appendix in conjunction with Chapter 1 to get a better understanding of how to configure your ZK application.
The following is the list of software that you need to install and configure in order to start working with ZK:
This book is a Developer's Guide that steps you through the ZK framework with examples. It starts with installing and configuring ZK and takes you on to integrate it with other frameworks. By the time you are through the book you will be able to build an application on your own.
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.
There are three styles for code. Code words in text are shown as follows: "In the sample there is a class InitSample in a package sample used."
A block of code will be set as follows:
When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:
New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "When the user clicks on the button Start the thread, the thread starts doing the work asynchronously".
Important notes appear in a box like this.
Tips and tricks appear like this.
Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.
To send us general feedback, simply drop an email to <[email protected]>, making sure to mention the book title in the subject of your message.
If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email <[email protected]>.
If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.
Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.
Visit http://www.packtpub.com/files/code/2004_Code.zip to directly downlad the example code.
The downloadable files contain instructions on how to use them.
Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in text or code—we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the let us know link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.
You can contact us at <[email protected]>if you are having a problem with some aspect of the book, and we will do our best to address it.
The world of web application development grows and grows. We can read many articles and books that explain how to develop a web application. Nearly every week a new framework emerges in the sphere of development. However, each new technology and framework means that we have to learn it. Without learning, it's not possible to leverage the complete power of the chosen technique. There are some reasons for the emergence of such a wide range of possibilities for developing a web application. The evolution of technology is one reason, and another is the demand for a faster and more efficient way to develop a web application. Each developer has his or her own preference for the way of development. However, not only issues in development demand new ways of building a web application. The big picture is about Web 2.0 and the underlying techniques AJAX (Asynchronous JavaScript and XML) also need new ways.
With ZK the developer gets a new alternative for solving the daily problems that occur in web projects and for building Web 2.0 applications. Through the chapters of this book, we show how to develop applications with ZK. After reading it and trying the framework there should be no need for more convincing.
Before we dive into the ZK framework it's important to clarify that this introductory chapter is not a replacement for the developers' guide from ZK (see http://www.zkoss.org/doc/ZK-devguide.pdf). The aim of this chapter is to give you an understanding of the basics and some important aspects of ZK, which are essential for daily development with the framework.
