เผยแพร่เมื่อ

80% ที่ไม่มีใครควรต้องสร้างซ้ำ

ผู้เขียน

Listen in English · 80% ที่ไม่มีใครควรต้องสร้างซ้ำ

0:00 / 0:00

Watch in English · 80% ที่ไม่มีใครควรต้องสร้างซ้ำ

ซอฟต์แวร์ธุรกิจส่วนใหญ่ไม่ใช่ธุรกิจของคุณ การเข้าสู่ระบบ บทบาท สิทธิ์การเข้าถึง บันทึกการตรวจสอบ REST endpoints งานเบื้องหลัง รูปแบบการพิมพ์ รายงาน การสำรองข้อมูล — ทุกแอปพลิเคชันต้องมีทั้งหมดนี้ และไม่มีสิ่งใดทำให้คุณแตกต่าง Frappe มีสิ่งเหล่านี้มาให้พร้อมแล้ว นั่นคือเหตุผลว่าทำไมการสร้างระบบด้วย Frappe จึงใช้งบประมาณไปกับ 20 เปอร์เซ็นต์ที่เป็นของคุณจริง ๆ

ถามทีมว่าระบบภายในของพวกเขาทำอะไร แล้วคุณจะได้ยินเรื่องงานต่าง ๆ เช่น สายอนุมัติ กฎการกำหนดราคา วิธีที่งานถูกจัดตารางและปิดงาน ถามว่าสร้างนานแค่ไหน แล้วเวลาเกือบทั้งหมดกลับไปอยู่ที่อื่นโดยสิ้นเชิง — การล็อกอิน การตัดสินว่าใครเห็นอะไรได้บ้าง การต่อ API การสร้าง PDF การรันงานข้ามคืน และการหาวิธีกู้คืนฐานข้อมูลหลังจากมีคนเผลอดรอปตารางทิ้ง

งานอีกส่วนนั้นไม่ใช่ทางเลือก ระบบธุรกิจทุกระบบจำเป็นต้องมีมัน แทบไม่มีส่วนไหนเลยที่เป็นธุรกิจของคุณ

Frappe เป็นเฟรมเวิร์กที่สร้างขึ้นจากข้อสังเกตว่า 80% นี้เหมือนกันทุกที่ ดังนั้นจึงควรเขียนเพียงครั้งเดียว

1
คำจำกัดความต่อเอนทิตี — DocType — ซึ่งสร้างตาราง ฟอร์ม มุมมองรายการ API และสิทธิ์การเข้าถึงไปพร้อมกัน
5
สิ่งที่คุณได้รับจากคำจำกัดความเดียวนี้ก่อนเขียนโค้ดแอปพลิเคชันใด ๆ
0
จำเป็นต้อง fork แกนหลัก: พฤติกรรมที่กำหนดเองจะอยู่ในแอปของคุณเอง เพื่อให้ยังสามารถอัปเกรดได้

นิยามเดียว ห้าผลิตภัณฑ์

แนวคิดหลักนั้นเรียบง่ายและยิ่งทบทวี ใน Frappe คุณอธิบายเอนทิตีเพียงครั้งเดียว — ฟิลด์ ประเภท และลิงก์ไปยังเอนทิตีอื่น — แล้วเฟรมเวิร์กจะสร้างส่วนที่เหลือให้: ตารางฐานข้อมูล ฟอร์มสำหรับแก้ไข มุมมองรายการสำหรับค้นหา REST endpoint สำหรับอ่านและเขียน และกฎสิทธิ์ที่กำหนดว่าใครอาจทำสิ่งใดในสิ่งเหล่านั้นได้

เมื่อเพิ่มฟิลด์ ฟิลด์นั้นจะปรากฏในทั้งห้าตำแหน่ง เมื่อเปลี่ยนการตรวจสอบความถูกต้อง การเปลี่ยนแปลงนั้นจะมีผลกับฟอร์ม API และงานเบื้องหลังใด ๆ ที่เกี่ยวข้องกับเรกคอร์ด เพราะทั้งหมดทำงานผ่านเลเยอร์เดียวกัน

  1. อธิบาย

    ฟิลด์ ประเภท และลิงก์ ในนิยาม DocType เดียว — ไม่มีไฟล์ migration แยก ไม่มีสคีมาฟอร์มซ้ำ

  2. สร้างขึ้น

    ตาราง ฟอร์ม มุมมองรายการ และ REST endpoint ปรากฏพร้อมกัน สอดคล้องกันโดยโครงสร้าง

  3. ถูกกำกับ

    บทบาทและสิทธิ์ผูกกับนิยามเดียวกัน ดังนั้น API จึงข้ามสิ่งที่ฟอร์มบังคับใช้ไม่ได้

  4. ขยาย

    ลอจิกกำหนดเองอยู่ในแอปของคุณเองด้วย hooks — แกนหลักไม่ถูกแตะต้อง ดังนั้นการอัปเกรดจึงยังคงเป็นคำสั่งเดียว

การบีบอัด ความประหยัดไม่ได้อยู่ที่การพิมพ์น้อยลง แต่อยู่ที่การไม่ปล่อยให้ทั้ง 5 มุมมองของเอนทิตีเดียวกันแยกจากกัน

สิ่งที่มาพร้อมในกล่อง

รอบ ๆ แกนหลักนั้น Frappe มาพร้อมกับกลไกที่ไม่หวือหวาแต่ทุกการติดตั้งใช้งานจำเป็นต้องมี: ผู้ใช้และบทบาท, API แบบ REST และ RPC, คิวงานเบื้องหลัง, การอัปเดตแบบเรียลไทม์ผ่าน websockets, อีเมล, การจัดเก็บไฟล์, รูปแบบการพิมพ์และการสร้าง PDF, รายงานแบบสคริปต์, เวิร์กโฟลว์, การแปลภาษา และคอมมานด์ไลน์ — bench — ที่ติดตั้ง อัปเดต สำรองข้อมูล และกู้คืนไซต์

ERPNext ชุดซอฟต์แวร์ด้านบัญชีและการปฏิบัติการ สร้างขึ้นบนเฟรมเวิร์กเดียวกัน เช่นเดียวกับผลิตภัณฑ์ CRM, Helpdesk, HRMS และ LMS เรื่องนี้สำคัญด้วยเหตุผลง่าย ๆ ว่า หากแอปพลิเคชันของคุณต้องการระบบบัญชี สต็อก โครงการ หรือการสนับสนุน คุณไม่ได้กำลังเชื่อมต่อกับระบบของบุคคลที่สามผ่าน HTTP และปรับกระทบยอดโมเดลข้อมูลสองชุด คุณกำลังเพิ่ม DocType ไว้ข้าง ๆ ชนิดที่มีอยู่แล้ว

หนึ่งคำนิยาม ผลิตภัณฑ์ห้ารายการ

เงินจริง ๆ ไปอยู่ที่ไหน

การสร้างบนสแตกอเนกประสงค์จะใช้เวลาช่วงแรกๆ ไปกับโครงสร้างพื้นฐาน (scaffolding): การยืนยันตัวตน การจัดการเซสชัน ORM อินเทอร์เฟซผู้ดูแลระบบ โมเดลสิทธิ์ เครื่องมือ migration เลเยอร์ API ตัวรันงาน ไลบรารี PDF และสคริปต์ deploy ที่เชื่อมทุกอย่างเข้าด้วยกัน แต่ละอย่างล้วนเป็นจุดที่อาจทำให้เกิดบั๊กด้านความปลอดภัย และทุกอย่างต้องได้รับการดูแลตลอดอายุการใช้งานของแอปพลิเคชัน

บน Frappe รายการนั้นคือการตั้งค่า งบประมาณจะย้ายไปยังส่วนที่ธุรกิจสนใจจริง ๆ — กฎการกำหนดราคา สายการอนุมัติ ตรรกะการจัดตาราง — ซึ่งเป็นส่วนที่ยากที่สุดที่จะเอาท์ซอร์ส และเป็นส่วนเดียวที่คู่แข่งลอกเลียนแบบไม่ได้

งานที่ไม่ได้สร้างความแตกต่าง80%

auth, permissions, API, jobs, reports, deploy, backups

ตรรกะทางธุรกิจจริงของคุณ20%

กฎที่ไม่มีใครอื่นมี

หลักคร่าว ๆ ของ ABN Asia จากโปรเจกต์ Frappe ไม่ใช่ตัววัด ประเด็นอยู่ที่ว่าคุณกำลังจ่ายเงินให้ครึ่งไหน

สิ่งนี้หมายความว่าอย่างไรสำหรับทีมเล็ก

ข้อโต้แย้งที่พบบ่อยคือเฟรมเวิร์กคือพันธะผูกพัน มันเป็นเช่นนั้นจริง — และพันธะผูกพันนั้นน้อยกว่าทางเลือกอื่น เพราะทางเลือกอื่นคือการผูกกับสแตกที่สั่งทำเฉพาะซึ่งมีเพียงคนที่สร้างมันขึ้นมาเท่านั้นที่เข้าใจ

ด้วย Frappe ทีมเล็ก ๆ ก็สามารถดูแลระบบที่ปกติต้องใช้ทีมใหญ่กว่ามากได้: เซิร์ฟเวอร์หนึ่งเครื่อง ฐานข้อมูลหนึ่งชุด คำสั่ง deploy หนึ่งคำสั่ง การสำรองข้อมูลหนึ่งชุด และเส้นทางการอัปเกรดที่ไม่ต้องทดสอบหน้าจอเข้าสู่ระบบซ้ำ เมื่อแอปพลิเคชันเติบโตเกินเซิร์ฟเวอร์ โค้ดชุดเดิมก็ย้ายไปได้ เมื่อข้อกำหนดเปลี่ยน การเปลี่ยนแปลงจะไปอยู่ใน DocType แทนที่จะกระจายอยู่ห้าจุด

ABN Asia เข้ามาเกี่ยวข้องตรงไหน

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

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

หากคุณมีกระบวนการที่ขับเคลื่อนด้วยสเปรดชีตและอีเมล บทสนทนาแรกที่มีประโยชน์ไม่ใช่เรื่องเทคโนโลยี แต่เป็นเรื่องของว่ากฎใดในนั้นเป็นกฎจริง ๆ และกฎใดเป็นนิสัยที่ไม่มีใครเคยตั้งคำถาม

ที่มา: งาน Frappe ของ ABN Asia เอง ปี 2026 การแบ่งสัดส่วนความพยายามข้างต้นเป็นเพียงหลักทั่วไปจากงานนั้น ไม่ใช่สถิติที่วัดมา

ติดต่อ: [email protected]

โปรดทราบว่าเวอร์ชันภาษาไทยได้รับการช่วยเหลือจาก AI ดังนั้นอาจมีข้อผิดพลาดเล็กน้อย

ผู้เขียน

Ai-Banking-NetworkSecurity (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย

หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องกรทางเทคโนโลยีของคุณทุกเมื่อ

ABNAsia.org

© ABN ASIA