รีวิว Low Code Appsmith กัน

มาทำความรู้จักกับ Appsmith กัน ตัวช่วยที่จะทำให้คุณเขียนโค้ดน้อยลง ประหยัดเวลามากขึ้น
Appsmith logo

สวัสดีครับ วันนี้เราจะมารีวิว Appsmith กัน โดยในบทความนี้เราจะแค่อธิบายว่า Low Code คืออะไร สำคัญแค่ไหน และรีวิวในส่วนของ Appsmith กัน แต่ยังไม่ทำจริงนะ สามารถดูตัวอย่างเข้ได้ที่นี่ เป็นการใช้ Appsmith ต่อกับ Coingecko API แต่ก่อนที่เราเริ่มใช้ Appsmith เรามาทำความรู้จักกับคำว่า Low Code กันก่อน

Low Code ก็คือการที่เราพัฒนาโปรแกรมหรือทำซอฟต์แวร์แล้วเขียนโค้ดให้น้อยที่สุด ในอดีตนั้นกว่าเราจะทำเว็บหรือทำโปรแกรมอะไรก็ตามแต่ จะต้องมีคนเขียนโค้ดต่าง ๆ ตัวอย่างการเขียนเว็บไซต์ ก็จะต้องมี Frontend เป็นคนเขียนในส่วนของหน้าเว็บหรือ Web UI เชื่อมต่อการทำงานไปหลังบ้าน และก็จะมี Backend เขียน API เชื่อมต่อฐานข้อมูล หรืออาจจะมี SQL หรือ Query ต่าง ๆ ที่ Backend ต้องทำ มี Tester คอยเช็คความผิดพลาดที่เกิดขึ้น บลา ๆ ๆ

จากที่ว่ามา ก็จะเห็นว่า มันเกิดความยุ่งยากมากมาย สำหรับการพัฒนาเว็บ ๆ หนึ่งขึ้นมา จริง ๆ ก่อนหน้าหรือปัจจุบันก็จะมีคนพัฒนา Library, Framework, Tools ต่าง ๆ ที่เอามาช่วยให้การทำงานนั้นไวขึ้น แต่ก็ยังต้องปวดหัวเรื่องของการเชื่อมต่อ หรือเรียนรู้การทำงานของสิ่งที่เราจะนำมาใช้อีกด้วย ก็เลยเกิด Low Code ขึ้นมา แต่ปัจจุบันจากที่ผู้เขียนนั้นได้ศึกษามา จะมีคำว่า No Code อีกอัน

No Code อันนี้คือเราไม่ต้องเขียนโค้ดเลย แค่ลากวาง ๆ ก็สามารถทำเว็บไซต์ขึ้นมาได้ แต่ปัจจุบันที่ผู้เขียนได้ลองดูและลองใช้หลาย ๆ ตัวก็พบว่า บางอย่างก็ต้องเขียนเพิ่มเองหรือมีข้อจำกัด ทั้ง Low Code และ No Code ไม่ว่าจะเป็นเรื่อง Performance, Security หรือเรื่อง SQL แบบละเอียดจริง ๆ ก็อาจทำได้ยาก จริง ๆ บางอย่างอาจทำได้นะ แต่อาจจะยุ่งยาก สู้เราไปเขียนเอง และกำหนดเองจะดีกว่า แต่ถ้าเป็นเว็บหรือแอพที่เล็ก ๆ ที่มีผู้ใช้งานไม่ได้เยอะมากหรือใช้งานเฉพาะกลุ่ม เช่น Dashboard สำหรับดูข้อมูลภายใน ฟอร์มกรอกข้อมูล เว็บไซต์ให้ข้อมูล ก็จะสามารถทำได้

เอาล่ะ จากที่กล่าวมาเยอะแล้ว เรามากล่าวถึง Low Code ที่ชื่อ Appsmith กัน ว่ามันคืออะไร

Appsmith จากใน Github เค้าบอกว่าเป็น Low Code ไว้สำหรับทำงานประเภท Admin Tools ก็คือพวกเว็บที่ใช้งานหลังบ้าน, Internal Tools ก็คือเชื่อมต่อกับภายนอก และ Dashboard ต่าง ๆ ส่วนจำนวนผู้ใช้งานมากแค่ไหน ก็ไปดูใน Github ได้เลย

Appsmith github

เอาล่ะ เรามาดูกันว่า Appsmith มีอะไรอะไรบ้าง

Datasource

Appsmith Datasource

จากรูปนั้นจะเห็นว่า Appsmith นั้นสามารถเชื่อมต่อกับ Datasource ได้ 2 อย่างคือ API กับ Database ซึ่งส่วนตัวแล้วก็ถือว่าครอบคลุม โดยเฉพาะ Create new API อันนี้ผู้เขียนว่าดีมาก เพราะถ้าเกิดมี Database อื่น ๆ หรืออันไหนที่ไม่ซัพพอร์ต เราก็สามารถเขียน API แยกขึ้นมาได้

Template

สามารถเข้าไปดูได้ที่ https://www.appsmith.com/templates ก็ถือว่ามีไม่ได้เยอะมาก ประมาณ​ 20 อันได้ แต่บางอันไม่ตรงปกนะ ต้องไปกดมาดู แต่ถือว่ามีค่อนข้างโอเค ใช้ดูเป็นตัวอย่างได้

Widget

สามารถเข้าไปดูได้ที่ https://www.appsmith.com/widgets จะเห็นว่ามีมากกว่า 45 Widget ให้ใช้ จะเห็นว่าเยอะ แต่จากที่ผู้เขียนลองใช้แล้วถือว่าไม่ค่อยครอบคลุมเท่าไร บางอย่างไม่มี เช่น Navbar, Sidebar, Treeview แต่ที่ว่ามาก็สามารถออกแบบอย่างอื่นเพื่อทดแทนกันได้ บาง Widget ใช้ยากใช้ง่ายไม่เท่ากัน ก็ต้องลองใช้ดู

API Client

Appsmith API Client

จากรูป เราสามารถยิง API ไปข้างนอกได้ ก็คือเทสผ่าน Server ได้เลย ถ้าติด Block หรือยิงไม่ผ่านก็ดูผ่านตรงนี้ได้เลย ไม่ต้องไปโหลด Postman หรือ API Client แยก มีของ GraphQL ด้วยนะ ส่วนตัวคิดว่า ดีมาก ชอบ ๆ

JS Object

Appsmith JS Object

จากรูป เราสามารถเขียน Javascript Function แล้วนำไปให้ Widget เรียกใช้ อันนี้ดีมาก ๆ คือ เค้าซัพพอร์ต Javascript ถ้าใครเขียนเป็น ง่ายมาก แล้วเรายังสามารถเอา Datasource หรือ API ที่เราทำไว้ เก็บใส่ตัวแปร แล้วเรียกใช้ใน JS Object ใช้งานได้เลย คือดีมาก

Query

Appsmith Query

จากรูป เราสามารถ Query ฐานข้อมูลได้เลย โดยใช้ SQL อันนี้ดี เพราะเราไม่ต้องไปลอง Query ใน Command Line หรือ Remote เข้าไปในเซิฟเวอร์ และไม่ต้องลง Web UI บน Database Server ด้วย ถือว่าดีมาก แต่พอมันมีให้ก็ต้องระวัง เนื่องจากว่าพอเป็น SQL มันเลยสามารถ ค้นหาแก้ไข เพิ่ม ลบ ได้ ทำให้สามารถทำอะไรก็ได้บน Database ส่วนนี้ต้องระวัง ต้อง Grant สิทธิ์ให้ดี ๆ ไม่งั้นแย่แน่ เรื่อง Whitelist ก็ต้องระวัง อย่าใช้เป็น * หรือ % ให้เข้าถึงได้ทั้งหมด ไม่งั้นคนอื่นจะแอบยิงเข้ามาได้ ก็ต้องระวัง

Query นี้ยังสามารถต่อกับ MongoDB หรือ Database อื่น ๆ ได้ด้วย และหน้า Query หรือ Connection ก็เปลี่ยนไปตามหน้านั้น ๆ ซึ่งถ้าพูดถึงฟีเจอร์นี้ คิดว่าดีมาก ๆ แต่ต้องใช้ให้เป็น

Edit Mode หรือหน้าลากวาง

Appsmith Edit Mode

จากรูปก็คือเอา Widget ลากมาวางบนหน้าจอได้เลย แล้วก็กำหนด Datasource, Query, Dependency ทางซ้าย ส่วนทางขวาจะเป็นการกำหนดค่าทั้งหมด เวลาคลิก Widget ก็กำหนดค่าได้เลย แล้วยังมีการกำหนด Theme ดูหน้าจอแต่ละแบบ ซึ่งตอบโจทย์การทำ Web UI มาก

เอาล่ะ จากที่กล่าวข้างต้นก็ถือว่ามีอะไรให้เล่นหลายอย่างเลย จริง ๆ มีอย่างอื่นอีกนะ ไม่ว่าจะเป็นการ Export/Import Application เป็น Json การเชื่อมต่อ Git ที่เป็น Beta อยู่ ไม่รู้ใช้งานได้ยัง การ Share ที่สามารถกำหนดสิทธิ์ได้ด้วย การทำ Self Hosting ที่เป็น Free forever features ไม่เสียค่าใช้จ่ายใด ๆ ทั้งสิ้น นอกจาก Cloud หรือเครื่องเรานะ ซึ่งที่ว่ามา เขียนไว้สั้น ๆ เพราะมันต้องอธิบายเป็นขั้นตอนไปว่าทำอย่างไร แต่อยากให้เข้าใจว่ามันมีฟีเจอร์นี้ด้วย ค่อนข้างดี

ต่อไปจะมาดูข้อดีข้อเสียของ Appsmith กัน

ข้อดี

  • ใช้งานง่ายแค่ลากวาง ๆ
  • มีฟีเจอร์ให้ใช้งานเยอะ
  • ทำ Self Hosting ได้
  • Query ที่ง่าย แต่แลกมาด้วยความปลอดภัย

ข้อเสีย

  • Widget มีให้ใช้น้อย ต้องเปลี่ยนไปใช้อย่างอื่นแทน
  • บาง Widget ใช้งานยาก
  • เมื่อ Public ขึ้นไปข้างบน มันเอา Topbar ข้างบนออกไม่ได้
  • Custom Domain ไม่ได้ต้องทำ Self Host แล้วเปลี่ยน Domain เอา
  • URL ไม่สวย กำหนดเองไม่ได้ด้วย

ราคา

ราคาสามารถเข้าไปดูได้ที่ https://www.appsmith.com/pricing ซึ่งถ้าใช้เป็น Business ถือว่าเอาเรื่องเลย Cloud version ก็ใช้งานผ่านเว็บ Self Hosting ก็จะใช้งานฟรี เสียแต่ค่าเซิฟเวอร์

จบแล้วครับกับการ รีวิว Low Code Appsmith ส่วนตัวลองใช้เป็นแบบ Cloud version โดยสมัครกับทางเว็บ Appsmith แต่ยังไม่ลองใช้เป็น Self Host กับ Business เดี๋ยวบทความหน้าจะเป็นการวิธีใช้งาน Appsmith ถ้าใครอยากดูตัวอย่าง สามารถเข้าไปดูได้ที่นี่ เป็นการใช้ Appsmith ต่อกับ Coingecko API

สำหรับบทความนี้ก็พอแค่นี้ก่อนละกันครับ หากมีคำถามหรือข้อสงสัยสามารถสอบถามได้ทาง Email หรือทาง Social ที่ทางเว็บมีให้ครับ สำหรับวันนี้ สวัสดีครับ

ช่องทางการติดต่อ

Email: [email protected]

Website: https://blog.tichaky.com/

Facebook: https://www.facebook.com/tichaky

Youtube: https://www.youtube.com/@tichaky_diary

Medium: https://medium.com/@tichakon.bank

DigitalOcean มีอะไรให้ใช้บ้าง

ติดตั้ง Laravel ด้วย Docker กัน

รู้จักกับ Volume บน Docker กัน

เชื่อมต่อ Twilio SMS เข้ากับ Logto