คุณคิดอย่างไรกับ GWT [ปิด]


11

เนื่องจากฉันเรียนรู้ Java ในช่วงนี้และฉันเพิ่งทำบทช่วยสอนเสร็จฉันคิดว่าฉันพร้อมที่จะเริ่มมีส่วนร่วมในโครงการ (เนื่องจากฉันรู้จากประสบการณ์นี่เป็นวิธีที่ดีที่สุดในการเรียนรู้จริง ๆ )

ฉันเคยเห็น GWT ดูน่าสนใจดังนั้นฉันคิดว่าฉันควรจะลองดู อย่างไรก็ตามฉันคิดว่าเนื่องจาก GWT ปรับใช้แอปพลิเคชัน Java ใน JavaScript ทำไมฉันจึงควรเรียนรู้ GWT เมื่อฉันสามารถเรียนรู้สิ่งที่เกิดขึ้นจริงแทน (นี่คือ JavaScript) คำถามของฉัน: มันคุ้มค่าหรือไม่ ไม่มีใครที่จะเรียนรู้ JavaScript ได้ดีขึ้นหากพวกเขาต้องการสร้างแอปพลิเคชัน JS แทนที่จะใช้ Java และ GWT? ฉันรู้ว่ามันอาจจะง่ายกว่าที่จะสร้างบางสิ่งด้วย GWT แต่สุดท้ายแล้วมันคุ้มค่าหรือไม่

ขอบคุณ


3
แต่คนเรียนรู้ C แทนระบบการเขียนโปรแกรมในรหัสเครื่องโดยตรง
haylem

คำตอบ:


6

GWT นั้นเป็นคอมไพเลอร์กับรหัสเนทีฟซึ่งคล้ายกับ Visual Studio ที่คอมไพล์ซอร์สโค้ดเป็นรหัสไบต์หรือภาษาเครื่อง

สิ่งนี้ทำให้โปรแกรมเมอร์สามารถแยกความแตกต่างของสถาปัตยกรรมพื้นฐานออกไปได้เช่นเดียวกับผู้ใช้ Visual Studio ที่ไม่ต้องกังวลเกี่ยวกับความแตกต่างของความยาวของคำจำนวนการลงทะเบียนและการประชุมที่แน่นอนสำหรับการเรียกระบบปฏิบัติการเมื่อรหัส 32- บิตหรือ 64 -นิดหน่อย.

นี่เป็นสิ่งที่ดีเพราะช่วยให้คุณย้ายภาระการบำรุงรักษาบางอย่างไปยังผู้อื่น เพราะนี่คือ Google คุณรู้ว่าพวกเขามีทรัพยากรในการพัฒนามากกว่าที่คุณมีดังนั้นคุณกำลังนำกำลังคนเข้ามาเสริมโดยไม่เสียค่าใช้จ่าย


2
ประโยชน์อีกประการหนึ่งคือการดีบักโหมดโฮสต์ ดังนั้นคุณสามารถดีบักตรรกะของแอปพลิเคชันของคุณผ่านทั้งไคลเอนต์และฝั่งเซิร์ฟเวอร์และด้วยเครื่องมือทั้งหมดของขั้นตอนผ่านการดีบักเกอร์
Jeremy

5

ฉันไม่ชอบมัน

ทุกสิ่งที่คุณสามารถทำได้ด้วยมันคุณสามารถทำความสะอาดได้โดยไม่ต้อง


ตกลง. แต่คุณกำลังเขียนหน้าเว็บที่มีภาพหลายภาพโดยมีหนึ่งไฟล์ต่อภาพ ใช่มั้ย

1
@Rocket: ผมไม่เข้าใจสิ่งที่"ภาพหลายภาพหนึ่งไฟล์ต่อภาพ"หมายถึง
Josh K

4
@Rocket: ฉันไม่เห็นภาพที่เกี่ยวข้องกับ GWT หากคุณต้องการเปิดใช้งานสไปรต์คุณสามารถทำได้มิฉะนั้นคุณจะมีหลายภาพ
Josh K

1
@ Josh ฉันเดาว่าคุณจะเพิ่มแอนิเมชั่นขนาดเล็ก ฯลฯ แทนที่จะเขียนคอมเพล็กซ์ขนาดใหญ่ มีเหตุผลว่าทำไม langauges การเขียนสคริปต์ถูก จำกัด ให้กับงานขนาดเล็กและภาษาที่พิมพ์แบบคงที่จะใช้สำหรับงานขนาดใหญ่
mP01

2
ในการใช้เครื่องมือคำ ไม่มีใครเขียนตัวแก้ไขเปรียบจริงสำหรับ javascript เทียบกับจาวามากมาย
mP01

2

เหตุผลที่ GWT ใช้ภาษาจาวาเป็นภาษาต้นฉบับก็คือเพราะ JS (Ecmascript) นั้นยากที่จะทำงานด้วย GWT เป็นวิธีที่ดีในการนำโปรแกรมมาสู่เว็บ / เบราว์เซอร์ซึ่งไม่สามารถทำได้ก่อนหน้านี้

ก่อน GWT มีความพยายามในการเขียนโปรแกรมบางอย่างในเบราว์เซอร์ (Ajax, dojo, javascript ธรรมดา) แต่พลังแห่งธรรมชาตินั้นรุนแรงเกินไปดังนั้นทุกสิ่งจึงแตกสลาย (เบราว์เซอร์เปลี่ยนไปพวกเขาไม่เคยเหมือนกันผู้คนพูดภาษาที่แตกต่างกันคนคิดว่า 15 ภาพควรเป็น 15 ไฟล์เป็นต้น)

ดังนั้นคำตอบคือ: ถ้าฉันต้องการรหัสสำหรับหม้อต้มน้ำทะเลทางอินเทอร์เน็ต (ซึ่งไม่ใช่งานของฉัน) ดังนั้นฉันจะเลือก GWT

ป.ล. คิดอีกอย่าง JS สร้างโดย Netscape บริษัท เสียชีวิตมานานแล้ว แต่ภาษาก็ยังอยู่ไม่จบและเน่าเปื่อย


6
-1 ECMAScript ได้รับการพัฒนาอย่างต่อเนื่อง ECMAScript 5 เพิ่งเปิดตัวเมื่อปีที่แล้วและ ActionScript ภาษาของ Flash คือ ECMAScript

16
-1 JavaScript ไม่ได้ "ยากอย่างไร้มนุษยธรรม"ในการเขียนโปรแกรมคุณพบว่า JavaScript ยากที่คุณจะไม่ฉลาดมาก ก่อน GWT มีคนที่รู้ว่ากำลังทำอะไรอยู่ หลังจาก GWT มีคนที่ไม่สามารถใช้รหัส JavaScript (และใช้ GWT) และผู้ที่สามารถ (และไม่ใช้ GWT) ได้ ด้านบนของมัน JavaScript ได้ขยายผ่านเบราว์เซอร์ดูที่ Node.js และ MongoDB ใช้ SpiderMonkey หรือ V8 เพื่อเขียนสคริปต์อิสระของแพลตฟอร์ม
Josh K

3
@Josh K. ฉันยังพิจารณาว่า Visual Basic 6 นั้นยากกว่าการเขียนโปรแกรมมากกว่า JS Java ง่ายกว่าประมาณ 50 เท่า และ CSharp อาจจะง่ายกว่า Java 2 เท่า โดยความยากลำบากฉันหมายถึงการทำแอพพลิเคชั่นที่ซับซ้อนซึ่งสามารถดูแลรักษาได้สร้างขึ้นในทีมขายให้กับลูกค้า ฉันไม่สนใจความแตกต่างของน้ำตาลในประโยค และฉันคิดว่าถ้าคุณจำเป็นต้องมีความฉลาดในการใช้ภาษา

3
JavaScript นั้นง่ายมากในการออกแบบแอปพลิเคชั่นขนาดใหญ่ที่สร้างขึ้นโดยทีมงาน ฉันได้ทำมัน. ไม่มีอะไรยากเกี่ยวกับการเขียนรหัสแบบแยกส่วนยกเว้นคนตัดสินใจไม่
Josh K

อย่าสับสน DOM กับ JavaScript ไม่ใช่ JS ที่เป็นปัญหา
Andrew T Finnell

2

เหตุผลสองสามข้อที่ดีในการติดตาม GWT:

  • ทุกเทคโนโลยีมีวงจรชีวิต GWT อยู่ที่แกว่งขึ้น การเรียนรู้ GWT จะให้ความได้เปรียบด้านเทคโนโลยีแก่คุณในระยะยาวของอนาคต
  • GWT ใช้ java นำโครงสร้างมาสู่เว็บแอปพลิเคชัน JavaScript เหมาะกว่าสำหรับการเขียนสคริปต์ สนับสนุนโดย java, GWT เหมาะสำหรับการใช้งานขนาดใหญ่ หากคุณสังเกตเห็นเฟรมเวิร์ก / ชุดเครื่องมือด้านบนของ JavaScript คุณอาจสรุปได้ว่าฉันทำ JavaScript ด้วยตัวเองไม่เพียงพอสำหรับโครงการที่จริงจัง เฟรมเวิร์กเหล่านั้นนำโครงสร้างไปสู่การพัฒนาแอพพลิเคชั่น GWT เป็นหนึ่งในกรอบงานเหล่านั้นและเป็นกรอบที่จะเหนือกว่า
  • แอปพลิเคชั่นมือถือเป็นการปฏิวัติในโลกซอฟต์แวร์ การปฏิวัติอยู่ในช่วงเริ่มต้นทันที ซอฟต์แวร์มากขึ้นเรื่อย ๆ จะย้ายไปยังแพลตฟอร์มมือถือ GWT เป็นเครื่องมือพัฒนาแอพพลิเคชั่นข้ามแพลตฟอร์มที่ครอบคลุมที่สุดที่คุณสามารถหาได้

จากที่กล่าวมาแล้ว GWT ไม่เกี่ยวข้องกับกรอบการให้บริการเว็บจาก google หรือจาก sun (servlet) อย่างแน่นหนา เครื่องมือแบบบูรณาการมุ่งเน้นที่การรวมเข้ากับเซิร์ฟเวอร์เนื่องจากลักษณะธุรกิจของ Google หรือของดวงอาทิตย์ เพื่อใช้ประโยชน์จากเทคโนโลยีของ GWT อย่างใดอย่างหนึ่งควรละเว้นมากกว่าหรือน้อยกว่าการรวมเซิร์ฟเวอร์หลายไฮเปอร์ เพียงใช้ GWT เป็นเครื่องมือแอปพลิเคชันไคลเอนต์มันควรจะเป็นประโยชน์ต่ออาชีพของคุณในอนาคต


1

ขึ้นอยู่กับสิ่งที่คุณต้องการทำ (สำหรับเครื่องมือส่วนใหญ่)

หากคุณต้องการทราบรายละเอียดของการพัฒนาเว็บไซต์ให้ใช้ลูกเล่นมากมาย (บางครั้งก็แตกต่างกัน) ของสภาพแวดล้อมของเบราว์เซอร์และคุณสมบัติใหม่ล่าสุดของพวกเขามีความกล้าที่จะต่อสู้กับลูกเล่นเล็ก ๆ ที่ทำให้แอปเว็บของคุณ จะเป็นในแบบของคุณ: หากคุณมีเวลาและประสบการณ์คุณสามารถทำทุกอย่างได้ด้วยมือ และใช่มีชุดเครื่องมืออื่น ๆ อีกมากมายที่จะช่วยคุณตลอดการเขียนโปรแกรมใน JavaScript

อย่างไรก็ตามหากคุณต้องการสร้าง "ไม่ให้แฟนซี" แต่มี GUI ที่เสถียรสำหรับแอปพลิเคชันของคุณที่ "ควร" และในกรณีส่วนใหญ่ทำสิ่งเดียวกันจริง ๆ และดูเหมือนกันในเบราว์เซอร์ต่างๆ ทางเลือกที่ดีที่สุดที่ฉันรู้ คำอธิบาย: Google มีแรงจูงใจให้ซิงค์กับเบราว์เซอร์ส่วนใหญ่และเทคโนโลยีใหม่ล่าสุดอย่างแน่นอนและมีทรัพยากรเพียงพอที่จะทำ ใช่คุณยึดติดกับยักษ์ตัวอื่นแทนที่จะทำสิ่งที่คุณทำเอง คำถาม: คุณทำงานอะไร เพื่อให้บริการเดียวกันกับความโกรธแค้นที่กว้างที่สุดของผู้ใช้ผ่านทางเว็บอินเตอร์เฟสด้วยความพยายามที่น้อยที่สุด - หรือสร้างเว็บพอร์ทัลที่สวยงามเป็นพิเศษซึ่งมีคุณสมบัติที่ยอดเยี่ยมที่สุดบนแพลตฟอร์มใหม่ล่าสุด

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

ฉันเลือก GWT เนื่องจากคำตอบของคำถามข้างต้น - และทำสิ่งที่ฉันต้องการให้ทำ: ภายใน 2 สัปดาห์หลังจากการติดตั้งฉันมีเว็บอินเตอร์เฟสที่ยอมรับได้สำหรับระบบตรวจสอบเซิร์ฟเวอร์ภายใน - แม้ว่าฉันจะเคยมีประสบการณ์กับ Swing แล้วก็ตาม (ไม่ฉันไม่ได้ใช้รูปลักษณ์และความรู้สึกเริ่มต้นและใช่ฉันใช้ CSS และคลาสเพื่อนำเสนอข้อมูลเชิงตรรกะ :-))

ตรวจสอบงานปัจจุบันและงานวางแผนของคุณ - และเลือกเครื่องมือที่เหมาะสมสำหรับงานเหล่านั้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.