คำถามติดแท็ก backend

2
วิธีการแยกส่วนหน้าและส่วนหลังด้วยจาวาสคริปต์แบบเต็ม?
สมมติว่าฉันมีส่วนหน้าซึ่งส่วนใหญ่เป็นแอปพลิเคชันหน้าเดียวที่เขียนโดยใช้เชิงมุมเสียงฮึดฮัดและความโกลาหล และสมมติว่าฉันมีแบ็กเอนด์ซึ่งส่วนใหญ่เป็นเพียง REST API นั่งอยู่ด้านบนของ ORM ซึ่งเก็บ / ดึงวัตถุจากฐานข้อมูลโดยใช้สิ่งต่าง ๆ เช่นเสียงฮึดฮัดแสดงและต่อเนื่อง แอปพลิเคชันเชิงมุมทำสิ่งที่เป็นภาพทั้งหมดที่ผู้ใช้เห็น แต่ทำได้ด้วยการเป็น GUI เหนือบริการที่จัดทำโดยแบ็คเอนด์ มันจะเป็นที่พึงปรารถนาที่จะแยกสิ่งเหล่านี้ออกเป็นสอง codebases ที่แตกต่างกันเพื่อให้เกิดการพัฒนาที่เป็นอิสระการกำหนดเวอร์ชันการรวมอย่างต่อเนื่องการผลักดันการพัฒนาเป็นต้น คำถามของฉันคือมีวิธีการอะไรบ้างสำหรับการทำสิ่งนี้อย่างหมดจด? มีแนวทางปฏิบัติที่ดีที่สุดสำหรับจาวาสคริปต์แบบเต็มสแต็คหรือไม่? ตัวเลือก # 1 ดูเหมือนจะเป็นหินใหญ่ก้อนเดียวเช่น "อย่าแยกพวกมันออก" โปรคือห่วงโซ่การสร้างนั้นง่ายและทุกอย่างอยู่ในที่แห่งเดียว - แต่ดูเหมือนจะมีข้อเสียมากมาย เวอร์ชันที่ยากขึ้นไปอีกส่วนด้านหน้าที่หักหมายถึงส่วนที่ไม่สามารถปรับใช้ได้และอื่น ๆ ตัวเลือก # 2 ดูเหมือนจะเป็นแบบโมโนลิ ธ ที่ซึ่งฟลูเอ็นด์บิลด์ส่วนหน้ามีผลในการเขียนไฟล์จำนวนมากไปยังแบ็คเอนด์ distไดเรกทอรีบน front-end จะอ้างถึงไดเรกทอรีบางอย่างเกี่ยวกับ back-end เพื่อเป็นหลักเมื่อ minifies ปลายด้านหน้า uglifies ฯลฯ ก็ลงท้ายเผยแพร่ไปยัง back-end ซึ่งจะทำงานทุกอย่าง ตัวเลือก # …

3
เป็นการออกแบบปกติหรือไม่ที่จะแยกแบ็กเอนด์และส่วนหน้าเว็บแอปพลิเคชันอย่างสมบูรณ์และอนุญาตให้พวกเขาสื่อสารกับ (JSON) REST API ได้หรือไม่?
ฉันกำลังสร้างเว็บแอปพลิเคชันธุรกิจใหม่และฉันต้องการบรรลุ: ใช้เทคโนโลยีที่ดีที่สุดจากอาณาจักรที่เกี่ยวข้อง ฉันต้องการกรอบแบ็กเอนด์ที่เชื่อถือได้ด้วย ORM ที่มั่นคง และฉันต้องการเฟรมเวิร์ก SPA (แอปพลิเคชันหน้าเดียว) ที่ทันสมัยที่สุดด้วยการใช้คุณสมบัติ HTML และ Javascript ล่าสุดสำหรับแอปพลิเคชันส่วนหน้า เปิดเผยเอนทิตีแบ็กเอนด์และบริการธุรกิจสำหรับการใช้งานจากแอพพลิเคชั่นประเภทต่าง ๆ เช่นเว็บแอพพลิเคชั่นมือถือ (Android) และประเภทอื่น ๆ (อุปกรณ์สมาร์ทเป็นต้น) ดังนั้น - เพื่อตอบสนองความต้องการทั้งสองอย่างฉันมีแนวโน้มที่จะแยกแอปพลิเคชันของฉันออกอย่างสมบูรณ์ในแอปพลิเคชันส่วนหลังและส่วนหน้าและจัดการการสื่อสารระหว่างกันโดยใช้ REST API (JSON) เสียงนี้เข้าใกล้หรือไม่? การแยกดังกล่าวไม่ใช่โซลูชันการออกแบบที่ชัดเจนเนื่องจากเทคโนโลยีเว็บแอปพลิเคชันจำนวนมากได้รวมเลเยอร์มุมมองไว้ซึ่งแอปพลิเคชันฝั่งเซิร์ฟเวอร์จะควบคุมการสร้างมุมมองมากขึ้นหรือน้อยลงและจัดการการตอบสนองจากมุมมองบางส่วน layer, Java JSF / Facelets จะบันทึกสถานะของส่วนประกอบบนเซิร์ฟเวอร์อย่างสมบูรณ์) ดังนั้น - มีเทคโนโลยีมากมายที่เสนอการมีเพศสัมพันธ์ที่แข็งแกร่งมากขึ้นและให้สัญญาว่าจะพัฒนาได้เร็วขึ้นและมีเส้นทางการเดินทางที่เป็นมาตรฐานมากขึ้น ดังนั้น - ฉันต้องระวังเมื่อเริ่มใช้เทคโนโลยีในลักษณะที่ไม่ได้ใช้กันอย่างแพร่หลาย ตามที่ฉันเข้าใจแล้วส่วนหน้าของ SPA ที่แยกจากกันอย่างสมบูรณ์มักเกิดจากความจำเป็นในการใช้ API ของบุคคลที่สาม แต่การออกแบบเสียง decoupling ดังกล่าวเมื่อทั้งสองแบ็กเอนด์และส่วนหน้าได้รับการพัฒนาโดย บริษัท หนึ่ง? …

5
คำว่า 'Front-End' ตรงกันกับ 'ฝั่งไคลเอ็นต์' หรือไม่ ถ้าเป็นเช่นนั้นเป็นเช่นนี้เสมอหรือไม่
ในฐานะนักพัฒนาเว็บที่ค่อนข้างใหม่ (เรียนรู้ด้วยตนเอง) ฉันเคยได้ยินคำว่าfront-end , ฝั่งไคลเอ็นต์ , back-endและฝั่งเซิร์ฟเวอร์ค่อนข้างบ่อย สำหรับฉัน front-end และ back-end นั้นมีความหมายเหมือนกันกับฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ตามลำดับ อย่างไรก็ตามในขณะที่ฉันเริ่มทำงานกับกรอบ MVC เช่น CodeIgniter ฉันได้เจออินสแตนซ์ของการอ้างอิงถึงอะไรก็ตามที่ผู้ใช้เห็น (โดยรวมถึงโค้ดฝั่งเซิร์ฟเวอร์) ในขณะที่แบ็คเอนด์ได้อ้างถึงสิ่งใด ผู้ใช้ปลายทางไม่เห็น (รวมถึง CMS) สำหรับฉันฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์นั้นมีความหมายที่เป็นรูปธรรมมากขึ้น พวกเขามีเส้นที่แตกต่างกันมากแยกพวกเขา ส่วนหน้าและส่วนหลังในทางกลับกันอย่าทำเช่นนั้น ในการสนทนาฉันจำได้ว่ามีนักพัฒนาเว็บคนอื่นเขาเรียก CodeIgniter (อย่างครบถ้วน) ว่าเป็น front-end และสิ่งนี้ทำให้ฉันสับสน ฉันไม่แน่ใจว่าจะแก้ไขให้ถูกต้องและพูดว่า CodeIgniter เป็นส่วนท้ายของฉันหรือถ้าคำจำกัดความของคำศัพท์ทั้งสองนั้นผิดไปทั้งหมด การค้นหาคำจำกัดความของ front-end-back-end ทำให้ฉันสับสนมากขึ้นในบางประเด็นแม้ว่าพวกเขาจะอธิบายบางสิ่ง ฉันแค่อยากจะรู้ว่าเส้นไหนถูกลากระหว่างคำศัพท์ทั้งสี่นี้และวิธีที่พวกเขารวมเข้าด้วยกันในบริบทของการพัฒนาเว็บ (โดยเฉพาะในกองไฟ LAMP)

2
ในฐานะนักพัฒนาซอฟต์แวร์เราควรเรียนรู้การทดสอบซอฟต์แวร์หรือไม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ในฐานะนักพัฒนารุ่นน้องฉันทำงานใน บริษัท ที่พัฒนาซอฟต์แวร์สำหรับอุตสาหกรรมสายการบิน เรามีทีมทดสอบดังนั้นฉันไม่มีแรงจูงใจในการเรียนรู้ซอฟต์แวร์ทดสอบ เพื่อนของฉันทำงานให้กับ บริษัท ขนาดเล็กในฐานะนักพัฒนาด้านหลัง ทีมของพวกเขาไม่มีทีมทดสอบที่เฉพาะเจาะจงและพวกเขาทำการทดสอบด้วยตนเอง นักพัฒนาซอฟต์แวร์ส่วนหลังควรเรียนรู้เกี่ยวกับการทดสอบซอฟต์แวร์หรือไม่
12 testing  backend 

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