8 คะแนน โดย mrchypark 2021-07-27 | 7 ความคิดเห็น | แชร์ทาง WhatsApp

ผมกำลัง deploy โดยนำ Go ไปทำเป็น Docker image อยู่ครับ

ข้อดีของ Go ก็คงเป็นไวยากรณ์ที่เรียบง่าย การ build ที่แทบไม่ต้องมีการตั้งค่า และต่อให้เขียนแบบง่าย ๆ ก็น่าจะได้ประสิทธิภาพที่สูงในระดับหนึ่งครับ

ผมก็มีใช้เครื่องมืออื่นบ้างตามความจำเป็นนะครับ

แต่คิดว่าในช่วงนี้ตัวหลักก็น่าจะยังใช้ Go ต่อไปครับ

โฆษณา

เลยอยากรู้ว่าท่านอื่น ๆ เป็นอย่างไรกันบ้างครับ!

บางทีที่ใช้ในบริษัทกับโปรเจกต์ส่วนตัวอาจแตกต่างกันก็ได้นะครับ

ถ้าได้ช่วยแชร์ความรู้สึกตอนใช้งานของแต่ละคนด้วยก็น่าจะดีครับ!

7 ความคิดเห็น

 
misolab 2021-07-28

ที่บริษัทผมก็ทำงานด้วย java กับ vue.js เป็นหลักเหมือนกัน

แต่ส่วนตัวใช้ typescript อยู่ครับ

เหตุผลคือถ้าเป็นโปรเจ็กต์เล็ก ๆ แบบฟูลสแตก ก็ครอบคลุมได้ทั้ง BE(nest.js) และ FE(next.js)

เพิ่มเติมคือ nest.js คล้ายกับ anglar มาก แต่ฝั่ง FE ยังไง react.js ก็ยังเป็นกระแสหลัก

 
mrchypark 2021-07-28

ดูเหมือนว่า TypeScript จะถูกใช้งานกันมากในฝั่ง js อย่างชัดเจน

ที่แท้ nest ก็คล้ายกับ Angular เหมือนกันเหรอ?! ผมเคยคิดว่าเป็นแค่เซิร์ฟเวอร์เฟรมเวิร์กแบบเรียบง่ายเท่านั้น เดี๋ยวคงต้องลองไปดูแล้ว :)

 
majorika 2021-07-27

งานหลักของผมคือพัฒนาด้วย Unity3d เลยใช้ c# เกือบทั้งหมด และบางครั้งก็มีกรณีที่ต้องเขียน java, kotlin, objc, swift, c++, c เพื่อทำ native code ครับ

สำหรับการพัฒนาเครื่องมือภายใน ก็ใช้ go (เซิร์ฟเวอร์หรือเครื่องมือ cli) และ elm (เว็บฟรอนต์เอนด์) อยู่ครับ

ช่วงหลังงานของผมคือทำโปรแกรมเดสก์ท็อปด้วย flutter อยู่ครับ โดยในบางส่วนที่ประสิทธิภาพยังไม่พอ ก็ปรับปรุงและจัดการด้วย rust

ผมรู้สึกกับ c# แบบทั้งรักทั้งชังนิด ๆ แต่พอใช้เพื่อ Unity3d ก็เลยน่าเสียดายตรงที่ยังตามเวอร์ชัน .NET ไม่ทัน ตอนนี้ใน alpha release ล่าสุดมีแผนจะรองรับถึง .netstandard 2.1 แล้ว ก็หวังว่าจะออกตัวจริงอย่างเป็นทางการได้เร็ว ๆ ครับ

go ดูจะมีข้อดีในแง่การช่วยลดระยะเวลาพัฒนาได้ครับ

ส่วน elm ข้อความ error เป็นมิตรมาก เลยรู้สึกว่าใช้เวลาปรับตัวสั้นกว่าภาษาอื่น ๆ แน่นอนว่าการที่เคยลองภาษาเชิงฟังก์ชันอื่นมาหลายครั้งก็น่าจะช่วยให้ปรับตัวกับแนวคิดแบบฟังก์ชันได้ด้วยครับ

สำหรับ rust ผมรู้สึกว่าถ้าใช้ให้เหมาะกับส่วนที่ต้องการ optimization ก็เป็นภาษาที่ดีมาก และยังมีเสน่ห์ตรงที่รวมฟีเจอร์หลายอย่างที่เคยอิจฉาในภาษาเชิงฟังก์ชันมาได้ดีด้วย แน่นอนว่ายังมีอุปสรรคอยู่บ้างจากการที่ยังไม่คุ้นกับ ownership และ scope มากพอ แต่คิดว่าถ้าคุ้นเคยมากขึ้นก็น่าจะแก้ได้ Rust เองก็มีข้อความ error ที่เป็นมิตรเหมือนกัน แต่ในเรื่องอย่างการกำหนด scope และส่วนอื่น ๆ ทำให้ไวยากรณ์ดูซับซ้อนอยู่บ้าง เลยรู้สึกว่ายังต้องศึกษาเพิ่มอีกครับ

โค้ดที่ใช้สำหรับงาน native ที่เหลือ ผมใช้อย่างจำกัดมากเมื่อเทียบกับภาษาอื่น ๆ ก็เลยไม่ได้เขียนคอมเมนต์แยกไว้ครับ

 
mrchypark 2021-07-27

เวลาเขียนส่วนเดสก์ท็อปด้วย Rust คุณเชื่อมต่อและใช้งานอย่างไรครับ?

น่าจะใช้เป็น WebAssembly หรือไม่ก็น่าจะมีเครื่องมือที่ช่วยเชื่อมต่อจากฝั่ง Dart อยู่เหมือนกันนะครับ

เท่าที่ทราบ คนที่ใช้ elm มีไม่มากนัก ยินดีที่ได้เจอครับ :)

 
majorika 2021-07-27

ตอนนี้กำลัง build ไลบรารีด้วย rust cdylib แล้วเชื่อมต่อ dynamic library ด้วย dart ffi เพื่อใช้งานครับ

 
mrchypark 2021-07-27

ขอบคุณสำหรับคำตอบครับ :)

 
majorika 2021-07-27

มีบางส่วนที่ควรอัปเดตเล็กน้อย แต่ภาพรวมแล้วบทความสองชิ้นด้านล่างน่าจะช่วยได้ครับ

Dart Meets Rust: a match made in heaven - https://dev.to/sunshine-chain/…

Dart and Rust: the async story - https://dev.to/sunshine-chain/rust-and-dart-the-async-story-3adk