ฉันใหม่กับ StackExchange แต่ฉันคิดว่าคุณจะสามารถช่วยฉันได้
เรากำลังสร้างแอปพลิเคชัน Java Enterprise ใหม่แทนที่โซลูชัน JSP ดั้งเดิม เนื่องจากมีการเปลี่ยนแปลงมากมาย UI และส่วนต่างๆของตรรกะทางธุรกิจจะได้รับการพิจารณาและนำมาใช้ใหม่อย่างสมบูรณ์
ความคิดแรกของเราคือ JSF เนื่องจากเป็นมาตรฐานใน Java EE ตอนแรกฉันมีความประทับใจที่ดี แต่ตอนนี้ฉันกำลังพยายามใช้ต้นแบบการทำงานและมีข้อกังวลอย่างจริงจังเกี่ยวกับการใช้งาน
ก่อนอื่นมันสร้างการผสมผสานที่ไม่ถูกต้องที่เลวร้ายที่สุดและยุ่งเหยิงที่สุดที่ไม่เคยมีมาก่อนซึ่งฉันไม่เคยเห็นมาก่อน มันละเมิดกฎทุกข้อที่ฉันได้เรียนรู้ในการพัฒนาเว็บ นอกจากนี้มันจะรวมเข้าด้วยกันสิ่งที่ไม่ควรเชื่อมโยงกันอย่างแน่นหนา: เค้าโครงการออกแบบลอจิกและการสื่อสารกับเซิร์ฟเวอร์ ฉันไม่เห็นวิธีที่ฉันจะสามารถขยายผลลัพธ์นี้ได้อย่างสะดวกสบายไม่ว่าจะเป็นการจัดแต่งทรงผมด้วย CSS, การเพิ่มลูกกวาด UI (เช่นปุ่มลัดที่สามารถกำหนดค่าได้, วิดเจ็ตลากและวาง) หรืออะไรก็ตาม
ประการที่สองมันซับซ้อนเกินไป ความซับซ้อนของมันโดดเด่น หากคุณถามฉันมันเป็นนามธรรมที่ไม่ดีของเทคโนโลยีเว็บพื้นฐานพิการและไร้ประโยชน์ในที่สุด ฉันมีประโยชน์อะไรบ้าง ไม่มีถ้าคุณคิด ส่วนประกอบหลายร้อย ฉันเห็นตัวอย่างโค้ด HTML / CSS หมื่นตัวอย่างโค้ด JavaScript นับหมื่นและปลั๊กอิน jQuery นับพัน มันแก้ปัญหาได้มากมาย - เราจะไม่มีถ้าเราไม่ใช้ JSF หรือรูปแบบตัวควบคุมด้านหน้าเลย
และสุดท้ายฉันคิดว่าเราจะต้องเริ่มต้นใหม่พูด 2 ปี ฉันไม่เห็นว่าจะใช้ GUI แรกของเราได้อย่างไร (นอกจากนี้เราไม่มีผู้เชี่ยวชาญ JSF ในทีมของเรา) บางทีเราอาจแฮ็กมันด้วยกันก็ได้ แล้วจะมีมากขึ้น ฉันแน่ใจว่าเราสามารถแฮ็คเราได้ แต่ในบางจุดเราจะติดอยู่ เนื่องจากทุกสิ่งที่อยู่เหนือระดับบริการอยู่ในการควบคุมของ JSF และเราจะต้องเริ่มต้นใหม่
ข้อเสนอแนะของฉันคือการใช้ REST api โดยใช้ JAX-RS จากนั้นสร้างไคลเอนต์ HTML5 / Javascript ด้วย MVC ฝั่งไคลเอ็นต์ (หรือรสชาติของ MVC .. ) โดยวิธีการ; เราจะต้องใช้ REST api ต่อไปเนื่องจากเรากำลังพัฒนา Android front-end บางส่วนเช่นกัน
ฉันสงสัยว่า JSF เป็นทางออกที่ดีที่สุดในปัจจุบัน ขณะที่อินเทอร์เน็ตกำลังพัฒนาฉันไม่เห็นว่าทำไมเราจึงควรใช้ 'rake' นี้
ตอนนี้ข้อดี / ข้อเสียคืออะไร? ฉันจะเน้นจุดของฉันที่จะไม่ใช้ JSF ได้อย่างไร อะไรคือจุดแข็งที่จะใช้ JSF เหนือข้อเสนอแนะของฉัน