330 likes | 565 Views
Đại Học Kỹ Thuật Công Nghê ̣ Tp.HCM. Báo Cáo Công Nghệ Phần Mềm. GVHD: Lê Trung Hiếu. SVTH : Lê Quang Tín Lê Đình Hoài Thanh Nguyễn Văn Tâm Võ Trung Hiếu Lê Thanh Hưng Trần Tỉ Phú. Tìm Hiểu Google Web ToolKit. Nội Dung. 1. GWT là gì? Và các thành phần GWT.
E N D
Đại HọcKỹThuậtCôngNghệ Tp.HCM Báo Cáo Công Nghệ Phần Mềm GVHD: Lê Trung Hiếu SVTH : Lê Quang Tín Lê Đình Hoài Thanh Nguyễn Văn Tâm Võ Trung Hiếu Lê Thanh Hưng Trần Tỉ Phú Tìm Hiểu Google Web ToolKit
Nội Dung 1. GWT là gì? Và các thành phần GWT 2. Cơ chế hoạt động của GWT 3. Thư viện JRE và SmartGWT,Dojo 4. User interface component 5. Giao tiếp giữa Client – Server 6. Junit 7. Phát triển ứng dụng 8. Ưu và nhược điểm
GWT là gì ? • Google Web Toolkit (GWT-Bộcôngcụ web củagoogle) làmộtbộtoàndiệncác API vàcáccôngcụchophéptạoứngdụng Web độnggầnnhưhoàntoàntrongmã Java™. • GWT cungcấpmột java API chophépbạntạogiaodiệnngườidùng (GUI) dựatrêncác component , rồibiêndịchhiểntrịtrongtrìnhduyệt web ngườidùng .
Giới Thiệu Về GWT • GWT đạt được những thành tích thông qua tạo mã , với trình biên dịch của gwt tạo ra javaScript từ mã java từ phía máy client của bạn . • GWT là một jva framework mã nguồn mở cho phép bạn thoát khỏi ma trận các công nghệ để viết các ứng dụng AJAX quá khó khăn và nhiều lỗi.
Các Thành Phần của GWT • Bộ biên dịch java-to-javascript : Dùng để dịch tất cả các mã nguồn java của ứng dụng GWT sang code Javascript và HTML. • Trình duyệt dành cho Development Mode(Hosted mode): Dùng đề các developer chạy ứng dụng gwt bằng develoment mode. • Thư viện JRE : chỉ có hai thư viện chuẩn được sử dụng trong GWT là java.lang và java.util.
Các Thành Phần của GWT • Các thư viện của GWT để thiết kế giao diện :Là giao diện và các lớp được tạo sẵn do người dùng tự tạo , dùng để tạo các đối tượng AJAX bằng java trong các ứng dụng GWT (các widgets). • Do các wigets có sẵn của gwt khá ít và không đẹp nên ta có thể sử dụng các widget của những thư viện third-party viết thêm cho gwt như SmartGWT , Dojo..,
Thư viện JRE Package java.lang + Interface index • Runnable + Class index • Boolean • Character • Class • ClassLoader • Double • Float
Thư viện JRE • Runtime • SecurityManager • String • StringBuffer • System • Thread • ThreadGroup • Throwable • UNIXProcess • Win32Process
Thư viện JRE + Exception index • ArithmeticException • ArrayIndexOutOfBoundsException • ArrayStoreException • ClassCastException • ClassNotFoundException • Exception
Thư viện JRE + Error index • AbstractMethodError • ClassCircularityError • ClassFormatError • Error • IllegalAccessError • IncompatibleClassChangeError • InstantiationError
Thư viện JRE Package java.util + Interface index • public interface Collection<A> • public interface Comparator<A> • public interface Iterator<A> • public interface List<A> • public interface ListIterator<A>
Thư viện JRE + Class index • public abstract class AbstractCollection<A> • public abstract class AbstractList<A> • public abstract class AbstractMap<A, B> • public abstract class AbstractSequentialList<A> • public abstract class AbstractSet • public class ArrayList<A> • public class HashMap<A, B> • public class HashSet<A>
SmartGWT Miller Columns
SmartGWT Calendars
SmartGWT GWT Integration
SmartGWT • Nested Grid
SmartGWT • Advanced Filter Builder
Dojo GóiCơsở GóiLõi GóiDijit GóiDojoX
User interface component • Các thành phần giao diện người dùng (UI components) năng động và tái sử dụng lập trình viên có thể có thể sử dụng các lớp được thiết kế trước để thực hiện mà không tồn nhiều thời gian thao tác .
User interface component Trongthựctế, rấtnhiều API GWT đượcvaymượntừ Swing, nhưngvẫncómộtsựkhácbiệtchủyếugiữacảhai. Trongkhimộtứngdụng Swing đượcbiêndịchđểbytecodevàchạytựnhiênbêntrongmộtmôitrường JVM thìmộtứngdụngGWTđượcbiêndịch JavaScript vàchạytrongmộttrìnhduyệt web.
User interface component • Khi xây dựng một ứng dụng GWT, không cần phải bận tâm với HTML hoặc JavaScript. Thay vào đó, tập trung tất cả đi vào đòn bẩy lão hóa chuyên môncủa ngôn ngữ Java và cũng được xác định GWT API để xây dựng các ứng dụngweb mong muốn.
Giao tiếp giữa Client – Server • Giống với tất cả các ứng dụng chủ/khách khác, các ứng dụng AJAX cần phải tìm và nạp dữ liệu từ máy chủ. Các cơ chế tương tác với một máy chủ qua mạng được gọi là RPC(Remote Proceduce Call)
Giao tiếp giữa Client – Server Mô hình GWT RPC
Junit • JUnit là một framework dùng để kiểm tra (test) cho các ngôn ngữ lập trình Java. JUnit cóquan trọng trong sự phát triển của phát triển thử nghiệm (test-driven) điều khiển, và là một trongmột phần trong đơn vị kiểm nghiệm frameworks chung được gọi là xUnit bắt nguồnvới SUnit.
Junit trong GWT • GWT bao gồm một lớp GWTTestCase cơ sở đặc biệt được tích hợp JUnit. Chạy lớp GWTTestCase có nguồn gốc từ ra mắt một trình duyệt vô hình mà bạn có thể chạy kiểm tra bên trong nó • GWT bao gồm một công cụ junitCreator tiện dụng này sẽ bắt đầu tạo ra một trường hợp kiểm tra cho bạn, cộng với script để kiểm tra trong phương thức lưu trữ và phương thức web
Phát triển ứng dụng • Ứng dụng GWT có thể chạy theo hai cách : • Hosted mode: Ứng dụng sẽ chạy như một ứng dụng java với JVM .Cách này thường sử dụng cho developer. • Web mode : Ứng dụng là Javascript và HTML thuần , được biên dịch ra từ các đoạn code java .Cách này thường dành cho người sử dụng.
Phát triển ứng dụng • Để viết một ứng dụng GWT , có rất nhiều cách : • Notepad: nếu ứng dụng chỉ là để test hoặc demo thì chỉ cần notepad cũng có thể viết được , vì chỉ có khoảng chục dòng code. Còn bộ compiler sẽ được chạy bằng các lệnh comman-line. • Googleeclipse: là một plugin cho eclipse , để các java developer có thể sử dụng IDE mã nguồn này phát triển các ứng dụng gwt .
Phát triển ứng dụng • GWT4NB : là plugin dành riêng cho NetBeans. • WindowBuilder : là một IDE khá toàn diện .Cho phép có thể tạo ra các đối tượng gwt bằng cách kéo thả và sắp xếp trên panel theo các layout tùy chọn .
Ưu và Nhược Điểm • Ưu Điểm GWT • Cơ chế dịch tốt giúp dễ tích hợp java • Có nhiều loại wiget cơ bản • Xây dựng ứng dụng dạng swing hoàn chỉnh bằng java chạy bằng javacript • Hệ thống google dễ dùng
Ưu và Nhược Điểm • Khuyết điểm GWT • Việc tích hợp vơi java khó tích hợp các ứng dụng javacript • Xem thêm : http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
Tài Liệu Tham Khảo • Các bài báo cáo các bạn khoa học tự nhiên • Nguồn từ các bài viết trên mạng • http://code.google.com/webtoolkit • http://google-web-toolkit.googlecode.com/svn/trunk/ • http://gwt-guide.blogspot.com • http://netbeans.org/kb/docs/web/quickstart-webapps-gwt.html • https://gwt4nb.dev.java.net/ • http://en.wikipedia.org/wiki/Google_Web_Toolkit