เลือกเฟรมเวิร์กข้ามแพลตฟอร์มใดสำหรับการสร้างสตาร์ทอัพในฐานะนักพัฒนา Android

ฉันทำงานเป็นนักพัฒนา Android มานานกว่าห้าปีแล้ว และแน่นอนว่าเป็นงานที่น่าสนใจ ความเชี่ยวชาญในสาขาใดสาขาหนึ่งทำให้คุณมีอาชีพการงานที่ยอดเยี่ยมได้ ตราบใดที่คุณเต็มใจที่จะพัฒนาไปวันแล้ววันเล่า
แม้ว่าฉันจะชอบเส้นทางในอาชีพการงานของฉัน แต่ก็มีเสียงเล็กๆ หนึ่งเสียงในหัวที่คอยบั่นทอนจิตใจฉันอยู่เสมอ มันเตือนฉันเสมอว่าทักษะของฉันค่อนข้างจำกัดเมื่อต้องทำงานกับความคิดส่วนตัวบางอย่าง ไม่มีธุรกิจใดที่มุ่งเน้นไปที่แอปพลิเคชัน Android เพียงอย่างเดียว มีบางธุรกิจที่รองรับเฉพาะแพลตฟอร์ม iOS แต่ในกรณีส่วนใหญ่ คุณคาดหวังให้รองรับทั้ง iOS และ Android
โครงการส่วนบุคคล
ในขณะนี้ ฉันมีความคิดเกี่ยวกับแอปพลิเคชันมือถือที่สามารถช่วยผู้ใช้ในการพัฒนาตนเอง ฉันสร้างทีมที่จำเป็นสำหรับการพัฒนา เราชี้แจงคุณสมบัติที่เราต้องการสร้างและออกแบบ MVP จริง
ขั้นตอนต่อไป: การพัฒนา
การเลือกเฟรมเวิร์กข้ามแพลตฟอร์ม
เนื่องจากฉันเป็นคนเดียวในทีมที่มีประสบการณ์ในการพัฒนาแอปบนอุปกรณ์เคลื่อนที่ หน้าที่ของฉันคือการพัฒนาแอปบนอุปกรณ์เคลื่อนที่สำหรับ iOS และ Android
ฉันได้ทดลองกับ React NativeและFlutterด้วยตนเองในช่วงสองสามปีที่ผ่านมา ฉันไม่สามารถพูดได้ว่าฉันใช้เวลากับพวกเขามาก แต่ฉันก็แสดงความคิดเห็นบางอย่าง
React Nativeเป็นสิ่งที่ไม่คลิกสำหรับฉัน ทุกอย่างดูยุ่งเหยิงไปหมด อาจเป็นเพราะฉันเคยชินกับแนวทางการเขียนโปรแกรมเชิงวัตถุ และที่ นี่ฉันใช้Javascript ฉันรู้จักTypescriptแต่ไลบรารีหลายแห่งเขียนด้วย Javascript ดังนั้นฉันจึงต้องใช้ประเภท "ใดๆ" ที่ไม่ได้กำหนดจำนวนมากเมื่อโต้ตอบกับพวกเขาใน Typescript ฉันรู้สึกสกปรกมากสำหรับฉัน เนื่องจากฉันมาจากสภาพแวดล้อม Java และ Kotlin นอกจากนี้ฉันไม่ใช่แฟนตัวยงของ CSS
Flutterเป็นสิ่งที่ฉันชอบเล่นด้วย โดยเฉพาะอย่างยิ่งเป็นครั้งแรกที่ฉันทดลองกับDart ดูเหมือนจะเป็นการปรับปรุงที่ยอดเยี่ยมเมื่อเทียบกับโครงการ Java Android ต่อมาเมื่อฉันเปลี่ยนมาใช้ Kotlin ฉันเห็นว่าแม้ว่า Dart จะดูดีกว่า Java แต่ก็ยังไม่ดีเท่า Kotlin
โปรดทราบว่าฉันไม่มีความรู้เชิงลึกเกี่ยวกับหนึ่งในกรอบเหล่านี้ ดังนั้น ถ้าฉันต้องเลือกหนึ่งอย่างสำหรับการพัฒนา ฉันคงต้องลงทุนเวลาสักระยะเพื่อเรียนรู้ให้ดียิ่งขึ้น
Kotlin หลายแพลตฟอร์ม (KMM)
ในทางกลับกัน Kotlin Multiplatform framework ซึ่งมีแนวคิดแตกต่างจาก React Native และ Flutter เล็กน้อย ช่วยให้เราสามารถแบ่งปันทุกอย่างที่ไม่เกี่ยวข้องกับเลเยอร์ UI ระหว่างหลายแพลตฟอร์มโดยใช้ภาษาโปรแกรมKotlin
หากเราพิจารณาโครงการ Android ทั่วไป เราอาจสันนิษฐานได้ว่าในการพัฒนาฟีเจอร์ใดๆ ก็ตาม เราจำเป็นต้องติดตั้งหลายเลเยอร์ แต่ละชั้นมีหน้าที่ของตนเอง โดยทั่วไปแล้ว เลเยอร์ที่อยู่ในหน้าจอเดียวคือ:
- กิจกรรม (UI),
- ดูโมเดล,
- ใช้กรณี,
- พื้นที่เก็บข้อมูล
- แหล่งข้อมูล.
การตัดสินใจ
เนื่องจากฉันรู้วิธีพัฒนาแอปพลิเคชัน Android อยู่แล้ว ฉันจึงสามารถครอบคลุมทั้ง 5 เลเยอร์ที่กล่าวถึงนี้ได้อย่างง่ายดาย และเนื่องจากฉันจะแบ่งปันสี่เลเยอร์ใน Android และ iOS สิ่งเดียวที่เหลือในฝั่ง iOS คือส่วนเค้าโครง UI
แนวคิดเค้าโครง UI สร้างขึ้นจากส่วนประกอบที่คล้ายคลึงกันในทุกแพลตฟอร์ม ดังนั้น การเรียนรู้ไวยากรณ์ใหม่สำหรับอธิบายอินเทอร์เฟซผู้ใช้จึงไม่ใช่เรื่องเล็กน้อย
นั่นเป็นเหตุผลที่ฉันตัดสินใจเข้าร่วมกับKMMในโครงการต่อไปของฉัน
คอยติดตาม
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโครงการ KMM ที่แชร์ทุกอย่างยกเว้นคลาส UI ระหว่าง Android และ iOS โปรดติดตามฉันที่นี่ หรือบนTwitter ฉันวางแผนที่จะเขียนบล็อกโพสต์ในหัวข้อนั้นเร็ว ๆ นี้
หวังว่าคุณจะได้รับข้อมูลเชิงลึกเกี่ยวกับกระบวนการคิดของฉันเมื่อตัดสินใจว่าจะใช้เฟรมเวิร์กข้ามแพลตฟอร์มใดสำหรับแนวคิดต่อไปของฉัน
ในกรณีที่คุณต้องการเชื่อม ต่อในระดับมืออาชีพมากขึ้น นี่คือLinkedIn ของฉัน
ขอบคุณที่สละเวลา!