2012-07-01 30 views

Trả lời

14

Có và không. Trong khi trình biên dịch của GWT về cơ bản là một trình chuyển đổi Java-to-Javascript, các lợi ích nó cung cấp vượt xa bất cứ thứ gì tôi đã nhìn thấy từ bất kỳ thư viện JS phổ biến nào.

Vì các ứng dụng dựa trên GWT được viết bằng Java, chúng thu được nhiều lợi ích của chúng, chẳng hạn như được gõ mạnh mẽ và cực kỳ dễ dàng để tái cấu trúc. Nếu một cái gì đó thay đổi ảnh hưởng đến một lớp khác, bạn biết nó ngay lập tức. Và đối với những thứ Java không tuyệt vời, bạn luôn có thể sử dụng Javascript để xử lý trường hợp với JSNI. Google cũng đã cung cấp một plugin tuyệt vời cho Eclipse cho phép bạn gỡ lỗi mã của bạn giống như những gì tôi từng thấy trong thư viện JS. Một lợi ích khác của việc này là bạn viết mã phía máy khách và phía máy chủ của bạn bằng cùng một ngôn ngữ, và GWT thực hiện việc kết hợp chúng với nhau.

Ngoài ra còn có những lợi ích của việc tạo tự động nhiều hoán vị. GWT phát hành một bản sao mã của bạn trông và hoạt động giống hệt nhau (có thể xảy ra khi có thể) trên các trình duyệt được sử dụng phổ biến nhất. Tất cả khách hàng của bạn đều nhìn thấy cùng một thứ mà không cần bạn mang thêm trọng lượng. Bạn không chịu trách nhiệm viết các dòng mã vô tận để đối phó với vô số các idiosyncrasies trình duyệt mà đã cản trở các nhà phát triển web mãi mãi. Trong khi ở một mức độ nào đó những điều này được xử lý bởi một số thư viện JS, GWT làm cho nó hoàn toàn dễ dàng. Theo kinh nghiệm của tôi, các thư viện mà bạn đề cập đều tuyệt vời, nhưng đơn giản là không thể cung cấp khả năng sửa lỗi, tính di động, khả năng mở rộng, bảo trì và tính di động mạnh mẽ mà GWT thực hiện ngay tức thì. GWT không thực sự được xây dựng để làm việc với các thư viện khác, và thay vào đó cung cấp cho bạn khả năng thực hiện (chủ yếu) mọi thứ mà các thư viện đó có thể không có sự trợ giúp của chúng. (Tất nhiên đó không phải là để nói rằng bạn không thể sử dụng các thư viện khác bất cứ nơi nào bạn muốn ... bạn có thể nếu bạn thực sự cảm thấy cần phải làm như vậy.)

Vì vậy, theo ý kiến ​​của tôi, không, có không cạnh tranh. GWT là nhà vô địch hạng nặng tượng trưng trong đấu trường này.

+2

+1 Để lặp lại cảm xúc, GWT cho phép bạn mang tất cả các kiến ​​thức mẫu thiết kế của mình đến giao diện người dùng. Bạn có thể xây dựng các kiến ​​trúc tổng thể với sự kế thừa và thành phần tinh vi, các sự kiện, v.v. Bạn có thể xây dựng các lớp trừu tượng để che giấu sự phức tạp to lớn. Tôi cười khúc khích với vô số các khung MVC-javascript đang được phát hành. Tôi có thể chạy vòng quanh những người cho một hệ thống phức tạp bằng cách sử dụng GWT. –

Các vấn đề liên quan