เลือก Java Web Framework ตอนนี้หรือไม่ [ปิด]


149

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

โซลูชันบนพอร์ทัลเป็นสิ่งที่เหมาะสมกับปัญหานี้หรือไม่?

ข้อมูลเชิงลึกเกี่ยวกับการใช้ "Spring Roo" หรือ "Play" จะมีประโยชน์มาก

ฉันพบข้อความคล้ายกันนี้แต่มันอายุเกินหนึ่งปี สิ่งต่าง ๆ มีการเปลี่ยนแปลงในเวลาเฉลี่ย!

แก้ไข 1:ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม! ไซต์นี้กำลังกลายเป็นแหล่งข้อมูลที่ดีที่สุดสำหรับข้อมูลโปรแกรมเมอร์ในสนามเพลาะ อย่างไรก็ตามฉันคาดหวังว่าจะได้รับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ duo portal-cms Jahia ดูสินค้า อะไรที่คล้ายกัน?


1
"เราไม่ต้องการใช้ภาษาสคริปต์" มันเป็นความอัปยศทำไมฉันจะถามได้? ถ้าคุณชอบ Play Framework คุณควรลอง JRuby กับ Rails มันไม่ธรรมดา Java แต่มันง่ายมากที่จะเรียกคลาส Java จาก JRuby
ลุค

2
Grails (เช่น Groovy) เล่นได้ดีมากกับจาวาไม่จำเป็นต้องกลัว
Erich Kitzmueller

4
@hbagchi: แค่อยากรู้ 4 เดือนต่อมาคุณไปด้วยกรอบไหน มีความสุขกับมันเหรอ?
Jonik

1
นี่ไม่ใช่คำถาม 'ชุมชนวิกิ' หรือไม่
mickthompson

11
"แต่มันอายุมากกว่าหนึ่งปีแล้วสิ่งต่าง ๆ ได้เปลี่ยนแปลงอย่างแน่นอนในเวลาเฉลี่ย!" ... ใช่แล้วพระเจ้าห้ามไม่ให้คุณใช้เทคโนโลยีที่มีอายุมากกว่า 12 เดือน! กระสุนเงินได้รับการคิดค้นขึ้นอย่างแน่นอนในระหว่างนี้ ... :-)
ObiWanKenobi

คำตอบ:


146

โซลูชันบนพอร์ทัลเป็นสิ่งที่เหมาะสมกับปัญหานี้หรือไม่?

โดยส่วนตัวแล้วฉันจะอยู่ห่างจากโซลูชันพอร์ทัลไขมันขนาดใหญ่ ฉันเคยได้ยินสิ่งที่ดีเกี่ยวกับGateinแต่ฉันไม่มีประสบการณ์จริงกับมัน

ข้อมูลเชิงลึกเกี่ยวกับการใช้ "Spring Roo" หรือ "Play" จะมีประโยชน์มาก

เกี่ยวกับ Spring Roo ฉันได้อ่านคำตอบก่อนหน้านี้เช่นSpring roo Vs (Wicket และ Spring)และสิ่งอื่น ๆ ผ่านทางอินเทอร์เน็ต แต่ฉันยังไม่มั่นใจ (บางทีฉันไม่เข้าใจ) ฉันไม่แน่ใจถึงความสมบูรณ์ และที่สำคัญกว่านั้นฉันสงสัยจริงๆว่า SpringSource กำลังทำอะไรกับ Grails และ Roo (ไม่Grails vs Roo - ทำไม SpringSource ถึงผลักดันเทคโนโลยีที่คล้ายคลึงกันสองอย่างนี้ไม่เชื่อฉันเลยว่าพวกเขาจะมีชีวิตรอด)

ฉันไม่สามารถพูดเกี่ยวกับ Play ได้มากนัก ฉันได้เห็นการสาธิตเหมือนทุกคน แต่ฉันต้องการอ่านข้อเสนอแนะในชีวิตจริง ก่อนหน้านั้นฉันจะรอ

ฉันพบโพสต์ที่คล้ายกัน (... ) สิ่งต่าง ๆ มีการเปลี่ยนแปลงในเวลาเฉลี่ย!

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

  • JSF: ความสงสัยมากมายเกี่ยวกับเฟรมเวิร์กที่อิงองค์ประกอบนี้รวมถึงฉันดังนั้นฉันจึงไม่ใช่คนที่ดีที่สุดที่จะพูดถึง แต่ ...
  • JSF 2 (+ CDI / Weld): สนับสนุนให้คลางแคลง JSF ( โดย Gavin King ) เป็น "ลองดูอีกครั้ง" จริง ๆ แล้วฉันคิดว่า JSF 2 เป็นการปรับปรุงที่ยิ่งใหญ่โดยเฉพาะกับ CDI แต่ ... มันยังใหม่อยู่ (เข้าใจแล้วมันไม่มีการคืนเงิน) หากคุณต้องการยอมรับ Java EE 6 ลองดูสิ
  • ประตู: กรอบการทำงานตามองค์ประกอบอื่นที่ได้รับความสนใจมากขึ้น ฉันได้ยินสิ่งที่ดีเกี่ยวกับเรื่องนี้เป็นส่วนใหญ่: ง่ายกว่า JSF, การออกแบบที่ดี, การทดสอบสูง, เป็นมิตรกับผู้ออกแบบ HTML ฯลฯ คุณอาจชอบมัน
  • Tapestry: แค่ไม่เห็น ( ทำไมคุณถึงเลิกใช้ Tapestry? )
  • Struts 2, Spring MVC, Stripes: กรอบงานแอ็คชั่น ทุกอย่างเหมาะสมและจะครอบคลุมความต้องการของคุณ (โดยส่วนตัวแล้วฉันชอบ Stripes และการประชุมผ่านวิธีการกำหนดค่าดูที่Stripes vs. Struts2เพื่อรับแนวคิดของมัน)
  • GWT, Flex, Grails: สิ่งเหล่านี้อาจไม่ใช่สิ่งที่คุณกำลังมองหา ฉันไม่สามารถจริงๆพูดคุยเกี่ยวกับ (รุ่นล่าสุด) ของ Flex และ GWT แต่ฉันรู้ว่าไม่ Grails มี บางอย่าง ที่แฟน ๆ

จริงๆแล้วฉันขอแนะนำให้ดูการนำเสนอของ Matt Raible เขาทำได้ดีมากในการเปรียบเทียบกรอบเว็บแสดงจุดแข็งและจุดอ่อนของพวกเขารวบรวมข้อเท็จจริงและตัวเลขแสดงแนวโน้ม ... ฉันแนะนำ:

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


เป็นงานที่ดีฉันถอนออก :) +1
Adeel Ansari

การยิงล่าสุดของ Matt จาก java web f / ws นั้นแย่มาก ถ้าฉันจำ struts ได้จริงคะแนนเท่ากันยิ่งขึ้น f / ws มีประสิทธิภาพยิ่งขึ้น ไม่มีทางที่ทุกคนจะสามารถพิจารณาบางสิ่งบางอย่างที่เป็นเจนธรรมดา ๆ อย่างเสาที่คุ้มค่ากับคะแนนที่มีเพียงไม่กี่คะแนนหลัง GWT หรือ Wicket
mP

3
ใช่ฉันรู้ว่ามีคนไม่กี่คนที่ไม่ชอบ "เมทริกซ์" หรือตรรกะของฉันสำหรับการจัดอันดับ ในที่สุดสิ่งที่ฉันหวังว่าจะทำกับเมทริกซ์นี้คือการเน้นเทคนิคในการเลือกกรอบงานเว็บ คุณสามารถอ่านเกี่ยวกับตรรกะที่อยู่เบื้องหลังการให้คะแนนของฉันได้ในโพสต์บล็อกต่อไปนี้: raibledesigns.com/rd/entry/how_i_calculated_ratings_for
Matt Raible

การนำเสนอของ Matt Raible เกี่ยวกับการเปรียบเทียบ JSF, Spring MVC, Stripes, Struts 2, Tapestry และ Wicket นั้นค่อนข้างเก่า ...
Nerrve

1
@iberck ฉันเพิ่งทดลองใช้กับ AngularJS เมื่อเร็ว ๆ นี้ สุจริตฉันเชื่อว่ามันจะเงามากที่สุดถ้าไม่ใช่ทุกเว็บเฟรมเวิร์กในปัจจุบันโดยไม่มีการพูดเกินจริง เป็นเพียงเฟรมเวิร์ก JS สำหรับฝั่งไคลเอ็นต์จากนั้นคุณสามารถดึงข้อมูลของคุณได้อย่างง่ายดายและ "มีประสิทธิภาพ" จากเซิร์ฟเวอร์โดยใช้ REST ลองมันจะเขย่า
Muhammad Gelbana

41

ฉันเคยใช้ Spring 3 และ Jquery มาพักหนึ่งแล้ว แต่ได้ยินเรื่อง Play และก็ยิงได้ ฉันชอบมันมาก Play เป็นสิ่งที่ลงตัวระหว่าง PHP และเฟรมเวิร์ก Java อย่างหนักเช่น Spring

สิ่งที่ฉันชอบมากที่สุดเกี่ยวกับการเล่นคือ:

  • ง่ายมากในการรับแอปพลิเคชันเล่นออกจากพื้นคุณต้องไปไกลด้วยการเข้ารหัสและการกำหนดค่าเพื่อรับแอปพลิเคชั่นที่เรียบง่ายบนหน้าจอกับ Spring (แม้ว่า Spring 3 ทำให้ง่ายขึ้นมาก)
  • Spring Security นั้นยอดเยี่ยม แต่มาพร้อมกับราคาที่ซับซ้อน โมดูลความปลอดภัยของ Play นั้นง่ายมากและครอบคลุมความต้องการของแอพพลิเคชั่น 90%
  • คุณสามารถทำการเปลี่ยนแปลงรหัสและกดรีเฟรชในเบราว์เซอร์เพื่อดูการเปลี่ยนแปลงเช่นเดียวกับ PHP แทนที่จะต้องทำสิ่งการปรับใช้ใหม่ทั้งหมดด้วยกรอบตาม Servlet
  • ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นอย่างสวยงามและไม่เป็นความลับตลอดเวลา เล่นยังคงต้องทำงานกับการจัดการข้อผิดพลาดของพวกเขา
  • มีกลไกปลั๊กอินสำหรับ Play ที่ค่อนข้างง่าย
  • การคงอยู่ของวัตถุนั้นทำได้ดีมากในฐานข้อมูลหน่วยความจำและ JPA มาพร้อมกับเฟรมเวิร์กดังนั้นจึงไม่มีการกำหนดค่าเครื่องมือคงอยู่ของวัตถุภายนอก การเปลี่ยนจากฐานข้อมูลหน่วยความจำในเป็น RDBMS จริงคือการเปลี่ยนแปลงหนึ่งบรรทัดในไฟล์กำหนดค่า
  • การตั้งค่า MVC ทำได้ดีมาก คลาส Model ที่คุณขยายเพื่อสร้างออบเจ็กต์โดเมนของคุณจะทำงานร่วมกับตัวจัดการเอนทิตี JPA พวกเขาไม่ใช่แค่ POJO เท่านั้น
  • การแม็พ URL กับตัวควบคุมนั้นง่ายและยืดหยุ่นและทั้งหมดในไฟล์ "เส้นทาง" หนึ่งไฟล์
  • เมื่อใดก็ตามที่คุณสร้างโครงการ Play จัดการการพึ่งพา jar ทั้งหมดและ Play มียูทิลิตีเพื่อ eclipse-ify (หรือ IDE ใด ๆ ก็ตามที่คุณชอบ) โครงการเพื่อให้มันนำเข้าโดยตรงสู่ IDE ที่คุณชื่นชอบ

สิ่งที่ฉันไม่ชอบเกี่ยวกับ Play

  • เอกสารยังไม่ครบทุกอย่าง แต่ยังมีคุณสมบัติที่ไม่มีเอกสารจำนวนมาก
  • เฟรมเวิร์กเป็นเซิร์ฟเวอร์ดังนั้นคุณต้องอุทิศพอร์ตให้กับแต่ละแอปพลิเคชัน ฉันคิดว่ามีคนกำลังทำงานกับปลั๊กอินโฮสต์เสมือน แต่ฉันยังไม่เห็นมันทำงาน
  • มันยังเด็กโครงการนี้ยอดเยี่ยมและเทคโนโลยียอดเยี่ยม แต่ต้องการนักพัฒนาเพิ่มขึ้นจริงๆ ฉันชอบที่จะอุทิศเวลาให้กับมันเราจะเห็น

17

ตัวเลือกอันดับแรกสำหรับฉันก็คือประตู การแยกมาร์กอัปและรหัสจาวาชัดเจน ง่ายมากในการเขียนและใช้ส่วนประกอบ ง่ายต่อการใช้ Ajax ทดสอบได้ คุณสามารถตรวจแก้จุดบกพร่องในหน้า / ส่วนประกอบของคุณและไม่ได้รับข้อความแสดงข้อผิดพลาดที่เป็นความลับจากการติดตั้ง JSF ของคุณ)

นอกจากนี้ยังมีประตูเปรียบเทียบที่ดี <--> JSF ในแง่ของประสิทธิภาพ


4
+1 ไม่ต้องพูดถึงการวางแนว OOP บริสุทธิ์ด้วยการสืบทอดความหลากหลายและองค์ประกอบ นอกจากนี้ไฟล์ XML-config ฟรี!
Xavi López

3
การขัดขวางผู้คนลงคะแนนที่นี่เพราะพวกเขาไม่ชอบกรอบที่แนะนำ ไม่ใช่แค่คำตอบประตูของฉันเกือบทุกคนมีคะแนนโหวตลงบ้าง ..
bert

13

ตัวเลือกสามอันดับแรกสำหรับฉันคือ (ตัวอักษร):

พวกเขา:

  • มีการสนับสนุน Ajax ที่ดี
  • อนุญาตให้คุณสร้างเว็บไซต์จริงไม่ใช่แอปพลิเคชัน (เช่น GWT)
  • มั่นคงเอกสารดีใช้กันอย่างแพร่หลาย
  • MVC
  • จาวาบริสุทธิ์
  • ผสานรวมกับ Spring เป็นมิดเดิลแวร์ได้ง่าย

17
ฉันไม่รู้ว่าจะใช้ JSF อย่างไรในการ "สร้างเว็บไซต์จริง" กรอบใด ๆ ที่บังคับให้ใช้ POST จะสูญเสียทันทีในเรื่องนี้
Stefan Tilkov

3
ฉันได้พัฒนา "เว็บไซต์จริง" กับ JSF และฉันใช้มันโดยไม่มีปัญหา นอกจากนี้การใช้ POST จะบังคับเฉพาะเมื่อคุณโพสต์บางอย่าง คุณสามารถใช้การนำทาง GET อย่างง่าย ๆ อยู่เสมอ ในทางทฤษฎีมันผิดที่จะใช้ GET ถ้าคุณกำลังปรับเปลี่ยนทรัพยากรใช่มั้ย
Bozho

นอกจากนี้คุณต้องลงคะแนน Pascal และแนะนำ JSF;)
Bozho

3
ไม่มีความผิด แต่ฟังดูเหมือนรายการ 'สิ่งของ' ที่คุณเคยเห็นเมื่อหลายปีก่อนดังนั้นฉันแค่แปลกใจที่เห็นมัน จากประสบการณ์ของฉันส่วนใหญ่มีตั้งแต่ย้ายจากนับครั้งไม่ถ้วน ฉันคิดว่าถ้าคุณมีความเชี่ยวชาญในสิ่งเหล่านี้แล้วพวกเขาจะเป็นตัวเลือกที่ยอดเยี่ยม แต่ฉันต้องกังวลกับโปรแกรมเมอร์ O&M ที่ต้องเข้ารับตำแหน่งหลังจากที่ผู้เชี่ยวชาญออกจากโครงการ ไม่มีใครเรียนรู้สิ่งนี้อีกต่อไป IMO
Manius

1
บรรทัดความคิดเห็นนี้ค่อนข้างเฮฮาแน่นอน แน่นอนว่า JSF สามารถนำไปใช้กับเว็บไซต์ได้อย่างสมบูรณ์และมีการสนับสนุนชั้นหนึ่งสำหรับทั้ง GET และ POST ใช้สิ่งที่เหมาะสมที่สุดสำหรับสถานการณ์ในมือ แน่นอนว่า Bozho บ่งชี้ว่าถ้ามันแก้ไขทรัพยากรไม่ได้ใช้ GET มิฉะนั้นคุณสามารถทำได้
Arjan Tijms


10

ตรงกันข้ามกับคำตอบอื่น ๆ ฉันต้องการเน้นข้อเสีย (IMHO) ของกรอบงานเว็บยอดนิยม:

JSF2 - เปิดตัวและอายุมากกว่าแล้ว ยังมีข่าว / บทความ / บล็อกโพสต์ / ประสบการณ์ไม่กี่รายการ ฉันไม่เชื่อ ยังคงรอการเปิดตัวรุ่นต่อไปที่สำคัญของ Richfaces / Icefaces ซึ่งรองรับ jsf 2 อย่างเต็มที่ปัจจุบันสามารถดาวน์โหลดอัลฟ่าบิลด์ได้เท่านั้น

Struts 2 - ดูเหมือนจะเป็นเพียงสิ่งที่ดีถ้าคุณยังคงพึ่งพา Struts และต้องการปรับโครงสร้างส่วนใหญ่ของรหัสของคุณ มิฉะนั้น: ไม่

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

ประตู - วิธีการที่ดี แต่มีเอกสารที่ละเอียดและมีน้อยมาก (ยกเว้นประตูที่ดีในหนังสือแอ็คชั่น แต่ครอบคลุมเพียง 1.3) นอกจากนี้สำหรับฉันมันขาดโครงการขนาดใหญ่ที่สร้างขึ้นจากด้านบน และตอนนี้ฉันไม่สามารถมองเห็นถนนของประตูที่กำลังเดินทางหรือถ้ามันถูกขับไปจนตาย

Spring MVC - ยังไม่ได้ลอง แต่คุณต้องรวมไห (spring mess) ไว้ใน classpath เพื่อทำงานกับเฟรมเวิร์กนี้อย่างถูกต้อง และต้องอาศัย JSP (ในโครงการส่วนใหญ่) ซึ่งฉันคิดว่าตายไปแล้ว และคุณจะได้กรอบ MVC ที่บริสุทธิ์เท่านั้น - สิ่งอื่น ๆ ทั้งหมด (อาแจ็กซ์และอื่น ๆ ) จะต้องถูกนำไปใช้ / บูรณาการ

Stripes - เฟรมเวิร์ก MVC ขนาดเล็กและได้รับการออกแบบที่ดี แต่มีเอกสารน้อยเกินไปให้คำมั่นสัญญา / ผู้มอบหมายน้อยเกินไปปล่อยน้อยเกินไปสนับสนุนอุตสาหกรรมน้อยลง

ฉันยังอยากรู้อยากเห็นถ้าฉันพลาดกรอบสำคัญออกไปที่นั่น (ฉันปล่อยให้ Tapestry out ออกไปโดยเจตนา) ซึ่งอาจเป็นตัวเลือกสำหรับคุณ (และสำหรับฉันด้วย


ฉันได้พบวิธีที่ดีที่สุดในการจัดการสิ่งนี้แล้วคล้ายกับสิ่งที่โครงร่างเว็บ Python ได้ทำ: เลือกและเลือกจากสิ่งที่ดีที่สุด ตัวอย่างเช่น: Spring + JAX-RS
Adam Gent

ความคิดเห็นของคุณเกี่ยวกับ GWT ไม่ถูกต้อง มันค่อนข้างง่ายที่จะมีหลายหน้าแยกต่างหากแทนที่จะเป็นเรื่องใหญ่ แทรกลิงค์ไปยังหน้าอื่นเพื่อเริ่มต้น "การกระทำ" และอื่น ๆ ทั้งหมด
mP

ฉันกำลังพูดถึงหน้าต่างหลายบาน (หรือแท็บ) เป็นไปได้จริง ๆ ที่จะใช้มากกว่าหนึ่งหน้าต่างโดยใช้เซสชันเดียวกันพร้อมกันหรือไม่
MRalwasser

1
+1 เพราะเหตุใดโพสต์นี้จึงมีเสียง 2 เสียงลบ ความคิดเห็นที่สงสัยเช่นนี้มีความสำคัญเท่าเทียมกัน (ถ้าไม่มาก) กว่าเชิงบวก! และสิ่งเหล่านี้ดูเหมือนจะเป็นสิ่งที่สร้างสรรค์
Piotr Sobczyk

8

ฉันมีความสำเร็จที่ดีกับJAX-RS เป็น Java Web Framework เดียวที่มีข้อมูลจำเพาะ JSR และการใช้งานหลายอย่างนอกเหนือจากข้อมูลจำเพาะเซิร์ฟเล็ตและพอร์ตเล็ต (แม้ว่านี่อาจเป็นสิ่งที่ไม่ดี)

สิ่งหนึ่งที่ไม่ดีและดีเกี่ยวกับ Java คือคุณสามารถเลือกและจับคู่เฟรมเวิร์ก (python ยังมีคุณสมบัติ / ปัญหานี้) มันเยี่ยมมากเพราะคุณไม่ต้องใส่ไข่ทั้งหมดในตะกร้าใบเดียว

นี่คือสูตร Java Web Application Stack ทั่วไป:

Javascript / Flash + การร้องขอ / ตอบสนองการจัดการ + การพึ่งพาการฉีด + การคงอยู่

Javascript: JQuery, Prototype, Dojo

คำขอ / ตอบ: Spring MVC, Stripes และ JAX-RS ที่ฉันโปรดปราน (Jersey, Apache CXF)

การพึ่งพาการฉีด:ฤดูใบไม้ผลิ Guice

ความคงทน: JPA (Hibernate, ที่เก็บข้อมูล Google App), Hibernate, JDO และอื่น ๆ

ฉันยังประสบความสำเร็จอย่างมากในการใช้ AspectJ เพื่อทำให้ Java "ดูดน้อยลง" ด้วยการใช้ mixd ของ ITD @Configurable และ AspectJ ของ Spring คุณจะได้รับ Rails เหมือน Domain objects


4
ฉันเห็นด้วย. ใช้เวลามากขึ้นในการตั้งค่าสแต็กของคุณเอง แต่คุณจะได้สิ่งที่ต้องการ ฉันกำลังใช้ jQuery, Jersey, Spring และ JPA2 JAX-RS นั้นยอดเยี่ยมเพราะคุณสามารถควบคุมการตอบสนองของคุณได้อย่างสมบูรณ์
Brian DiCasa

6

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


5

มาดูRESThubที่เป็นไปตามหลักการเดียวกันกับ Play! แต่ดำเนินการโดยการนำโครงร่าง / เครื่องมือระดับองค์กรบางอย่างมาใช้ใหม่เช่น Maven 3 / Spring 3 / Jersey / jQuery

RESThub นั้นก่อกวนได้มากเมื่อเปรียบเทียบกับเฟรมเวิร์กอื่น ๆ เนื่องจากเป็นชุดเครื่องมือสแต็กเต็มรูปแบบ แต่ไม่มี MVC หรือ servlet Framworks ที่ทำงานบนเซิร์ฟเวอร์ แต่จะใช้ GUI ที่ใช้ jQuery UI ซึ่งใช้เว็บเซอร์วิส JAX-RS (REST) ​​และระบบเทมเพลต Javascript ที่อิงกับ EmbeddedJs

เซิร์ฟเวอร์ไร้สัญชาติและเราใช้ HTML5 sessionStorage เพื่อให้เซสชันอยู่ฝั่งไคลเอ็นต์ วิธีนี้คือการออกแบบสำหรับ RIA และความยืดหยุ่น

มีแอพพลิเคชั่นสาธิตบางตัว (แม้ว่าอยู่ระหว่างการปรับปรุง)


3

JSF เป็น framewrok ที่ดี แต่ JSF 1.2 ขาดวิสัยทัศน์สำหรับปีที่จะมาจากการเปิดตัว JSF 2.0 ดูมีแนวโน้มและมีสิ่งใหม่ ๆ มากมายที่เพิ่มเข้ามา JSF 1.2 เช่นการสนับสนุน ajax, facelets, การสนับสนุนคำอธิบายประกอบและอนุสัญญาเริ่มต้น (XML น้อยลง), การสร้างองค์ประกอบง่ายกว่า 1.2

มันเข้ากันได้ดีกับสปริงเช่นกันหากคุณกังวลเกี่ยวกับการรองรับ DI


2

ฉันจะแนะนำที่สองของฤดูใบไม้ผลิ ฉันไม่ได้เป็นแฟนตัวยงของ GWT ฉันไม่คิดว่า Java -> Javascript crosscompiler ก็อยู่ที่นั่นแล้ว ฉันกำลังทำงานกับแอป AJAX ที่ใช้สปริงบนเซิร์ฟเวอร์และ jQuery กับลูกค้า ถึงแม้ว่าในทางเทคนิคจะไม่มีการสนับสนุน "แบบใช้งานทันที" สำหรับ jQuery การใช้ AjaxView แบบสปริง -MVC นั้นตายง่ายและใช้รหัสประมาณ 25 บรรทัด


2

อาจจะน้อยบิตปลายการแสดง แต่ผมต้องพูดถึงVaadin การเขียนโปรแกรมจะทำใน Java เท่านั้นด้วยวิธีการที่ใช้องค์ประกอบ การสื่อสารกับไคลเอนต์ - เซิร์ฟเวอร์นั้นเกี่ยวกับการโต้ตอบของผู้ใช้มากกว่าการรับส่งข้อมูลตรรกะทางธุรกิจทั้งหมดอยู่บนเซิร์ฟเวอร์


1
ฉันใช้ vaadin มันไม่ดีสำหรับการสร้างแอพพลิเคชั่นที่ซับซ้อน
Radan


1

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือสิ่งที่ใกล้เคียงกับ Jahia รองรับ GWT, Mashups, Media Content ฯลฯ

http://www.jahia.org/cms/lang/en/home/Jahiapedia/Jahia_Templates http://www.jahia.net/downloads/jahia/jahia6.0.0/readme/index.html


ดูดี! นี่เป็นโอเพนซอร์ซ / ฟรีสำหรับองค์กรหรือไม่ มีการใช้กันอย่างแพร่หลายหรือไม่
จักรวาล

มันมีรุ่น Community พร้อมเนื้อหาพื้นฐานทั้งหมดและรุ่นองค์กรพร้อมสิ่งเพิ่มเติมเป็นต้นตรวจสอบสถานที่นี้jahia.com/jahia/Jahia
Syed M Shaaf


1

ลองดูที่ItsNat

ItsNat นั้นเป็นเบราว์เซอร์ Java W3C ในเซิร์ฟเวอร์เรียบง่ายอย่างน่าอัศจรรย์ (DHTML ในเซิร์ฟเวอร์) ส่งเสริมแอปพลิเคชันAJAX แบบเข้มข้นสำหรับหน้าเดียว


ไม่มีอะไรที่เหมือนกับการแสดงคุณสมบัติที่มีเอกสารครบถ้วนของกรอบ: innowhere.com/itsnat/ …
Ravindranath Akila

0

สิ่งที่สมควรได้รับมากกว่าเพียงแค่สัญลักษณ์แสดงหัวข้อย่อยเป็นเฟรมเวิร์ก RIA ของผู้เล่น อดีต Adobe Flex + Java (แน่นอนว่าสิ่งนี้จะขึ้นอยู่กับว่า "ไซต์" ของคุณเป็น "ไซต์" หรือมากกว่าเช่น "แอปพลิเคชัน" คุณจะไม่ทำบล็อกไซต์ใน Flex)

อาแจ็กซ์,

ในความหมายของ AJAX-as-a-buzzword โดยทั่วไปแล้ว Flex จะใช้ AMF (โปรโตคอลไบนารีที่มีประสิทธิภาพมากกว่าโปรโตคอลที่ใช้โดยแอป AJAX) แม้ว่าคุณจะสามารถทำ AJAX กับ Flex ได้เช่นกัน Flex จึงรองรับ AJAX แต่ยังรองรับ "ดีกว่า AJAX"

เนื้อหาสื่อสมบูรณ์ตอบโต้กับผู้ใช้ได้

เนื่องจาก Flex ทำงานบนแพลตฟอร์ม 'เครื่องเสมือน' ของ Flash ฉันจึงคิดว่าจะต้องมีการเพิ่มเล็กน้อย

แม่แบบตามเค้าโครง

ไม่แน่ใจว่าจะเกิดอะไรขึ้น แต่ดูเหมือน Flex mxml

การตรวจสอบ

สนับสนุนแน่นอนแม้ว่าคุณอาจตัดสินใจที่จะทำสิ่งที่กำหนดเองบางอย่างถ้าคุณต้องการที่จะได้รับแฟนซี (ไม่ใช่ว่าคุณต้องทำ) สิ่งที่ดีคือคุณสามารถมีความซับซ้อนได้ตามที่คุณต้องการ - หรือไม่

การแยกโค้ด html / java สูงสุด

คุณไม่สามารถแยกได้มากขึ้นโดยใช้วิธีการพัฒนา 'เครื่องเสมือน' เช่น Flex / Silverlight / JavaFX สิ่งนี้ไม่เพียง แต่ช่วยให้คุณสามารถแยกรหัสการนำเสนอของคุณออกจากตรรกะฝั่งเซิร์ฟเวอร์และชั้นการเข้าถึงข้อมูลของคุณ แต่ช่วยให้แน่ใจว่าพวกเขาจะถูกแยกออก 'Virtualizing' สภาพแวดล้อมการพัฒนาของคุณช่วยให้คุณสามารถใช้งานร่วมกับเบราว์เซอร์ข้ามแพลตฟอร์มเป้าหมายที่สอดคล้องกันไม่ต้องกังวลกับเบราว์เซอร์ใหม่หรือเบราว์เซอร์ใหม่ที่จะทำลายแอปพลิเคชันของคุณ .

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