🔥 "บางคนบอกว่าอย่าใช้ Framework เลยเพราะมันช้า มันยุ่งวุ่นวาย มันเป็นแบบนั้นจริง ๆ หรือเปล่า ?"
.
รวมไปถึงความตกอกตกใจว่า "อะไร ๆ ก็ Framework มันเยอะแยะเต็มไปหมด จะเลือกใช้อันไหนดี !?"
.
อาจทำให้เรารู้สึกว่า มันเป็นอะไรที่ยุ่งยากไปหมด และ ไม่ยอมเปิดใจรับกับมัน วันนี้แอดจะพาทุกคนมาทำความเข้าใจกับคำว่า "Framework" ให้มากยิ่งขึ้นกันฮะ <3
.
โดยจะต้องบอกคร่าว ๆ ว่า เจ้าตัว Framework เนี่ย ! มันมีเป้าหมายที่เขาสร้างขึ้นไว้เพื่อที่จะให้เหล่า Developer แบบพวกเราโฟกัสไปที่ฟีเจอร์หลัก ๆ ที่เราจะต้องพัฒนาเท่านั้น
.
เช่น ถ้าแอปเกี่ยวกับโปรแกรมบัญชีร้านค้า เราก็โฟกัส ใช้เวลาทำไปกับฟังก์ชันหลักด้านบัญชี และ ร้านค้าเลย
.
👾 โดยที่การทำงานทั่ว ๆ ไป เช่นโครงสร้างระบบ หรือ การรับ ส่ง ข้อมูล จนไปถึงเรื่องความปลอดภัย และ Performance หลาย ๆ อย่าง โดยปกติ Framework จะมีการจัดการให้ (ทั้งนี้ขึ้นกับตัวที่เราเลือกใช้ด้วยนะ !)
.
ซึ่ง Framework ในที่นี้จะแตกต่างกับการใช้พวก CMS คือ โดยปกติแล้วเขาจะไม่ได้ให้พวกที่เป็นส่วน User Interface มาด้วย แต่ก็มีบางตัวเช่น Django ที่มีหน้า Admin ให้เรามาจัดการข้อมูลแบบง่าย ๆ ให้
.
"ซึ่งประโยชน์โดยตรงก็ตามที่แอดได้ว่าไว้ มันช่วยลดระยะเวลาในการพัฒนาของเราขึ้นมาก ๆ ทำให้เราขึ้นงานได้ไวขึ้น"
.
😷 เปรียบเสมือนกับอาคารที่เมืองจีน จนไปถึง โรงพยาบาลในจีนที่โควิด-19 ระบาดใหม่ ๆ เราจะพบว่าใช้เวลาไม่กี่วันก็สร้างเสร็จ Framework ก็เช่นเดียวกันครับ วิศวกรใช้เวลาหลัก ๆ ในการออกแบบส่วนที่เป็นโรงพยาบาลเน้น ๆ ไปเลย ส่วนกำแพง ผนังพวกนี้แทบจะสำเร็จรูปมาแล้วทั้งสิ้น
.
✅ จนไปถึงข้อดีอื่น ๆ เช่น ส่วนใหญ่แล้ว Framework เหล่านี้มักจะเป็น Open-source (ที่เป็นแบบ Open จริง ๆ) ที่สามารถให้คนทั่ว ๆ ไปมาใช้งาน และ พัฒนาต่อยอดได้ ดังนั้นแล้วปัญหาที่คนทั่วไปมักจะเจอ จนไปถึงเรื่อง Security เราก็หายห่วงได้
.
และ ยิ่งเป็น Framework ใหญ่ ๆ ที่คนรู้จักกันดีอยู่แล้ว การที่เราจะไปเชื่อมต่อกับระบบอื่น ๆ เช่น ฐานข้อมูล, Services ภายนอกต่าง ๆ ก็เป็นเรื่องที่ง่าย
.
⚠️ แต่ทั้งนี้ทั้งนั้นก็มีข้อแลกเปลี่ยนอยู่บ้างในการใช้งานนั่นก็คือคำว่า "ไม่ใช่ทุก Framework จะเหมาะกับทุกงาน" ดังนั้นเราอาจจะต้องยอมแลกบางอย่าง เพื่ออะไรบางอย่าง
.
เช่น ถ้าเราต้องการขึ้นงานไว ๆ Django อาจช่วยเราได้ แต่ Performance มันอาจจะไม่ได้ไวปรู๊ด ๆ นะ รวมไปถึงข้อจำกัดบางอย่างที่อยู่ในบาง Framework
.
ซึ่งถ้าถามว่าเราสามารถแลกบางอย่าง เพื่อหลาย ๆ อย่างได้ก็เป็นการ Trade-off ที่ดีเลย สำหรับการเลือกใช้ Framework ครับ
.
🔥 "เพราะยุคนี้บางครั้ง ถ้าเรามัวแต่โฟกัสเน้นไปหมดทุกเรื่อง กว่าจะขึ้นงานเสร็จคู่แข่งคงไปไกลแล้ว นี่ยังไม่รวมต้นทุนทั้งเงิน คน เวลา ในการพัฒนาอีก"
.
ส่วนถ้าถามว่าเลือกยังไงดี อันนี้คงต้องไปไล่ดูทีละตัวครับ บางคนถามว่าใช้อันนั้น อันนี้ดีไหม ? แต่ละอันก็มีงานเฉพาะของเขาไปครับ
.
เช่น Flutter อาจจะโอเคกว่า React Native (ถ้านับตามปัจจุบัน) ในเรื่องของ Performance แต่อาจจะหาความรู้ได้ยากกว่าหน่อย ๆ เพราะ Community เล็กกว่า เป็นต้น
.
⭐️ ถ้าให้เทคนิคในการเลือกแบบง่าย ๆ เราก็คงต้องดูภาพรวมว่า มีผู้ Contribute เยอะมากน้อยแค่ไหน, Document พอเราอ่านแล้วเข้าใจได้มากไหม ?, Performance เพียงพอกับไซส์งานเราเราหรือเปล่า, มีปัญหาเรื่อง Security บ่อยมากแค่ไหน
.
ไปจนถึงสุดท้ายคือ Version ที่แล้ว กับ Version ปัจจุบัน เวลาเขาเปลี่ยน Code เก่ามันพังไปเยอะไหม ซึ่งตรงนี้จะสามารถดูได้ว่าระบบนิ่งแล้วหรือยังนั่นเองครับ :D
.
✅ ซึ่งสุดท้ายนี้อยากจะฝากไว้เล่น ๆ ถ้าเกิดใครมีแอป หรือ สไตล์เว็บในใจแล้ว อยากรู้ว่าเว็บใหญ่ ๆ เขาใช้ Stack ไหนกันในการพัฒนา มาที่เว็บ Stackshare.io ได้เลยครับ ใช้งานฟรี : https://stackshare.io/stacks
.
(แอดไม่ได้ค่าสปอนนะฮะ แต่คาดว่าน่าจะมีประโยชน์กับผู้อ่านบทความนี้ไม่น้อย ฮ่าาา 🤣)
.
#BorntoDev - 🦖 Coding Academy ให้การพัฒนาเทคโนโลยีเป็นเรื่องง่ายสำหรับทุกคน
「flutter cms」的推薦目錄:
flutter cms 在 軟體開發學習資訊分享 Facebook 的最讚貼文
今天的開源報報( 每週一~週五早上 7:00 準時發刊 )
今天的內容摘要
✅可自訂的黑名單的瀏覽器外
✅利用 OCR 檢查上傳到 prnt.sc 的影像檔是否含有敏感資料
✅在 TypeScript 中使用原始 SQL 成為可能,並保證了資料型別安全
✅簡約,小巧,網頁元素定位引擎。建立高效能,最小的使用空間和最大限度的控制定位行為
✅寫入一個內容 / 目錄,透過類似 MongoDB 的 API 獲取 Markdown、 JSON、 YAML 和 CSV 檔案,充當一個基於 git 的 Headless CMS
✅用於機器學習實驗的影像增強
✅一個漂亮的、可維護的機器學習程式庫,用 Go 語言編寫,旨在支援自然語言處理任務中的相關神經網路架構
✅一個跨平台(Android 和 iOS) ActionSheet( for ReactNative ),具有靈活的 api、本機效能和零依賴程式碼。 在 ActionSheet 中建立你想要的任何東西
✅Flutter 下拉更新功能
✅用於 iOS、 macOS 和 Linux 的 Swift 協同程式( Coroutine )
✅基於 C++ 20 概念設計的 exception-safe RAII 程式庫。比 cstdio 快 10 倍
https://softnshare.com/opensource-133/