Node.js กับ PHP: การต่อสู้ครั้งยิ่งใหญ่สำหรับผู้พัฒนา Mindshare

เป็นเรื่องราวคลาสสิกของฮอลลีวูด: การต่อสู้ระหว่างเพื่อนเก่าสองคนที่แยกทางกัน บ่อยครั้งที่แรงเสียดทานเริ่มต้นเมื่อเพื่อนคนหนึ่งจุดประกายความสนใจในสิ่งที่เคยเป็นโดเมนที่ไม่ได้พูดของเพื่อน ในเวอร์ชันภาษาการเขียนโปรแกรมของภาพยนตร์เรื่องนี้เป็นการเปิดตัว Node.js ที่เปลี่ยนคู่หูให้เข้ากันได้อย่างน่าสยดสยอง: PHP และ JavaScript คู่ค้าสองรายที่เคยปกครองอินเทอร์เน็ตร่วมกัน แต่ตอนนี้ดันออกมาเพื่อแบ่งปันความคิดของนักพัฒนา

ในสมัยก่อนการเป็นหุ้นส่วนนั้นเรียบง่าย JavaScript จัดการรายละเอียดเล็กน้อยบนเบราว์เซอร์ในขณะที่ PHP จัดการงานฝั่งเซิร์ฟเวอร์ทั้งหมดระหว่างพอร์ต 80 และ MySQL มันเป็นสหภาพที่มีความสุขที่ยังคงสนับสนุนส่วนสำคัญมากมายของอินเทอร์เน็ต ระหว่าง WordPress, Drupal และ Facebook ผู้คนแทบจะไม่สามารถเล่นเว็บได้แม้แต่นาทีเดียวโดยไม่ต้องใช้ PHP

จากนั้นเด็กฉลาดบางคนก็ค้นพบว่าเขาสามารถเรียกใช้ JavaScript บนเซิร์ฟเวอร์ได้ ทันใดนั้นไม่จำเป็นต้องใช้ PHP เพื่อสร้างสแต็คเซิร์ฟเวอร์รุ่นต่อไป ภาษาเดียวคือการสร้าง Node.js และเฟรมเวิร์กที่ทำงานบนไคลเอนต์ “ JavaScript ทุกที่” กลายเป็นมนต์สำหรับบางคน

นับตั้งแต่การค้นพบนั้น JavaScript ก็ระเบิดขึ้น ขณะนี้นักพัฒนา Node.js สามารถเลือกระหว่างคอลเลคชันเฟรมเวิร์กที่ยอดเยี่ยมและโครงนั่งร้านที่เพิ่มขึ้นเรื่อย ๆ : React, Vue, Express, Angular, Meteor และอื่น ๆ รายการยาวและปัญหาใหญ่ที่สุดคือการเลือกระหว่างตัวเลือกที่ยอดเยี่ยม

บางคนมองว่าการเติบโตของ Node.js เป็นข้อพิสูจน์ว่า JavaScript ชนะอย่างเด็ดขาดและมีข้อมูลดิบมากมายที่จะสนับสนุนมุมมองนั้น GitHub รายงานว่า JavaScript เป็นภาษาที่ได้รับความนิยมมากที่สุดในคอลเลกชันของที่เก็บและ TypeScript ซึ่งเป็นลูกพี่ลูกน้องของ JavaScript ก็เติบโตขึ้นอย่างรวดเร็วเช่นกัน โปรเจ็กต์ที่เจ๋งที่สุดหลายโปรเจ็กต์เขียนด้วย JavaScript และแฮชแท็กยอดนิยมจำนวนมากอ้างถึงมัน ในขณะเดียวกัน PHP ได้ลดลงจากอันดับที่สามเป็นอันดับสี่ในการจัดอันดับนี้และอาจจะลดลงมากขึ้นในการนับข่าวประชาสัมพันธ์การเปิดตัวผลิตภัณฑ์และช่วงเวลาอื่น ๆ ที่มีการวางตลาดอย่างหนัก

แต่การโฆษณาและซอฟต์แวร์สามารถอยู่ได้นานหลายทศวรรษ ฐานรหัส PHP ส่วนใหญ่จะไม่ย้ายข้อมูลและยังคงให้บริการข้อความจำนวนมากที่เราอ่านในแต่ละวัน จากการประมาณการบางส่วน 40 เปอร์เซ็นต์ของหน้าที่เราดูเริ่มต้นด้วย PHP ในบางรูปแบบ ส่วนหนึ่งเป็นเพราะ PHP ยังคงเกิดใหม่ ในช่วงไม่กี่ปีที่ผ่านมาความกล้าของระบบที่ใช้ PHP ได้รับการเขียนใหม่ทั้งหมด ไม่ใช่โค้ด PHP เดียวกับที่เรียกใช้เว็บไซต์ปู่ย่าตายายของคุณ

คอมไพเลอร์แบบ zippy แบบทันเวลาของ PHP ให้คำตอบได้เร็วกว่าที่เคยด้วยเทคนิคอันชาญฉลาดแบบเดียวกับที่ขับเคลื่อนการปฏิวัติ Node.js ตอนนี้ PHP 7.2 และ HHVM นำเสนอการเพิ่มประสิทธิภาพแบบ on-the-fly ที่ชาญฉลาดหลายอย่างที่ V8 นำมาสู่ Chrome และ Node.js ไม่เพียงแค่นั้น แต่ HHVM ยังมี Hack ซึ่งเป็นภาษา PHP ที่ชาญฉลาดซึ่งให้การสนับสนุนอย่างเต็มที่สำหรับคุณสมบัติการเขียนโปรแกรมที่ซับซ้อนเช่น lambdas, generics และ collection ดังนั้นหากคุณต้องการคุณสมบัติเหล่านี้คุณไม่จำเป็นต้องค้นหาสแต็กที่มีคุณสมบัติครบถ้วนเพิ่มเติม

ตอนจบยังไม่เขียนแน่นอน สำหรับนักเขียนโค้ดทุกคนที่พูดถึงความบริสุทธิ์และความเยาว์วัยของ Node.js และความเรียบง่ายของ JavaScript ในทุกๆที่มีอีกคนหนึ่งที่พอใจกับฐานรหัสที่ลึกล้ำและเสถียรภาพที่เข้าใจมานานของ PHP codger รุ่นเก่าจะเอาชนะฝั่งเซิร์ฟเวอร์ได้หรือไม่? JavaScript จะโค่นล้มเพื่อนเก่าเพื่อครองโลกหรือไม่? ใส่ป๊อปคอร์นอีกชุดในไมโครเวฟแล้วนั่งพัก

ที่ PHP ชนะ: การผสมโค้ดกับเนื้อหา

คุณกำลังพิมพ์พร้อมกับเทความคิดลงในข้อความสำหรับเว็บไซต์ของคุณและคุณต้องการเพิ่มสาขาลงในกระบวนการคำสั่ง if-then เล็กน้อยเพื่อให้ดูสวยงามขึ้นอยู่กับพารามิเตอร์บางอย่างใน URL หรือบางทีคุณอาจต้องการผสมข้อความหรือข้อมูลจากฐานข้อมูล ด้วย PHP คุณสามารถเปิดแท็ก PHP สุดวิเศษและเริ่มเขียนโค้ดได้ภายในไม่กี่วินาที ไม่จำเป็นต้องมีเทมเพลต - ทุกอย่างเป็นเทมเพลต! ไม่จำเป็นต้องใช้ไฟล์เพิ่มเติมหรือสถาปัตยกรรมที่ซับซ้อนเพียงปลายนิ้วสัมผัส

จุดที่โหนดชนะ: แยกความกังวล

การผสมโค้ดกับเนื้อหาเป็นสิ่งสำคัญที่สามารถทำให้คุณพิการได้ แน่นอนว่าการผสมโค้ดกับ HTML เป็นเรื่องสนุกในสองหรือสามครั้งแรกที่คุณทำ แต่ในไม่ช้าฐานรหัสของคุณก็กลายเป็นตรรกะที่ยุ่งเหยิง โปรแกรมเมอร์ตัวจริงเพิ่มโครงสร้างและแยกชั้นเครื่องสำอางออกจากชั้นตรรกะ โปรแกรมเมอร์มือใหม่เข้าใจง่ายกว่าและดูแลรักษาง่ายกว่า เฟรมเวิร์กที่ทำงานบน Node.js สร้างขึ้นโดยโปรแกรมเมอร์ที่รู้ว่าชีวิตดีขึ้นเมื่อโมเดลมุมมองและคอนโทรลเลอร์แยกจากกัน

ที่ PHP ชนะ: ฐานรหัสลึก

เว็บเต็มไปด้วยโค้ด PHP แพลตฟอร์มยอดนิยมในการสร้างเว็บไซต์ (WordPress, Drupal, Joomla) เขียนด้วย PHP ไม่เพียง แต่เป็นแพลตฟอร์มโอเพ่นซอร์สเท่านั้น แต่ยังเป็นปลั๊กอินส่วนใหญ่อีกด้วย มีโค้ด PHP อยู่ทุกหนทุกแห่งและรอให้คุณดาวน์โหลดแก้ไขและใช้งานตามความต้องการของคุณ

จุดที่โหนดชนะ: คุณสมบัติที่ทันสมัยมากขึ้น

แน่นอนว่ามีไฟล์ PHP โอเพ่นซอร์สที่ยอดเยี่ยมหลายพันไฟล์ แต่บางส่วนเป็นปลั๊กอิน WordPress อายุ 12 ปีหวังว่าจะมีคนดาวน์โหลด สำหรับ Symfony ทุกเวอร์ชันที่ทันสมัยมีไลบรารีที่เต็มไปด้วยฝุ่นและถูกลืมไปนานซึ่งไม่มีใครอัปเดต

ใครอยากใช้เวลาหลายชั่วโมงวันหรือสัปดาห์กับการใช้รหัสที่ไม่ได้รับการอัปเดตมาหลายปี ปลั๊กอิน Node.js ไม่เพียง แต่ใหม่กว่าเท่านั้น แต่ยังสร้างขึ้นด้วยความรู้เต็มรูปแบบเกี่ยวกับแนวทางสถาปัตยกรรมล่าสุด โปรแกรมเหล่านี้สร้างขึ้นโดยโปรแกรมเมอร์ที่เข้าใจว่าเว็บแอปสมัยใหม่ควรส่งข้อมูลส่วนใหญ่ไปยังไคลเอนต์

และในขณะที่ JavaScript มีลักษณะเฉพาะเล็ก ๆ น้อย ๆ ที่ทำให้บางคนคลั่งไคล้ส่วนใหญ่เป็นภาษาสมัยใหม่ที่มีไวยากรณ์ที่ทันสมัยและคุณสมบัติที่มีประโยชน์บางอย่างเช่นการปิด คุณสามารถกำหนดค่าใหม่และขยายได้อย่างง่ายดายทำให้ไลบรารีที่มีประสิทธิภาพเช่น jQuery เป็นไปได้ คุณสามารถส่งผ่านฟังก์ชั่นไปรอบ ๆ เช่นวัตถุ ทำไมต้อง จำกัด ตัวเอง?

ที่ PHP ชนะ: ความเรียบง่าย (เรียงลำดับ)

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

จากนั้นอีกครั้งหากคุณเป็นโปรแกรมเมอร์ที่ต้องการทำมากกว่าโต้ตอบกับฐานข้อมูลและจัดรูปแบบผลลัพธ์ตอนนี้คุณสามารถทำอะไรได้มากขึ้นด้วย PHP โดยไม่ต้องจับจมูก HHVM ของ Facebook เพิ่มการรองรับ Hack ซึ่งเป็นภาษาที่สมบูรณ์ที่เต็มไปด้วยคุณสมบัติที่ทันสมัยเช่นคำอธิบายประกอบประเภทคำอธิบายทั่วไปและนิพจน์แลมบ์ดา การใช้สิ่งนี้จะ จำกัด โค้ดของคุณให้ทำงานบน HHVM เท่านั้น แต่นั่นไม่ใช่สิ่งที่แย่ที่สุดในโลก มันเร็วมาก

ที่ไหน Node ชนะ: ตัวเลือกภาษามากมาย

หากผู้ใช้ PHP พอใจที่จะเข้าถึง Hack พวกเขาควรพิจารณาย้ายไปอยู่ในโลกของ Node.js เนื่องจากภาษาหลัก ๆ หลายภาษาสามารถคอมไพล์ข้ามเพื่อทำงานใน JavaScript ได้ มีตัวเลือกที่รู้จักกันดีเช่น Java, C # หรือ Lisp และอื่น ๆ อีกมากมายเช่น Scala, OCaml และ Haskell นอกจากนี้ยังมีของขวัญสำหรับคนรัก BASIC หรือ Pascal รายการภาษาที่รวบรวมเป็น JavaScript จาก Jeremy Ashkenas นี้ค่อนข้างครอบคลุม นอกจากนี้ลูกพี่ลูกน้องของ JavaScript เช่น TypeScript และ CoffeeScript ยังเสนอแนวทางที่แตกต่างและปรับปรุงเล็กน้อยสำหรับเกมเดียวกัน

ที่ PHP ชนะ: ไม่จำเป็นต้องมีแอปไคลเอ็นต์

การพูดคุยเกี่ยวกับการใช้ภาษาเดียวกันในเบราว์เซอร์และบนเซิร์ฟเวอร์เป็นสิ่งที่ดี แต่ถ้าคุณไม่จำเป็นต้องใช้ภาษาใด ๆ บนเบราว์เซอร์ล่ะ? จะเป็นอย่างไรหากคุณจัดส่งข้อมูลในรูปแบบ HTML จะเกิดอะไรขึ้นหากคุณกำลังสร้างเว็บไซต์แบบสปาร์ตันแบบคงที่เพื่อส่งมอบสิ่งที่จำเป็นอย่างเคร่งครัดโดยไม่ต้องมีการโต้ตอบ เบราว์เซอร์จะแสดงขึ้นมาและไม่มีอาการปวดหัวหรือข้อบกพร่องที่เกิดจากการดึงเธรด JavaScript ที่ผิดพลาดที่พยายามสร้างหน้าบนเบราว์เซอร์จากการเรียกใช้บริการเว็บสองโหล Pure HTML ทำงานได้บ่อยกว่าสิ่งอื่นใดและ PHP ได้รับการปรับให้เหมาะสมเพื่อสร้างสิ่งนั้น ทำไมต้องกังวลกับ JavaScript บนเบราว์เซอร์? สร้างทุกอย่างบนเซิร์ฟเวอร์และหลีกเลี่ยงการใช้เบราว์เซอร์ตัวน้อยบนโทรศัพท์เครื่องนี้มากเกินไป

ที่ไหน Node ชนะ: การเรียกใช้บริการจะบางกว่าการเรียก PHP แบบ HTML

ในขณะที่เว็บแอป HTML5 ที่คลั่งไคล้ AJAX สามารถมีส่วนที่เคลื่อนไหวได้มากเกินไป แต่ก็ยอดเยี่ยมและมีประสิทธิภาพมาก เมื่อโค้ด JavaScript อยู่ในแคชของเบราว์เซอร์สิ่งเดียวที่เคลื่อนไปตามสายไฟคือข้อมูลใหม่ ไม่มีมาร์กอัป HTML จำนวนมากและไม่มีการเดินทางซ้ำเพื่อดาวน์โหลดทั้งหน้า มีเพียงข้อมูลเท่านั้นที่เปลี่ยนแปลง หากคุณยินดีที่จะสละเวลาในการสร้างแอปพลิเคชันเว็บฝั่งเบราว์เซอร์ที่ลื่นไหลมีผลตอบแทนมหาศาล Node.js ได้รับการปรับให้เหมาะสมเพื่อส่งมอบข้อมูลและเฉพาะข้อมูลผ่านบริการเว็บ หากแอปของคุณมีความซับซ้อนและเต็มไปด้วยข้อมูลก็เป็นพื้นฐานที่ดีสำหรับการจัดส่งที่มีประสิทธิภาพ

ที่ PHP ชนะ: SQL

PHP ถูกสร้างขึ้นเพื่อใช้ร่วมกับ MySQL และตัวแปรมากมายเช่น MariaDB หาก MySQL ไม่ถูกต้องมีฐานข้อมูล SQL ที่ยอดเยี่ยมอื่น ๆ จาก Oracle และ Microsoft รหัสของคุณสามารถเปลี่ยนไปพร้อมกับการเปลี่ยนแปลงบางอย่างในคำค้นหาของคุณ โลก SQL ที่กว้างใหญ่ไม่ได้สิ้นสุดที่พรมแดน โค้ดที่เสถียรที่สุดและได้รับการพัฒนามาอย่างดีจะเชื่อมต่อกับฐานข้อมูล SQL ซึ่งหมายความว่าพลังทั้งหมดนั้นสามารถรวมเข้ากับโปรเจ็กต์ PHP ได้อย่างง่ายดาย อาจไม่ใช่ครอบครัวที่สมบูรณ์แบบและมีความสุข แต่เป็นครอบครัวที่ยิ่งใหญ่ ไม่เพียงแค่นั้น แต่โลกของฐานข้อมูลก็ค่อยๆดีขึ้นเรื่อย ๆ เนื่องจากนักพัฒนาหาวิธีเพิ่มข้อมูลอัจฉริยะให้กับฐานข้อมูลมากขึ้นดังนั้นคุณจึงไม่จำเป็นต้องทำงานหนัก

ที่ Node.js ชนะ: JSON

หากคุณต้องมีสิทธิ์เข้าถึง SQL Node.js จะมีไลบรารีเพื่อทำเช่นนั้น แต่ Node.js ยังพูด JSON ซึ่งเป็นภาษากลางสำหรับการโต้ตอบกับฐานข้อมูล NoSQL ล่าสุดจำนวนมาก ไม่ได้หมายความว่าคุณไม่สามารถรับไลบรารี JSON สำหรับสแต็ก PHP ของคุณได้ แต่มีบางอย่างที่ลื่นไหลเกี่ยวกับความเรียบง่ายในการทำงานกับ JSON เมื่อใช้ JavaScript เป็นไวยากรณ์หนึ่งจากเบราว์เซอร์เว็บเซิร์ฟเวอร์ไปยังฐานข้อมูล เครื่องหมายทวิภาคและวงเล็บปีกกาทำงานเหมือนกันทุกที่ เพียงอย่างเดียวจะช่วยคุณจากชั่วโมงแห่งความยุ่งยาก

ที่ PHP ชนะ: ความเร็วในการเข้ารหัส

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

ที่ Node.js ชนะ: ความเร็วของแอปพลิเคชัน

การเขียนโค้ด JavaScript นั้นยากกว่าเล็กน้อยเมื่อคุณนับวงเล็บปีกกาและวงเล็บ แต่เมื่อเสร็จแล้วโค้ด Node.js ของคุณจะบินได้ กลไกการโทรกลับนั้นยอดเยี่ยมเพราะช่วยให้คุณไม่ต้องเล่นกลกับเธรด แกนกลางถูกสร้างมาอย่างดีและออกแบบมาเพื่อทำทุกอย่างให้คุณ นั่นคือสิ่งที่ทุกคนต้องการไม่ใช่หรือ?

ที่ PHP ชนะ: การแข่งขัน

การต่อสู้เพื่อหัวใจและความคิดของนักพัฒนา PHP ยังคงเกิดขึ้น ทีม HHVM และทีม Zend กำลังทำงานอย่างหนักเพื่อส่งมอบโค้ดที่รวดเร็วสำหรับทุกคน การวัดประสิทธิภาพอิสระกำลังปรากฏขึ้นและทุกคนกำลังผลักดันฐานรหัสจนถึงขีด จำกัด นี่หมายถึงประสิทธิภาพที่ดีขึ้นเท่านั้น

ที่ Node.js ชนะ: Solidarity

คุณต้องการฐานรหัสที่แตกต่างกันสองแบบหรือไม่? แน่นอนว่าการแข่งขันช่วยได้ แต่การแยกส่วนจะตามมาในไม่ช้า จะเกิดอะไรขึ้นเมื่อโค้ดของคุณทำงานบนหนึ่งในสองเท่านั้น การแข่งขันไม่ได้ผลดีหากคุณต้องใช้เวลาหลายสัปดาห์หรือหลายเดือนในการเขียนโค้ดของคุณใหม่ ในขณะที่ Node.js ประสบกับความแตกต่างของตัวเองเมื่อไม่กี่ปีก่อนด้วยการเปิดตัว io.js จักรวาล Node.js ได้รวมตัวกันอีกครั้งทำให้เป็นภาษาที่เป็นปึกแผ่นที่นักพัฒนา PHP อาจจะรอ

ที่ PHP ชนะ: แอพพื้นฐาน

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

ฟันเฟืองต่อต้านความวิกลจริตของโรค็อกโคนี้สามารถพบได้ในทีมที่สร้างตัวสร้างไซต์แบบคงที่ (463 ในบทความนี้) และหน้าเว็บแบบถอดลงในรูปแบบ AMP PHP เป็นตัวเลือกที่เป็นธรรมชาติสำหรับทุกทีมที่ต้องการใช้ความฉลาดบนเซิร์ฟเวอร์เพื่อไม่ให้ลูกค้ารับภาระมากเกินไป

ที่ Node.js ชนะ: ความร่ำรวย

Ludwig Mies van der Rohe สถาปนิกของอาคารเคยกล่าวไว้ว่า“ Less is more” Robert Venturi สถาปนิกอีกคนเข้ามาและโต้กลับว่า“ Less is a bore” สมาร์ทโฟนมีพลังมากกว่าห้องที่เต็มไปด้วยคอมพิวเตอร์ Cray เดสก์ท็อปมีการ์ดแสดงผลที่มีพัดลมหลายตัวเพื่อให้พวกเขาเย็นสบายในระหว่างการประมวลผลทั้งหมด เหตุใดเราจึงควรตัดรหัสของเราออกและใช้ชีวิตเหมือนเหยื่อยุคซึมเศร้าในนวนิยายของ Steinbeck? สำราญ. เว็บไซต์ขนาดใหญ่ที่ลื่นไหลเต็มไปด้วยโค้ด JavaScript นั้นสะดุดตาน่าทึ่งและสนุกที่สุด แน่นอนว่ามันเป็นเรื่องลามกที่จะเสียแบนด์วิดท์จำนวนมากไปกับข้อมูลเพียงไม่กี่บิต แต่แบนด์วิดท์ไม่เคยถูก อยู่น้อย!

ที่ทั้งคู่ชนะ: Headless

คำว่า“ headless” หมายถึงโค้ด PHP ที่ทำงานบนเซิร์ฟเวอร์ เมื่อเร็ว ๆ นี้แอปพลิเคชั่น PHP ชั้นนำบางตัวเช่น Drupal ได้มองข้ามทางเดินและประหลาดใจกับอินเทอร์เฟซผู้ใช้ที่ซับซ้อนซึ่งสร้างโดยเฟรมเวิร์ก JavaScript เช่น React, Angular หรือ Vue แทนที่จะพยายามแข่งขันกับพวกเขาพวกเขายกให้การควบคุมลูกค้าและมุ่งเน้นไปที่การทำงานที่ดีกับแบ็คเอนด์บนเซิร์ฟเวอร์

หากคุณมีการลงทุนในโค้ด PHP ที่ทำงานบนเซิร์ฟเวอร์เล็กน้อยนี่อาจเป็นวิธีที่ดีที่สุดสำหรับทั้งสองวิธี โค้ด PHP เก่าที่สร้างขึ้นจะทำหน้าที่เป็นประตูหน้าไปยังฐานข้อมูลตรวจสอบคำขออีกครั้งล้างข้อมูลและโดยทั่วไปจะให้ตรรกะทางธุรกิจทั้งหมด ฝั่งไคลเอ็นต์เป็นเว็บแอปแบบโปรเกรสซีฟที่เขียนด้วย JavaScript framework ล่าสุด เมื่อต้องการข้อมูลจะส่งคำขอ AJAX ไปยังโค้ด PHP

สิ่งนี้อาจไม่สมเหตุสมผลสำหรับคนที่เริ่มต้นใหม่ แต่ถ้าคุณพึ่งพา PHP มาหลายปีแล้วและต้องการก้าวไปข้างหน้าอย่างค่อยเป็นค่อยไปนี่อาจเป็นการประนีประนอมอย่างมีความสุข

ทั้งสองฝ่ายชนะ: Microservices และ serverless

ไมโครเซอร์วิสที่เพิ่มขึ้นหรือกระบวนทัศน์แบบไร้เซิร์ฟเวอร์นำเสนอวิธีสำหรับโค้ด JavaScript และ PHP ในการอยู่ร่วมกันกับเซิร์ฟเวอร์และเข้ากันได้ โซลูชันทั้งสองแยกงานออกเป็นบริการหรือฟังก์ชั่นขนาดเล็กจำนวนมากและสามารถทำงานได้อย่างอิสระและอยู่ในเลน บางส่วนซึ่งโดยปกติแล้วจะเป็นส่วนที่เก่ากว่าและเสถียรที่สุดของแอปสามารถเรียกใช้ PHP ได้ ส่วนอื่น ๆ มักจะเป็นส่วนที่ใหม่กว่าจะเขียนใน Node.js ภาษาของPOSTหรือGETอาจเป็นภาษากลางที่รวมเข้าด้วยกันทั้งหมด