ตอนนี้ฉันกำลังดู node.js และมันเป็นนัยเกี่ยวกับประสิทธิภาพ (ฉันติดความเร็ว) แต่ฉันไม่ได้เจาะลึกลงไปเลย
โปรไฟล์โปรไฟล์โปรไฟล์ นั่นเป็นวิธีเดียวที่จะรู้ว่าการเพิ่มความเร็วของคุณกำลังมีผลกระทบที่เหมาะสม คุณสามารถเดาได้ว่ามันเร็วพอ แต่คนส่วนใหญ่ชอบที่จะเพิ่มประสิทธิภาพก่อนเวลาอันควร มันแย่กว่าเล่นกับตัวเองระหว่างเดท
ฉันสงสัยว่า node.js สามารถแทนที่การพัฒนาเว็บโดยทั่วไปของฉันใน C # และ ASP.NET MVC ได้หรือไม่ถ้ามันเป็นการดีที่จะประกอบกับ C # และ ASP.NET MVC หรือถ้ามีบางสิ่งที่ควร "ปล่อยให้อยู่คนเดียวดีพอ "
มีกรณีการใช้งานสำหรับ / กับ C # และ node.js?
แน่นอนว่าถ้าคุณอยู่ในร้านที่เขียนโค้ดเป็นประจำใน C # คุณควรใช้ MVC (ดีกว่า WebForms และเรียกว่าเว็บเพจ) คุณจะไม่เสียเวลาไปกับการฝึกฝนเครื่องมือและมันเป็นสิ่งที่เวิร์กโฟลว์ของคุณควรจัดการอยู่แล้ว
สิ่งที่คุณไม่ได้ระบุข้างต้นคือเหตุผลในการเลือกแต่ละข้อ คุณมีตัวเลือกการตลาดในปัจจุบันสองตัวเลือกตัวเลือกหนึ่งยังอยู่ในช่วงอัลฟ่าอีกตัวเลือกในปีที่สามของการเปิดตัวแพลตฟอร์ม ฉันไม่ต้องการที่จะเปรียบเทียบรถยนต์ไฟฟ้ารุ่นทดสอบปัจจุบันกับลูกผสมของฮอนด้าที่ออกสู่ตลาดอยู่แล้ว พวกเขาอยู่ในสองลีกที่แตกต่างกัน
ตอนนี้นี่คือเหตุผลที่คุณจะต้องอยู่ห่างจาก node.js หากคุณเป็นร้านค้า C #
ขณะนี้คุณไม่สามารถใช้งานในเหตุการณ์แบบอะซิงโครนัสได้ในขณะนี้คุณทำงานในรูปแบบขั้นตอน
นั่นคือสิ่งที่ตรงกันข้ามกับสิ่งที่ nodejs จะทำเพื่อคุณ
อย่างไรก็ตามหากคุณเขียนโค้ด async ใน C # บ่อยครั้งและคุณใช้มันมากในรูปแบบที่มีเหตุการณ์เหตุการณ์ก็เกิดขึ้นใช่แล้ว node.js มีไว้เพื่อให้คุณพิจารณาอย่างยิ่ง
นี่คือสิ่งที่คุณจะยอมแพ้:
IIS - นี่เป็นสิ่งสำคัญสำหรับผู้คนจำนวนมาก สิ่งต่าง ๆ เช่นการรวม A / D ดั้งเดิมเสร็จเรียบร้อยแล้วและไม่มีข้อบกพร่อง ตอนนี้ node.js จริงๆแล้วทำงานได้ดีกับ IIS
- การโกนหนวดด้วยมีดโกน - หากคุณทำ C # MVC อย่างจริงจังคุณจะใช้งานและรักการโกนหนวดและคุณจะสามารถปั่นสิ่งต่าง ๆ ได้เร็วแค่ไหน มีแม่แบบที่คล้ายกันในโหนดและแน่นอนว่าฉันไม่ได้เคาะโหนด แต่ toolchain ทั้งหมดมีอยู่แล้วใน C # และจำนวนมากของมันกำลังถูกสร้างขึ้นในโลกโหนด NB: เครื่องมือจำนวนมากตอนนี้ค่อนข้างเป็นผู้ใหญ่ _
- การรวบรวมเวลาของ DLLs - node.js โดยทั่วไปแล้วจะได้รับการคอมไพล์ทันทีกล่าวคือไม่ใช่เส้นทางทั้งหมดที่จะถูกตรวจสอบเมื่อเริ่มต้น เป็นไปได้โดยสิ้นเชิงที่จะมีโค้ดที่ไม่ดีในโหนดที่ไม่มีใครแตะต้องตรวจสอบหรือทดสอบ
- เครื่องมือทั้งหมดที่สร้างขึ้นใน VS ที่คุณใช้ทุกวันในปัจจุบันมีเพียงไม่มากที่ VS รองรับจาวาสคริปต์ ส่วนหนึ่งเป็นเพราะทุกสิ่งในจาวาสคริปต์นั้นเป็นแบบไดนามิก NB: Microsoft กำลังทำงานอย่างเห็นได้ชัดในการสนับสนุนการใช้เครื่องมือสำหรับ javascript _
นี่คือสิ่งที่คุณจะได้รับ:
- ทุกสิ่งที่คุณพัฒนาจะเป็นภาษาเดียวกันโดยสมมติว่าคุณใช้สคริปต์ฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ (หรือทำไมคุณถึงต้องพิจารณาจาวาสคริปต์บนเซิร์ฟเวอร์)
ดังนั้นเนื่องจากฉันดูเหมือนจะทุบตีโหนดที่นี่ทั้งหมดให้ฉันชี้ให้เห็นว่าโหนดเป็นภาษาการเล่นของฉันที่บ้านฉันรักมันและฉันช่วยให้คนแก้จุดบกพร่องบางครั้งมันบนเซิร์ฟเวอร์แชท stackoverflow (ห้อง 642) ฉันเห็นว่ามันมีศักยภาพที่ยิ่งใหญ่และน่าทึ่งในอนาคต
ฉันแค่พูดว่าอย่าโยนลูกและสงสัยว่าทำไมอาบน้ำสกปรก
คุณยังไม่ได้ให้เหตุผลว่าทำไมคุณควรทิ้งประสบการณ์หลายปีและเริ่มต้นสิ่งใหม่ ๆ เป็นเครื่องมือที่ไม่ดีหรือไม่? ไม่ใช่เลย. ทั้งสองอย่างยอดเยี่ยมและทำให้การพัฒนาเป็นเรื่องง่าย
โหนดสามารถแทนที่ C # ได้หรือไม่ ใช่ค่อนข้างแน่นอน ดังนั้น PHP หรือ Java หรือ Ruby ก็สามารถทำได้ คุณไม่ได้ถามเกี่ยวกับสิ่งเหล่านั้น
นี่คือวิธีที่คุณรู้เมื่อคุณพร้อมที่จะโปรแกรม node.js แทนที่จะเป็น C #:
- คุณกำลังพิจารณาที่จะเขียนหนังสือเพื่อช่วยเหลือผู้อื่น "รับจาวาสคริปต์" แทนโปรแกรมเก่าที่น่าเบื่อที่พวกเขาเคยเขียนมาก่อนใน C # และอื่น ๆ
- คุณมีปัญหาเกี่ยวกับการซิงโครนัส (การบล็อก) I / O หยุดแอปของคุณจากการทำงานจริง
- คุณไม่ได้ใช้ไลบรารีใด ๆ ใน C # นอกเหนือจาก MVC ที่เป็นค่าเริ่มต้นและนั่นเป็นเพียงการกำหนดเส้นทางและคุณค่อนข้างมั่นใจว่าคุณสามารถใช้เครื่องมือการกำหนดเส้นทางที่ดีกว่าและคุณเข้ารหัสทุกอย่างให้ใกล้เคียงกับโลหะมากที่สุด
- วัตถุข้อมูลทุกชิ้นที่คุณออกแบบให้คุณเห็นว่าเป็นแฮชแทนที่จะเป็นวัตถุที่พิมพ์ออกมาอย่างแรง