Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

สรุปเนื้อหาในช่วงเช้าของงาน React Bangkok 3.0.0

$
0
0

มีโอกาสมาร่วมงาน React Bangkok 3.0.0 จัดโดยทีม ReactJS Developer Thailand จัดงานที่ตึก Energy Complex ชั้น 6 ซึ่งครั้งนี้จัดยิ่งใหญ่กว่าเดิมมาก เพื่อไม่ให้เสียเวลา มาสรุปเนื้อหาของงานในช่วงเช้ากันดีกว่า ส่วนบรรยากาศไว้ตามมาทีหลัง ในส่วนของเนื้อหาช่วงบ่ายอ่านได้ที่นี่

เริ่มงานมาก็จะติดขัดนิดหน่อยสำหรับการลงทะเบียนเข้างาน

เพราะว่าออกมาจากลิฟท์ก็เจอกับเหล่า React Developer หลายร้อยชีวิตเข้าแถว เพื่อลงทะเบียน รับเสื้อและของที่ระทึก !! แถวยาวมาก ๆ ซึ่งเรื่องนี้เป็นปัญหาที่เกิดกับทุก ๆ event เลยนะ เราจะแก้ไขกันอย่างไรดี ส่วนชาว developer ก็มาสายเป็นปกติ เพราะว่า เมื่อคืนทีมชาติเยอรมันลงแข่งตอนตีหนึ่ง กว่าจะจบก็ปาไปจนตี 3 กันแล้ว !! แต่โดยรวมบรรยากาศกำลังดีมาก ๆ

เริ่มมาที่เนื้อหากันบ้าง

เปิดด้วย session แนะนำตัวของผู้สนับสนุนสถานที่หลักอย่างเป็นทางการคือ PTT Digital ซึ่งทำการแนะนำบริษัท ที่ไปที่มา รวมไปถึงเป้าหมายที่ได้ตั้งไว้ ว่ามีอะไรบ้าง เพื่อสร้างและพัฒนา service ใหม่ ๆ รวมทั้งการสร้าง digital platform สำหรับองค์กร ตลอดจนสิ่งที่กำลังทำเช่น Cloud, Analytic/Big data, Blockchain และ Security เป็นต้น ไม่รอช้าเริ่มเนื้อหาของ React กันเลย

หัวข้อแรก การเปลี่ยนแปลงที่สำคัญของ Reactในปี 2018

ในปี 2018 นั้น React จะมีการเปลี่ยนแปลงมากมาย แต่ทางผู้พูดเลือกสิ่งที่น่าสนใจมา 3 เรื่องคือ
  1. React Async Rendering ซึ่งช่วยให้ react app มีการทำงานที่ดีขึ้นอย่างมาก
  2. สิ่งที่จะ deprecated ไปจาก React Life cycle มาจากผลของข้อที่ 1 นั่นเองคือ componentWilMount, componentWilREceiveProps และ ComponentWillUpdate ดังนั้นถ้าใครจะใช้อะไรก็ระวังด้วย เผื่อต้อง migrate กัน
  3. การ Re-architecture ของ React Native เป็นการยกเครื่องใหม่ เพื่อปรับปรุงประสิทธิภาพการทำงาน รวมทั้งการทำงานร่วมกันกับส่วนต่าง ๆ ดีขึ้น น่าจะเป็นอีกเรื่องที่ดีสำหรับอนาคต รอดูกัน

หัวข้อที่สองและสามคือ Gataby.js vs Next.js

ทำการรวมสองหัวข้อเข้าด้วยกัน เนื่องจากเป็นสองเครื่องมือที่นำมาใช้คล้าย ๆ กันคือ การทำ Static Site Generator หรือ Static Site Content โดยเครื่องมือทั้งสองตัวมีแนวคิดและแนวทางเดียวกันต่างเพียงวิธีการ รวมทั้งมีข้อดีและเสียต่างกันไป ยกตัวอย่างเช่น Gataby.js จะเหมาะสมกับการเริ่มต้น เหมาะสำหรับ usecase ทั่วไปที่ไม่ยากและซับซ้อน ส่วน Next.js นั้นจะใช้กับ use case ที่เฉพาะทางและมีความซับซ้อนสูง แต่การใช้งาน Next.js ด้วยค่าพื้นฐานนั้น ประสิทธิภาพจะแย่มาก ๆ ดังนั้นจำเป็นต้องเอาแนวคิดจาก Gataby.js มาใช้ด้วย ทั้งเรื่องของ Data splitting และ pre-fetch
ดังนั้นการใช้งานแนะนำให้นำแนวคิดจากทั้งสองมาใช้งาน เพื่อสร้างสิ่งที่เราต้องการขึ้นมาตามงานนั้น ๆ ไป Build app, Not War

หัวข้อที่สี่คือ ประสบการณ์การใช้งาน GraphQL บน production

อธิบายสิ่งที่น่าสนใจ 3 เรื่องคือ
  1. ​การออกแบบเพื่อให้มีความปลอดภัย
  2. การจัดการและดูแลรักษาที่ง่าย
  3. การ monitoring ระบบ
การออกแบบเพื่อให้มีความปลอดภัยนั้นสำคัญมาก ๆ ทั้งเรื่องของการออกแบบ type อย่าให้มี circular type รวมทั้งจำกัดขนาดสูงสุดของ response ที่จะส่งกลับไปด้วย มิเช่นนั้นระบบน่าจะถูกระดมยิง และ ล่มได้เลย ต่อมาเรื่องการดูแลรักษาไฟล์ resolver ซึ่งจะประกอบไปด้วย type จำนวนมาก ถ้าระบบเรามีเพียงไฟล์เดียวแล้ว ทำให้การดูแลรักษายากมาก ๆ ดังนั้นแยกกันซะ แล้วตอน build ค่อยนำมารวมกัน นั่นคือการใช้งาน Split schema เรื่องสุดท้ายคือ การ monitoring ระบบ ซึ่งแนะนำให้ใช้งาน Apollo engine แนะนำให้อ่าน Best Practice of GraphQL เพิ่มเติม

หัวข้อที่ห้า KotlinJS love React

เป็นอีกหัวข้อที่แปลกแหวกแนว เนื่องจาก Kotlin นั้นคือภาษาที่ทำงานบน JVM (Java Virtual Machine) แต่ว่าตั้งแต่ Kotlin 1.2 ขึ้นมานั้นมี Kotlin Multi-Platoform ซึ่งทำให้สามารถแยก common code ออกมาอยู่ตรงกลาง จากนั้นเราก็สามารถเขียน code ด้วยภาษา Kotlin ตามแต่ละ device ได้เช่น KotlinJS สำหรับการทำงานผ่าน browser Kotlin สำหรับ Android และ Application ทั่วไป ที่สำคัญ Kotlin นั้นถูกประกาศให้เป็น Official Language ของ Android app ด้วยนะ
อีกสิ่งที่สำคัญ web ของ Kotlin นั้นพัฒนาด้วย React ด้วยนะ รวมทั้งได้สร้างเครื่องมือชื่อว่า Create React Kotlin App สำหรับสร้าง react app ด้วย KotlinJS
สำหรับตัวอย่างของ Multi-platform ด้วย Kotlin สามารถดูได้จาก Kotlin Academy App

หัวข้อที่หก ผมขอเปลี่ยนชื่อเป็น สวัสดี Clojurescript

เป็นอีกหัวข้อทางเลือกสำหรับการพัฒนา web application ด้วยแนวทางใหม่ ๆ นั้นคือ Clojurescript ซึ่งมีพื้นฐานมาจากภาษา Clojure นั่นเอง ซึ่งตัวภาษาบอกไว้ว่า
  • ​Simplicity
  • Data-oriented
  • Pure function
ดังนั้นเมื่อนำมาเขียน web application แล้ว จะยิ่งช่วยเหลือและจัดการปัญหาต่าง ๆ ได้เยอะ เช่นการนำ Redux มาใช้ มันก็คือการนำเอาแนวคิดของภาษา Clojure มาพัฒนาในรูปแบบของ JavaScript นั่นเอง แต่จะดีกว่าไหม ถ้ามาเขียนด้วย Clojurescript ไปเลย แต่ปัญหาอย่างหนึ่งคือ เรื่องของตัวภาษานั่นเอง ที่อาจจะต้องปรับตัวและทำความเข้าใจกันหน่อย แต่ผมเชื่อว่า ถ้าผ่าน JavaScript มาได้หรือทนมาได้แล้ว Clojurescript ไม่น่ายากนะ !!
ติดตามดูบรรยากาศของงานได้จาก #reactbkk ได้เลย ส่วนถ้าใครอยากดูแบบสด ๆ ทาง Gucode ก็มีให้ด้วย

Viewing all articles
Browse latest Browse all 1997

Trending Articles