ฉันใช้เทคนิคนี้เฉพาะสำหรับเว็บแอปพลิเคชันที่เรากำลังทำอยู่ แบ็กเอนด์ของฉันโฮสต์บน Google App Engine โดยใช้ Java SDK และส่วนหน้าของฉันใช้ HTML, CSS และ JavaScript (พร้อม jQuery)
โครงการนี้เป็นโครงการขนาดเล็กที่มีเพียงตัวฉันเองและนักออกแบบเว็บไซต์และเราทั้งสองรู้สึกว่าวิธีนี้ช่วยให้เราทำงานได้เร็วขึ้นมากและนำสิ่งที่ออกสู่ตลาดเร็วกว่ามาก
ข้อได้เปรียบ: การทำงานกับนักออกแบบเว็บไซต์
ข้อได้เปรียบที่สำคัญของเทคนิคนี้คือนักออกแบบเว็บไซต์ที่รู้จัก PHP แต่ไม่คิดว่าตัวเองเป็นโปรแกรมเมอร์สามารถทำงานได้อย่างไม่มีปัญหาใน HTML และ CSS โดยไม่ต้องลุยผ่าน JSP, taglib tags และฝั่งเซิร์ฟเวอร์อื่น ๆ มาร์กอัปที่เราได้รับการบอกเล่ามาหลายปีน่าจะทำให้ชีวิตของนักพัฒนาส่วนหน้าง่ายขึ้นมาก
หากไม่มีมาร์กอัพฝั่งเซิร์ฟเวอร์ทั้งหมดเราจะมีความคล่องตัวมากขึ้น นักออกแบบเว็บไซต์ได้เปลี่ยนและแก้ไขการออกแบบดั้งเดิมของเขาโดยตรง 3 หรือ 4 ครั้งโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยในส่วนของฉัน
ความคิดเห็นของเขาที่มีต่อฉันคือเขารู้สึกว่า HTML ยังมีชีวิตอยู่ในที่ที่เขาสามารถแก้ไขได้และจากนั้นก็เห็นการเปลี่ยนแปลงในเครื่องของเขาด้วยข้อมูลแบบไดนามิกทันที เราทั้งสองได้รับประโยชน์จากสิ่งนี้เนื่องจากการรวมระบบเป็นไปโดยอัตโนมัติ
รหัสฝั่งเซิร์ฟเวอร์และ HTML / CSS Handoffs
ในโครงการที่ผ่านมาเขาต้องส่ง HTML และ CSS ให้กับนักพัฒนา Java ที่จะใช้ HTML และ CSS ของเขาและเขียนใหม่อย่างสมบูรณ์โดยใช้เทคโนโลยี JSP การดำเนินการนี้ใช้เวลานานและมักจะทำให้เกิดความแตกต่างเล็กน้อย แต่สำคัญในการแสดงผลหน้าเว็บจริงรวมทั้งการตรวจสอบความถูกต้องในเครื่องมือตรวจสอบ W3C
โดยรวมแล้วเรามีความสุขมากกับเทคนิคนี้และฉันยังมีศูนย์ JSP หรือโค้ดฝั่งเซิร์ฟเวอร์ในหน้า HTML ของฉัน
ข้อผิดพลาดของเทคนิค REST / JSON
บางทีข้อผิดพลาดที่ยิ่งใหญ่ที่สุดคือสิ่งที่เรายังไม่เคยเจอ ฉันคาดหวังอย่างเต็มที่ว่าจะมีความไม่เห็นด้วยกับนักพัฒนา Java ที่มีประสบการณ์มากกว่าซึ่งถูกล้างสมองจากสิ่งที่มูลนิธิ Apache และทีมงาน Spring ได้บอกพวกเขาเกี่ยวกับวิธีที่ไลบรารีแท็กทำให้ง่ายขึ้นสำหรับนักพัฒนาส่วนหน้าในการทำงานกับรหัส ฉันคาดหวังอย่างเต็มที่ว่าจะมีช่วงการเรียนรู้เนื่องจากโครงการนี้ขยายออกไปและเราได้พัฒนาผู้พัฒนาจำนวนมากที่อาจต้องแก้ปัญหาเทคนิคที่ล้าสมัยเหล่านี้ซึ่งจากประสบการณ์ของฉันทำให้งานออกแบบเว็บยากขึ้น
ข้อผิดพลาดอีกประการหนึ่งคือรหัส JavaScript มีขนาดใหญ่มาก นี่เป็นปัญหามากกว่านี้บางทีอาจเป็นเพราะฉันใช้เทคนิคนี้เป็นครั้งแรกและเนื่องจากเราได้แนะนำหนี้ทางเทคนิคเล็กน้อยเพื่อใช้ในการปล่อยอย่างรวดเร็ว บางทีการเลือกเฟรมเวิร์กที่ดีกว่าอาจช่วยบรรเทาโค้ดจำนวนมากได้ ในความคิดของฉันไม่มีสิ่งใดที่เป็น showstopper และฉันขอแนะนำให้ใช้เทคนิคนี้ต่อไปและปรับแต่งทักษะของฉันในพื้นที่นี้
ข้อได้เปรียบ: สามารถสร้างแอปพลิเคชันอื่น ๆ บนแพลตฟอร์มได้
ท้ายนี้ฉันควรพูดถึงข้อได้เปรียบที่ซ่อนอยู่ เนื่องจากมีการแยกดีระหว่างบริการเว็บ RESTful แบ็กเอนด์ของฉันและส่วนหน้าของฉันฉันจึงได้สร้างแพลตฟอร์มที่ฉันสามารถขยายได้อย่างง่ายดาย
หนึ่งในทีมงานของเราต้องการลองพิสูจน์แนวคิดในแอปพลิเคชันอื่นและด้วยบริการ RESTful ของฉันเราสามารถสร้างส่วนหน้าแตกต่างไปจากแอปพลิเคชันเพื่อแก้ปัญหาที่แตกต่างกันโดยสิ้นเชิง การพิสูจน์แนวคิดที่พัฒนาขึ้นอย่างรวดเร็วนั้นใช้ HTML, CSS และ JavaScript ของตัวเอง แต่ใช้บริการ RESTful เป็นแบ็กเอนด์และแหล่งข้อมูล
ในท้ายที่สุดผู้จัดการโครงการคนอื่นเห็นสิ่งที่ฉันทำและมันก็ชัดเจนทันทีว่าคุณลักษณะนั้นจำเป็นต้องเป็นมากกว่าเพียงข้อพิสูจน์แนวคิดดังนั้นทีมของเขาจึงนำไปปฏิบัติ
ฉันไม่สามารถเน้นได้มากพอว่าสถาปัตยกรรมนี้สามารถใช้ซ้ำได้ทั้งในระดับแอปพลิเคชันและระดับ HTML / CSS / JavaScript และฉันขอแนะนำให้คุณลองทำในโครงการต่อไปของคุณ