Applimode - บริการคอมมูนิตี้และบล็อกที่สร้างด้วย Flutter + Firebase
(github.com/mycalls)ขอแนะนำ Applimode โปรเจกต์โอเพนซอร์สชิ้นแรกของผมที่ใช้เวลาเรียนเขียนโปรแกรม 1 ปี และพัฒนามา 2 ปี
Github : https://github.com/mycalls/applimode
เป้าหมาย
- เปิดใช้งานบริการคอมมูนิตี้และบล็อกได้ภายในไม่กี่ชั่วโมง แม้ไม่มีประสบการณ์พัฒนา
- นำขึ้นใช้งานและดูแลบนคลาวด์เซิร์ฟเวอร์ด้วยตนเองด้วยต้นทุนต่ำที่สุด
- มอบประสบการณ์ผู้ใช้แบบเดียวกันบนเว็บ (รวม PWA), Android และ iOS
เดโม
FAQ
Q. ทำไมถึงเลือก Firebase?
A. ตอนแรกพัฒนาควบคู่กับ Supabase ด้วย แต่เมื่อคำนึงถึงการที่ผู้ที่ไม่ใช่นักพัฒนาก็ใช้งานได้ง่าย ความสะดวกในการดีพลอย (Firebase Hosting), การแจ้งเตือนแบบพุช (FCM) และการผสาน AI (Gemini) จึงเลือก Firebase
Q. ถ้าเป็นบริการที่เน้นสื่อเป็นหลัก ค่าใช้จ่ายของ Firebase Storage จะไม่เป็นภาระหรือ?
A. สามารถเชื่อมต่อ Cloudflare R2 เพื่อใช้งานได้โดยไม่มีค่ารับส่งข้อมูล พื้นที่เก็บข้อมูลฟรี 10GB และคิดเพิ่ม $15 ต่อ 1TB
Q. แอปเนทีฟกับเว็บแอปต่างกันอย่างไร?
A. แอปเนทีฟที่สร้างด้วย Flutter เร็วมาก ส่วนเว็บแอปอาจใช้เวลาโหลดครั้งแรก 1~5 วินาที แต่หลังจากนั้นจะทำงานได้รวดเร็ว
Q. ข้อเสียของ Flutter คืออะไร?
A. การทำให้ติดบนเสิร์ชเอนจินทำได้ยาก และในเวอร์ชันเว็บมีบั๊กบางอย่างที่เกี่ยวกับการป้อนข้อความ Firestore ไม่รองรับ Full Text Search แต่สามารถเพิ่มฟังก์ชันค้นหาได้ด้วย Cloudflare D1 ในอนาคตตั้งเป้าไปที่การค้นหาแบบเวกเตอร์ผ่านเครื่องมือ AI ของ Google
แผนต่อไป
- จัดการคอนเทนต์ด้วย AI (บล็อกโฆษณา สแปม คำหยาบ คำแสดงความเกลียดชัง และโพสต์ที่ถูกรายงานจำนวนมากโดยอัตโนมัติ)
- พัฒนาเครื่องมืออัตโนมัติเพื่อให้การนำบริการขึ้นใช้งานง่ายและรวดเร็วยิ่งขึ้น
หวังว่าโปรเจกต์นี้จะช่วยให้หลายคนประหยัดทั้งเวลาและค่าใช้จ่าย
ผมยังไม่ชำนาญทั้งการพัฒนาและการดูแล GitHub มากนัก แต่ก็อยากเติบโตไปพร้อมกับผู้ที่สนใจ ขอบคุณครับ
14 ความคิดเห็น
ผมก็เคยพิจารณา Flutter เหมือนกัน แต่รู้สึกว่าทั้งการโหลดตอนเริ่มต้นและความรู้สึกบางอย่างมันดูไม่ค่อยเป็นธรรมชาติอยู่เล็กน้อย เลยสุดท้ายพัฒนาแอป Android แบบเนทีฟต่อไป ส่วนเว็บก็แยกพัฒนาด้วย TypeScript ต่างหากครับ
ถึงอย่างนั้นก็ยังรู้สึกเสียดายอยู่เสมอครับ ว่าทั้งที่ทำทุกอย่างได้ด้วยเฟรมเวิร์กเดียวและภาษาเดียว (Dart) ทำไมตอนนั้นถึงต้องแยกทำกันนะ?
ผลงานที่ทำเสร็จออกมาน่าประทับใจมาก จนทำให้ผมคิดว่าคราวหน้าถ้ามีโอกาส ผมก็อยากลองทำโปรเจกต์อะไรสักอย่างด้วย Flutter ดูเหมือนกัน หวังว่าจะพัฒนาต่อไปเรื่อย ๆ นะครับ!!
ตอนที่ผมเริ่มพัฒนาด้วย Flutter ครั้งแรกเมื่อ 2 ปีก่อน ผมก็รู้สึกแบบเดียวกันครับ โชคดีที่ Flutter มีการอัปเดตอย่างต่อเนื่องทำให้ประสิทธิภาพดีขึ้นมาก และแม้เว็บจะยังมีหนทางอีกไกล แต่ก็กำลังค่อย ๆ ปรับแต่งให้เหมาะกับสภาพแวดล้อมบนเว็บมากขึ้นผ่านวิธีการที่หลากหลาย ขอบคุณอย่างจริงใจสำหรับกำลังใจที่มอบให้ด้วยใจจริง และ Applimode เองก็จะพัฒนาอย่างต่อเนื่องต่อไปเช่นกันครับ
ใช้ Flutter นี่...นับถือจริง ๆ ครับ ผมเป็นนักพัฒนาแบ็กเอนด์ และเคยมีประสบการณ์ทำแอปด้วย Flutter มาก่อน จำได้ว่ามันเข้ากับแพลตฟอร์มของ Google ได้อย่างลงตัวมากจนรู้สึกชอบมากเลย สุดยอดจริง ๆ ครับ
เห็นด้วยอย่างยิ่งครับ/ค่ะ ผม/ฉันก็คิดว่า Flutter กับ Firebase แทบจะเป็นชุดเดียวกัน และยิ่งพัฒนาไปก็ยิ่งรู้สึกขอบคุณ Google อยู่เสมอ ขอบคุณมากจริง ๆ สำหรับกำลังใจจากใจจริง ตอนนี้ทั้งทักษะของผม/ฉันและแอปยังขาดอีกมาก แต่ผม/ฉันจะค่อย ๆ ปรับปรุงอย่างต่อเนื่องครับ/ค่ะ
ว้าว~ สุดยอดมากเลย
เป็นกำลังใจให้นะ~
ขอบคุณครับ/ค่ะ แม้ว่ายังมีหลายจุดที่ต้องพัฒนา แต่จะค่อย ๆ ปรับปรุงอย่างต่อเนื่องต่อไปครับ/ค่ะ
ตั้งตารอครับ ขอบคุณครับ
ขอบคุณครับ/ค่ะ หวังเป็นอย่างยิ่งว่าโปรเจกต์นี้จะเป็นประโยชน์อย่างมากต่อหลาย ๆ คน
โอ้~ ดีเลยครับ
ถ้าใช้โซเชียลล็อกอินก็น่าจะยิ่งดีขึ้นครับ
สู้ๆ~~
ผมเองก็คิดอยู่เสมอว่าจะทำให้ผู้ใช้ตั้งค่าการเข้าสู่ระบบผ่านโซเชียลได้ง่ายขึ้นอย่างไร ผมจะพยายามอย่างเต็มที่เพื่อนำฟีเจอร์นี้มาใช้ให้เร็วที่สุด ขอบคุณอย่างจริงใจสำหรับความคิดเห็นอันมีค่าของคุณ
การทำจนเสร็จสมบูรณ์ดูจะมีความหมายมากจริง ๆ ดูดีมากครับ
การได้เห็นผลลัพธ์ด้วยตัวเองว่าเว็บดีเวลอปเมนต์บน Flutter จะเป็นอย่างไร ช่วยได้มากครับ
ได้เห็นปัญหาต่อไปนี้ด้วยตาตัวเองโดยตรง
ขอบคุณสำหรับความคิดเห็นที่จริงใจ ปัญหาที่คุณชี้ให้เห็นนั้นผมเองก็สัมผัสได้ทุกวันเช่นกัน หวังว่าโปรเจกต์อย่าง 'Applimode' จะช่วยทำให้ผู้คนรับรู้ปัญหาเหล่านี้และช่วยผลักดันการปรับปรุงได้ไม่มากก็น้อย
ถ้าเป็นบริการคอมมูนิตี้/บล็อก เรื่องที่ต้องพิจารณาสำคัญที่สุดจริง ๆ คือ SEO และผมคิดว่า flutter ไม่ใช่ตัวเลือกที่ดี
เห็นด้วยอย่างยิ่งครับ/ค่ะ เนื่องจากปัญหา SEO เหล่านี้ ขณะนี้จึงกำลังมีการหารือเกี่ยวกับการนำ DOM renderer แบบใหม่มาใช้ โดยส่วนตัวแล้วผม/ดิฉันคาดหวังว่า หากโปรเจกต์ Flutter ลักษณะนี้มีความเคลื่อนไหวมากขึ้น ความเร็วในการปรับปรุงก็น่าจะเพิ่มขึ้นด้วย