Bạn nghĩ gì về GWT? [đóng cửa]


11

Vì tôi đang học Java trong giai đoạn này và tôi vừa hoàn thành các hướng dẫn, tôi nghĩ rằng tôi đã sẵn sàng bắt đầu đóng góp cho một dự án (vì tôi biết từ kinh nghiệm nên đây là cách tốt nhất để thực sự học).

Tôi đã xem GWT, có vẻ thú vị vì vậy tôi nghĩ tôi nên thử. Tuy nhiên, tôi đang suy nghĩ, vì GWT triển khai các ứng dụng Java bằng JavaScript, tại sao tôi nên học GWT khi tôi có thể học điều thực tế thay thế (đây là JavaScript). Câu hỏi của tôi: nó có đáng không? Sẽ không ai tốt hơn khi học JavaScript nếu họ muốn xây dựng các ứng dụng JS, thay vì sử dụng Java và GWT? Tôi nhận ra rằng có thể dễ dàng hơn để xây dựng một số thứ nhất định với GWT nhưng cuối cùng nó có đáng không?

Cảm ơn.


3
Tuy nhiên, mọi người học C thay vì các hệ thống lập trình trực tiếp trong mã máy.
haylem

Câu trả lời:


6

GWT về cơ bản là một trình biên dịch thành mã gốc, giống như Visual Studio biên dịch nguồn thành mã byte hoặc ngôn ngữ máy.

Điều này cho phép lập trình viên trừu tượng hóa sự khác biệt trong kiến ​​trúc cơ bản, giống như người dùng Visual Studio không cần phải lo lắng về sự khác biệt về độ dài từ, số lượng thanh ghi và quy ước chính xác để gọi hệ điều hành khi họ mã hóa 32 bit hoặc 64 -bit.

Đây là một điều tốt, vì nó cho phép bạn chuyển một số gánh nặng bảo trì sang cho người khác. Vì đây là Google, bạn biết rằng họ có nhiều tài nguyên phát triển hơn bạn có, vì vậy về cơ bản bạn đang mang lại thêm nhân lực miễn phí.


2
Một lợi ích khác là chế độ gỡ lỗi được lưu trữ. Vì vậy, bạn có thể gỡ lỗi logic của Ứng dụng của mình, thông qua cả phía máy khách và máy chủ và với tất cả các công cụ của bước thông qua trình gỡ lỗi.
Jeremy

5

tôi không thích nó

Tất cả mọi thứ bạn có thể làm với nó bạn có thể làm sạch hơn mà không cần nó.


Đồng ý. Nhưng, bạn đang viết các trang có nhiều hình ảnh với một tệp cho mỗi hình ảnh. Đúng ?

1
@Rocket: Tôi không hiểu "nhiều hình ảnh, một tệp trên mỗi hình ảnh" nghĩa là gì.
Josh K

4
@Rocket: Tôi không thấy những hình ảnh phải làm với GWT. Nếu bạn muốn kích hoạt các họa tiết bạn có thể, nếu không, bạn có nhiều hình ảnh.
Josh K

1
@Josh Tôi đoán là, bạn thêm hình ảnh động nhỏ vv chứ không phải viết một phức tạp lớn. Có một lý do tại sao các ngôn ngữ kịch bản được giới hạn trong các tác vụ nhỏ và các ngôn ngữ gõ tĩnh được sử dụng cho các tác vụ lớn hơn.
mP01

2
Trong một công cụ từ. Không ai đã viết một trình soạn thảo có thể so sánh thực sự cho javascript so với nhiều trình soạn thảo có sẵn cho java.
mP01

2

Lý do chính khiến GWT lấy Java làm ngôn ngữ nguồn là vì JS (Ecmascript) cực kỳ khó làm việc. GWT chỉ là một cách hay để đưa lập trình lên Web / trình duyệt mà trước đây không thể.

Trước khi GWT có những nỗ lực vô ích để lập trình một cái gì đó trong trình duyệt (Ajax, dojo, javascript đơn giản). Nhưng các thế lực tự nhiên ở đó quá bạo lực, vì vậy mọi thứ sụp đổ (trình duyệt thay đổi, chúng không bao giờ giống nhau, mọi người nói các ngôn ngữ khác nhau, mọi người nghĩ rằng 15 hình ảnh nên thực sự là 15 tệp, v.v.).

Vì vậy, câu trả lời là: Nếu tôi viết mã cho nồi hơi đại dương internet (không phải là công việc của tôi), thì tôi sẽ chọn GWT.

PS Một suy nghĩ khác. JS được tạo bởi Netscape. Công ty đã chết từ lâu nhưng ngôn ngữ vẫn ở đó dang dở và mục nát


6
-1 ECMAScript không ngừng được phát triển; ECMAScript 5 vừa xuất hiện năm ngoái và ActionScript, ngôn ngữ của Flash, ECMAScript.

16
-1. JavaScript không phải"khó khăn vô cùng" để lập trình. Bạn thấy JavaScript khó khăn nên rất có thể bạn không thông minh lắm. Trước GWT đã có những người biết họ đang làm gì. Sau GWT, có những người không thể mã JavaScript (và sử dụng GWT) và những người có thể (và không sử dụng GWT). Trên hết, JavaScript đã bùng nổ qua trình duyệt, hãy xem Node.js và MongoDB. Sử dụng SpiderMonkey hoặc V8 để viết các tập lệnh độc lập với nền tảng.
Josh K

3
@Josh K. Tôi cũng coi Visual Basic 6 thậm chí khó lập trình hơn so với JS. Java dễ hơn khoảng 50 lần so với Cơ bản. Và CSharp có thể dễ dàng hơn 2 lần so với Java. Khó khăn, tôi có nghĩa là thực hiện các ứng dụng phức tạp thực tế có thể duy trì, được tạo thành các nhóm, bán cho khách hàng. Tôi không quan tâm về sự khác biệt trong đường cú pháp. Và tôi nghĩ rằng nếu bạn cần phải rất thông minh để sử dụng ngôn ngữ, thì có gì đó không ổn với ngôn ngữ.

3
JavaScript rất dễ dàng để thiết kế các ứng dụng có thể bảo trì lớn được xây dựng bởi các nhóm. Tôi đã làm xong. Không có gì khó khăn khi viết mã mô-đun ngoại trừ mọi người quyết định không.
Josh K

Đừng nhầm lẫn DOM với JavaScript. Đó không phải là vấn đề.
Andrew T Finnell

2

Một vài lý do tốt để bắt kịp với GWT:

  • Mỗi công nghệ có một vòng đời. GWT đang tăng mạnh. Học GWT sẽ cung cấp cho bạn lợi thế công nghệ trong một khoảng thời gian dài hơn trong tương lai.
  • GWT sử dụng java, mang lại cấu trúc cho ứng dụng web. JavaScript phù hợp hơn cho kịch bản. Được hỗ trợ bởi java, GWT phù hợp hơn cho các ứng dụng lớn. Nếu bạn đã nhận thấy các khung / bộ công cụ trên JavaScript, bạn có thể kết luận rằng tôi tự làm JavaScript là không đủ cho các dự án nghiêm túc. Tất cả các khung đó mang lại cấu trúc để phát triển ứng dụng. GWT là một trong những khuôn khổ đó, và là khung sẽ thắng thế.
  • Ứng dụng di động là một cuộc cách mạng trong thế giới phần mềm. Cuộc cách mạng đang ở giai đoạn đầu của nó ngay bây giờ. Ngày càng có nhiều phần mềm sẽ chuyển sang nền tảng di động. GWT hiện là công cụ phát triển ứng dụng đa nền tảng toàn diện nhất mà bạn có thể tìm thấy.

Cho rằng đã nói, GWT thực sự không liên quan chặt chẽ đến các khung dịch vụ web từ google hoặc từ mặt trời (servlet). Các công cụ tích hợp tập trung nhiều hơn vào việc tích hợp với máy chủ của họ, do tính chất kinh doanh của google hoặc mặt trời. Để tận dụng sức mạnh công nghệ của GWT, người ta nên ít nhiều bỏ qua một số siêu tích hợp máy chủ. Chỉ cần sử dụng GWT như một công cụ ứng dụng khách, nó sẽ có lợi hơn cho sự nghiệp tương lai của bạn.


1

Nó phụ thuộc vào những gì bạn muốn làm (như đối với hầu hết các công cụ).

Nếu bạn muốn tìm hiểu chi tiết về phát triển web, hãy sử dụng nhiều thủ thuật (đôi khi khác nhau) của môi trường trình duyệt và các tính năng mới nhất của chúng, hãy can đảm chiến đấu với các thủ thuật nhỏ khiến ứng dụng web của bạn trở nên 'tuyệt vời', GWT sẽ luôn theo cách của bạn: nếu bạn có thời gian và kinh nghiệm, bạn có thể làm tất cả và nhiều hơn nữa với đôi tay của mình. Và vâng, có nhiều bộ công cụ khác sẽ giúp bạn trong quá trình lập trình bằng JavaScript.

Tuy nhiên, nếu bạn muốn tạo một GUI "không lạ mắt", nhưng ổn định cho ứng dụng của bạn "nên" và trong hầu hết các trường hợp thực sự giống nhau và trông giống nhau trong các trình duyệt khác nhau mà không cần thủ thuật, thì GWT là tốt sự lựa chọn, tốt nhất tôi biết về. Giải thích: Google chắc chắn có động lực để giữ cho nó đồng bộ với hầu hết các trình duyệt và các công nghệ mới nhất và chắc chắn có đủ tài nguyên để thực hiện. Vâng, bạn tuân thủ một người khổng lồ khác thay vì làm công cụ của riêng bạn. Câu hỏi: công việc của bạn là gì? Để cung cấp dịch vụ tương tự cho cơn thịnh nộ lớn nhất của người dùng thông qua giao diện web với nỗ lực nhỏ nhất - hoặc tạo ra một cổng web sáng bóng, đặc biệt có các tính năng thú vị nhất trên các nền tảng mới nhất.

Lý do +1: Tôi nghĩ sẽ có ích khi giữ ứng dụng của bạn trong một cơ sở mã và một ngôn ngữ. Bạn có thể thực hiện thủ thuật gọn gàng trong các tập lệnh cơ sở dữ liệu - nhưng bạn tự khóa máy chủ db đó. Bạn có thể thực hiện các công cụ bên ngoài với tập lệnh shell hoặc tệp bó - nhưng bạn tự khóa hệ điều hành. Bạn có thể triển khai một số logic của bộ điều khiển trong JavaScript để cung cấp giao diện máy khách phong phú trong trình duyệt - nhưng bạn có thể tự khóa mình trong một trình duyệt. Đối với mọi trường hợp, không dễ để giữ chúng đồng bộ với các yêu cầu và cấu trúc dữ liệu ứng dụng cốt lõi (và có lẽ khó nhất là môi trường trình duyệt + công cụ JS thay đổi liên tục). Tôi tin rằng nếu ứng dụng cốt lõi là trong Java, thì tất cả mọi thứ phải có trong Java - với một phần rất nhỏ các trường hợp khi bạn thực sự phải đưa một phần logic vào môi trường khác.

Tôi đã chọn GWT vì câu trả lời của tôi cho các câu hỏi trên - và đó là điều tôi muốn làm: trong khoảng 2 tuần sau khi cài đặt, tôi có giao diện web chấp nhận được cho hệ thống giám sát máy chủ nội bộ - mặc dù tôi đã có kinh nghiệm với Swing. (Không, tôi chưa sử dụng giao diện mặc định và có, tôi đã sử dụng CSS và các lớp để trình bày thông tin logic :-))

Kiểm tra các nhiệm vụ hiện tại và theo kế hoạch của bạn - và chọn công cụ phù hợp cho chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.