ขึ้นอยู่กับสิ่งที่คุณต้องการทำ (สำหรับเครื่องมือส่วนใหญ่)
หากคุณต้องการทราบรายละเอียดของการพัฒนาเว็บไซต์ให้ใช้ลูกเล่นมากมาย (บางครั้งก็แตกต่างกัน) ของสภาพแวดล้อมของเบราว์เซอร์และคุณสมบัติใหม่ล่าสุดของพวกเขามีความกล้าที่จะต่อสู้กับลูกเล่นเล็ก ๆ ที่ทำให้แอปเว็บของคุณ จะเป็นในแบบของคุณ: หากคุณมีเวลาและประสบการณ์คุณสามารถทำทุกอย่างได้ด้วยมือ และใช่มีชุดเครื่องมืออื่น ๆ อีกมากมายที่จะช่วยคุณตลอดการเขียนโปรแกรมใน JavaScript
อย่างไรก็ตามหากคุณต้องการสร้าง "ไม่ให้แฟนซี" แต่มี GUI ที่เสถียรสำหรับแอปพลิเคชันของคุณที่ "ควร" และในกรณีส่วนใหญ่ทำสิ่งเดียวกันจริง ๆ และดูเหมือนกันในเบราว์เซอร์ต่างๆ ทางเลือกที่ดีที่สุดที่ฉันรู้ คำอธิบาย: Google มีแรงจูงใจให้ซิงค์กับเบราว์เซอร์ส่วนใหญ่และเทคโนโลยีใหม่ล่าสุดอย่างแน่นอนและมีทรัพยากรเพียงพอที่จะทำ ใช่คุณยึดติดกับยักษ์ตัวอื่นแทนที่จะทำสิ่งที่คุณทำเอง คำถาม: คุณทำงานอะไร เพื่อให้บริการเดียวกันกับความโกรธแค้นที่กว้างที่สุดของผู้ใช้ผ่านทางเว็บอินเตอร์เฟสด้วยความพยายามที่น้อยที่สุด - หรือสร้างเว็บพอร์ทัลที่สวยงามเป็นพิเศษซึ่งมีคุณสมบัติที่ยอดเยี่ยมที่สุดบนแพลตฟอร์มใหม่ล่าสุด
+1 เหตุผล: ฉันคิดว่ามันเป็นประโยชน์ในการทำให้แอปพลิเคชันของคุณอยู่ใน codebase เดียวและภาษาเดียว คุณสามารถทำเคล็ดลับเรียบร้อยในสคริปต์ฐานข้อมูล - แต่คุณล็อคตัวเองไปยังเซิร์ฟเวอร์ฐานข้อมูล คุณสามารถทำสิ่งภายนอกด้วยเชลล์สคริปต์หรือแบทช์ไฟล์ - แต่คุณล็อคตัวเองกับระบบปฏิบัติการ คุณสามารถใช้ตรรกะคอนโทรลเลอร์บางตัวใน JavaScript เพื่อจัดทำอินเทอร์เฟซไคลเอ็นต์ที่หลากหลายในเบราว์เซอร์ - แต่คุณสามารถล็อคตัวเองในเบราว์เซอร์เดียว ในทุกกรณีมันไม่ง่ายเลยที่จะทำให้มันสอดคล้องกับโครงสร้างข้อมูลหลักของแอพพลิเคชั่นและข้อกำหนด (และบางทีสิ่งที่ยากที่สุดคือสภาพแวดล้อมของเบราว์เซอร์ + เครื่องมือ JS ที่เปลี่ยนแปลงตลอดเวลา) ฉันมั่นใจว่าหากแอปพลิเคชันหลักอยู่ใน Java ทุกสิ่งควรอยู่ใน Java ด้วยกรณีเล็ก ๆ น้อย ๆ เมื่อคุณต้องใส่ส่วนหนึ่งของตรรกะลงในสภาพแวดล้อมอื่น
ฉันเลือก GWT เนื่องจากคำตอบของคำถามข้างต้น - และทำสิ่งที่ฉันต้องการให้ทำ: ภายใน 2 สัปดาห์หลังจากการติดตั้งฉันมีเว็บอินเตอร์เฟสที่ยอมรับได้สำหรับระบบตรวจสอบเซิร์ฟเวอร์ภายใน - แม้ว่าฉันจะเคยมีประสบการณ์กับ Swing แล้วก็ตาม (ไม่ฉันไม่ได้ใช้รูปลักษณ์และความรู้สึกเริ่มต้นและใช่ฉันใช้ CSS และคลาสเพื่อนำเสนอข้อมูลเชิงตรรกะ :-))
ตรวจสอบงานปัจจุบันและงานวางแผนของคุณ - และเลือกเครื่องมือที่เหมาะสมสำหรับงานเหล่านั้น