portaldacalheta.pt
  • หลัก
  • การจัดการวิศวกรรม
  • บุคลากรและทีมงานของผลิตภัณฑ์
  • อื่น ๆ
  • นวัตกรรม
มือถือ

Xamarin Forms, MVVMCross และ SkiaSharp: The Holy Trinity of Cross-Platform App Development



พูดคุยเกี่ยวกับการตั้งความคาดหวังให้สูง ตรีเอกานุภาพไม่มีอะไรน้อย!

ความจริงก็คือการพัฒนาแอปบนอุปกรณ์เคลื่อนที่มีค่าใช้จ่ายสูงเมื่อคุณกำหนดเป้าหมายหลายแพลตฟอร์มเนื่องจากไม่มีรหัสที่ใช้ร่วมกัน Apple ต้องการให้คุณเขียนโค้ดใน Objective-C หรือ Swift, Android ต้องการให้คุณเขียนโค้ดใน Java และ WinPhone ต้องการให้คุณพัฒนาใน. NET ซึ่งมักจะเป็น C # นอกจากนี้ห้องสมุดมากมายเหลือเฟือที่แต่ละแพลตฟอร์มมีไว้เพื่อจัดการกับแผนที่ภาพวาดรูปภาพหรือ GPS จำเป็นต้องใช้เวลาและความรู้จำนวนมากในการสร้างแอปบนอุปกรณ์เคลื่อนที่เพียงแอปเดียว



การพัฒนาแอพข้ามแพลตฟอร์มด้วย Xamarin Forms, MVVMCross และ SkiaSharp



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



ในบทความนี้คุณจะได้เรียนรู้ว่า Xamarin Forms ร่วมกับ MVVMCross และ SkiaSharp เป็นวิธีการสร้างข้ามแพลตฟอร์มได้อย่างไร แอพมือถือ โดยไม่สูญเสียความคุ้นเคยประสิทธิภาพและความเป็นเอกลักษณ์ บทความนี้จะทบทวนเทคโนโลยีทั้งสามนี้และวิธีลดต้นทุนการพัฒนาโดยอนุญาตให้ใช้โค้ดซ้ำได้สูงสุดในแพลตฟอร์มมือถือหลายแพลตฟอร์ม

ปัญหาที่สำคัญ

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



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

พื้นเมืองหรือไม่ฉันมาที่นี่

จึงเกิดสงครามขับเคี่ยวกันระหว่างทางออกที่แตกต่างกันและใครบอกว่าสงครามหมายถึงการโฆษณาชวนเชื่อ!



สงครามส่วนใหญ่จะต่อสู้กันต่อหน้าผู้เป็นใหญ่ น : เป็นคนพื้นเมือง! คุณต้องระวังคำเพราะมันไม่มีความหมายที่ชัดเจน เป็นคำที่ใช้กันมากที่สุดในโลกการพัฒนาอุปกรณ์เคลื่อนที่ในปัจจุบันและเป็นคำที่ทันสมัยมาก ความจริงก็คือไม่มีใครเห็นด้วยกับความหมายที่แท้จริง

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



มีข้อโต้แย้งในทุกด้านของการถกเถียงและฉันจะไม่เจาะลึกลงไปเพราะมันไม่มีประโยชน์ ทำไมมันไม่มีประโยชน์? ให้ฉันบอกคุณเป็นเรื่องยากที่จะกลืนข้อเท็จจริง: ผู้ใช้ของคุณไม่สนใจ!

การขุดข้อมูลในโซเชียลเน็ตเวิร์ก

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



ดังนั้นแทนที่จะต่อสู้กับความหมายของคำเรามาดูวิธีที่ Xamarin มอบวิธีที่มีประสิทธิภาพในการให้สิ่งที่พวกเขาสนใจแก่ผู้ใช้ของคุณ

พระบิดาพระบุตรและพระวิญญาณบริสุทธิ์

ก่อนที่เราจะดำเนินการต่อเรามาชี้แจงองค์ประกอบสามประการที่ประกอบเป็นโซลูชันของเราสำหรับปัญหาการพัฒนาข้ามแพลตฟอร์ม



พ่อ: Xamarin

ตามที่กล่าวไว้ก่อนหน้านี้ Xamarin เป็นโซลูชัน. NET สำหรับการพัฒนาแอปบนอุปกรณ์เคลื่อนที่และเดสก์ท็อป ไมโครซอฟท์ซื้อในปี 2559 แต่ย้อนไปเมื่อประมาณ 4 ปีที่แล้วด้วยโครงการโมโน ปัจจุบันมีสามโซลูชัน: Xamarin.iOS, Xamarin.Android และ Xamarin.Mac แพลตฟอร์มอื่น ๆ จัดการแอป. NET อยู่แล้วโดยค่าเริ่มต้นซึ่งเป็นโซลูชันของ Microsoft กล่าวโดยย่อคือ Xamarin มีลิงก์โดยตรงไปยังแพลตฟอร์ม API ใน. NET ดังนั้นคุณสามารถใช้คุณสมบัติดั้งเดิมจากแอป. NET นอกจากนี้ยังมีโมดูลส่วนขยายสำหรับ Xamarin ที่เรียกว่า Forms ซึ่งมีเลเยอร์นามธรรมสำหรับ UI

ลูกชาย: SkiaSharp

SkiaSharp เป็น. NET Wrapper บนไลบรารีกราฟิกเวกเตอร์ Skia ของ Google Skia คือเอ็นจิ้นการเรนเดอร์เนทีฟของ Android, Chrome, ChromeOS และ Firefox ด้วย SkiaSharp คุณสามารถใช้ไลบรารีในแอป. NET ของคุณเพื่อสร้างข้ามแพลตฟอร์มได้ ซึ่งหมายความว่าเงาที่เรียบง่ายที่นักออกแบบของคุณระบุว่า“ จะทำให้แอปของคุณดีขึ้นมาก” สามารถเข้ารหัสได้เพียงครั้งเดียวแทนที่จะทำซ้ำสำหรับแต่ละแพลตฟอร์มเป้าหมาย โดยส่วนตัวแล้วฉันคิดว่าคุณสมบัติที่ดีที่สุดคือความสามารถในการแสดงผลกราฟิก SVG ในลักษณะที่ช่วยให้คุณสามารถป้องกันการทำซ้ำของฟอร์มแฟคเตอร์ต่าง ๆ ในขณะที่ยังคงการแสดงผลที่คมชัดและสมบูรณ์แบบพิกเซล

วิธีหาความยืดหยุ่นของราคาอุปสงค์

พระวิญญาณบริสุทธิ์: MVVMCross

เพื่อให้ทุกสิ่งแยกออกจากกันอย่างดีและเชื่อมโยงกันอย่างหลวม ๆ โซลูชันที่ได้รับการชำระให้บริสุทธิ์ของเราจะอาศัย MVVMCross เฟรมเวิร์กนี้ใช้โครงสร้างพื้นฐาน MVVM (Model-View-ViewModel) เพื่อให้ทุกอย่างเป็นอิสระ โดยทั่วไปแอปจะแบ่งออกเป็นสามส่วนโดยไม่ต้องใช้เทคนิคมากเกินไป:

  1. แบบจำลอง: การแสดงหน่วยความจำของข้อมูลของเรา
  2. มุมมอง: UI ของเรานำเสนอข้อมูลและการดำเนินการแก่ผู้ใช้
  3. ViewModel: เลเยอร์ที่ผูกโมเดลของเราเข้ากับมุมมองของเราและในทางกลับกัน

ในวิศวกรรมซอฟต์แวร์เราพยายามแยกมุมมองออกจาก ViewModel เสมอเพื่อให้ตรรกะของแอปพลิเคชัน (ใน ViewModel) สามารถใช้ซ้ำได้แม้ว่าเราจะเปลี่ยนการแสดงภาพ MVVMCross ช่วยให้เราบรรลุสิ่งนั้นได้ด้วยการจัดการการผูกข้อมูลและจัดหารูปแบบและเครื่องมือสำหรับสิ่งที่เป็นนามธรรมของแพลตฟอร์ม

สิ่งที่ผู้ใช้ปลายทางให้ความสำคัญ

สรุปมีหลายสิ่งที่ทำให้แอปที่ประสบความสำเร็จแตกต่างจากแอปที่ไม่ดี แอปที่ประสบความสำเร็จ:

  1. แก้ปัญหาในชีวิตจริง
  2. มอบประสบการณ์ที่สนุกสนาน

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

  1. ความคุ้นเคย
  2. ประสิทธิภาพ
  3. ความเป็นเอกลักษณ์

ความคุ้นเคย

ความคุ้นเคยเกี่ยวข้องกับการใช้งานง่ายและค้นหาเส้นทางผ่านแอปได้อย่างรวดเร็ว

กล่าวอีกนัยหนึ่งก็คือการใช้กระบวนทัศน์อินเทอร์เฟซผู้ใช้ที่แตกต่างกันของแพลตฟอร์มในลักษณะที่สอดคล้องกันทั้งระบบ ตัวอย่างเช่นสิ่งง่ายๆเช่นตำแหน่งปุ่มรายการการดำเนินการตามบริบทหรือการนำทางล้วนส่งผลให้แอปของคุณคุ้นเคย

ความคุ้นเคยเป็นจุดอ่อนหลักของเว็บแอปหรือเฟรมเวิร์กที่ใช้อินเทอร์เฟซเว็บ ในทางกลับกัน Xamarin Forms ให้การแมปข้ามแพลตฟอร์มกับองค์ประกอบ UI ที่ผู้จัดจำหน่ายจัดหาให้

ดังนั้นผู้ใช้ของคุณจะได้รับประสบการณ์ที่สอดคล้องกับรูปลักษณ์ทั่วไปของแพลตฟอร์มดังนั้นพวกเขาจึงรู้สึกสบายใจเมื่ออยู่ในแอปของคุณ

ประสิทธิภาพ

ตรงไปตรงมาการกล่าวถึง“ เจ้าของภาษา” ในโฆษณาชวนเชื่อทางการตลาดของคุณไม่ได้หมายความว่าอะไร ใช้ Jasonette เป็นตัวอย่างซึ่งเป็น 'เนทีฟผ่าน HTTP' UI ถูกเก็บไว้บนเว็บเซิร์ฟเวอร์…สวัสดีการเดินทางรอบและการชะลอตัวดังนั้นเราจึงเห็นว่าเนทีฟไม่จำเป็นต้องสันนิษฐานว่ามีประสิทธิภาพดีกว่า!

ดังนั้นเมื่อมองไปที่การเปรียบเทียบในชีวิตจริง Xamarin จึงออกมาเป็น โซลูชันที่โค้งมนที่สุดโดยคำนึงถึงประสิทธิภาพ . แบบฟอร์ม Xamarin ซึ่งไม่ต้องการสวิตช์บริบทเพิ่มเติมข้อเสนอ ประสิทธิภาพเทียบเท่ากับแอพภาษาพื้นเมือง .

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

ความเป็นเอกลักษณ์

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

หลายครั้งความเป็นเอกลักษณ์บ่งบอกถึงการสร้างตัวควบคุมภาพเคลื่อนไหวหรือท่าทางที่ดูกำหนดเอง เมื่อไม่พร้อมใช้งานใน Xamarin คุณสามารถใช้ SkiaSharp (กระดาษห่อหุ้มรอบไลบรารีการเรนเดอร์กราฟิกเวกเตอร์ Skia ของ Google) และใช้ประโยชน์จากแนวคิดการแสดงผลแบบกำหนดเองของ Xamarin Forms เพื่อให้เข้าใกล้ฮาร์ดแวร์ได้มากที่สุดเท่าที่จำเป็นในขณะที่เข้ารหัสเสมอ ภาษาสิ่งที่โซลูชันอื่นไม่สามารถนำเสนอได้

บริษัท c กับ s คอร์ปอเรชั่น

สิ่งที่คุณดูแลในฐานะธุรกิจ

ณ จุดนี้คุณมักคิดว่าการเลือกกรอบการทำงานเป็นการตัดสินใจทางธุรกิจด้วย นอกเหนือจากปัจจัยที่อยู่นอกขอบเขตของบทความนี้เช่นความพร้อมด้านทรัพยากรบุคคล Xamarin ยังมีอีกมากมายที่จะนำเสนอโดยเฉพาะเมื่อใช้ร่วมกับ MVVMCross ฉันจะอธิบายรายละเอียดในสี่ด้านที่คุณจะต้องพิจารณาในการตัดสินใจของคุณ:

  1. ราคาและต้นทุนการพัฒนา
  2. ใช้รหัสซ้ำ
  3. ความพร้อมใช้งานของส่วนประกอบ
  4. การสนับสนุนและชุมชน

ราคาและต้นทุนการพัฒนา

มากำจัดสิ่งนี้ให้พ้น ๆ ตั้งแต่ต้นปีนี้ Xamarin ให้บริการฟรีสำหรับ freelancers และธุรกิจขนาดเล็กเช่น startups (with Visual Studio Community Edition ). สำหรับองค์กรขนาดใหญ่จะมีสิทธิ์ใช้งาน Visual Studio «ได้อย่างอิสระ»ซึ่งคุณอาจมีอยู่แล้ว Xamarin Forms, MVVMCross และ SkiaSharp นั้นฟรีและโอเพ่นซอร์สทั้งหมด!

ดังที่ได้กล่าวไปแล้วการไปเส้นทาง. Net กับ Xamarin ช่วยให้คุณสามารถพัฒนาแอปของคุณในภาษาเดียวตั้งแต่ต้นจนจบ โซลูชันอื่น ๆ ส่วนใหญ่ต้องการให้โปรแกรมเมอร์ของคุณรู้ภาษาต่างๆ ในกรณีของ คอร์โดวา ตัวอย่างเช่นคุณต้องคล่องแคล่วไม่เพียง แต่ใน HTML, Javascript, CSS แต่ยังอาจเป็น Objective-C, Java และ / หรือ C # หากคุณต้องการเข้าถึง API ของผู้จำหน่ายที่ไม่มีปลั๊กอินที่พร้อมใช้งาน

ความหลากหลายของภาษาที่ใช้ทำให้สวิตช์บริบทมากขึ้นและมีเครื่องมือเพิ่มเติมในการควบคุมซึ่งทำให้ประสิทธิภาพลดลง ในทางกลับกัน Xamarin เป็นโซลูชันแบบ all-in-one: จาก Visual Studio ที่คุณสร้างปรับใช้และดีบักบนทุกแพลตฟอร์ม

แม้ว่าจะไม่เกี่ยวข้องโดยตรงกับ Xamarin แต่คุณยังได้รับคุณสมบัติมากมายใน C # ที่เร่งความเร็วในการพัฒนาโดยเลือก . เน็ตโซลูชั่น . กล่าวคือคุณได้รับประโยชน์จากคุณสมบัติที่ยอดเยี่ยมใน C # 4.5+ เช่นการเชื่อมต่อแบบมัลติเธรดที่ง่ายดายด้วย async / await การปิดและการสะท้อนซึ่งทั้งหมดนี้ได้รับการแสดงเพื่อปรับปรุงประสิทธิภาพ

ใช้รหัสซ้ำ

คุณอาจมีความคิดเกี่ยวกับการใช้โค้ดซ้ำและเป็นไปได้มากว่าคุณคิดว่าโซลูชันทั้งหมดจะเทียบเท่ากันบ้างในเรื่องนี้ ขอโทษที่ต้องพูดว่าเพื่อน แต่คุณคิดผิด!

โปรแกรมเมอร์ในหมู่พวกคุณอาจสงสัยว่าทำไมฉันถึงเสนอให้ใช้ MVVMC ข้ามเลเยอร์ MVVM ที่สร้างขึ้นในฟอร์มบนโลกบนโลกนี้? นี่คือสิ่งที่ต้องพิจารณา: คุณกำลังสร้างแอพมือถือจริงๆหรือ?

ด้วยการแยกตรรกะของแอปของคุณด้วย MVVMCross และใช้การควบคุมแบบผกผันที่มีให้คุณสามารถใช้รหัสจำนวนสูงสุดบนมือถือซ้ำได้ แต่บน Windows และ Mac ด้วย (เนื่องจาก Xamarin.Mac เป็นเพื่อนของคุณ)

ไม่เพียง แต่จะช่วยคุณประหยัดเงิน แต่ยังนำเสนอแนวทางปฏิบัติด้านวิศวกรรมที่ดีซึ่งจะช่วยลดต้นทุนการบำรุงรักษาโค้ดของคุณ

ความพร้อมใช้งานของส่วนประกอบ

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

การเลือก Xamarin และ MVVMCross ช่วยให้คุณมีสองทางเลือกในการเลือกส่วนประกอบที่มีอยู่ ประการแรกมีส่วนประกอบมากขึ้นสำหรับ Xamarin ที่มีหรือไม่มีแบบฟอร์ม Xamarin มี Component Store ที่รวมอยู่ใน Visual Studio ซึ่งคุณสามารถค้นหาวิธีแก้ปัญหาต่างๆสำหรับปัญหาแอปทั่วไปและ บริษัท อื่น ๆ ขายตรงดังนั้นอย่าลืมค้นหาก่อนที่จะเริ่มเขียนส่วนประกอบของคุณเอง (หรือพิจารณาขายสิ่งเหล่านี้เมื่อสร้างเสร็จแล้ว)

ประการที่สองคุณจะต้องค้นหาแพ็คเกจ Nuget เนื่องจากมีโอกาสที่จะมีคนเขียนโค้ดเพื่อทำสิ่งที่คุณต้องการแล้ว ในบรรดาแพ็คเกจเหล่านั้นคุณจะพบรายการปลั๊กอิน MVVMCross ข้ามแพลตฟอร์มซึ่งจะช่วยแก้ปัญหาทั่วไปเช่นอีเมล GPS หรือการแปล

หากคุณมีประสบการณ์กับ C # อยู่แล้วคุณอาจมีส่วนประกอบที่คุณต้องการ แน่นอนว่าคุณไม่ต้องการปล่อยพวกเขาไปพวกเขารู้สึกสบายใจ มั่นใจได้ว่าคุณสามารถสร้างการเชื่อม C # สำหรับส่วนประกอบที่มีอยู่แล้วใช้งานได้ราวกับว่าเรามาพร้อมกับ Xamarin แม้ในฟอร์มด้วยความช่วยเหลือเล็กน้อยจากตัวแสดงผลที่กำหนดเอง

เมื่อพูดถึงสิ่งนี้คุณอาจต้องการดูไฟล์ Xamarin ผูกที่เก็บ Github ก่อนสร้างของคุณเอง

การสนับสนุนและชุมชน

ประการสุดท้ายการเข้าถึงการสนับสนุนและตัวอย่างเป็นปัจจัยที่สำคัญมากในการเลือกกรอบ Xamarin มาระยะหนึ่งแล้วดังนั้นวันนี้ชุมชนจึงมีขนาดค่อนข้างดี

การค้นหาข้อมูลใน Google มักจะพบคำตอบจำนวนมากพอสมควร (เคล็ดลับ: ลองค้นหา monotouch และ monodroid บรรพบุรุษของ Xamarin) และ Xamarin มีตัวอย่างและเอกสารที่ยอดเยี่ยมมากมายบนเว็บไซต์ของพวกเขา

ยิ่งไปกว่านั้นเนื่องจาก Xamarin เป็นเพียงการผูกมัดกับ API ของผู้ขายเอกสารของ Apple และ Google จึงมีความเกี่ยวข้องเสมอและจะตอบคำถามของคุณได้มากมาย จากนั้นคุณสามารถสร้างบริการ MVVMCross ของคุณเองเพื่อแยก API ของผู้ขายภายในโค้ดที่ใช้ร่วมกันของคุณ

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

อนาคตดูสดใสสำหรับ Xamarin

จะเขียนโค้ด c++ . ได้ที่ไหน

เตรียมพร้อมที่จะดังก้อง!

ฉันตระหนักถึงความจริงที่ว่าฉันอาจจะเปิดตัวหนอนด้วยบทความนี้ อย่าทำให้ฉันเข้าใจผิดมีตัวเลือกอื่น ๆ ที่ควรพิจารณาและฉันขอเชิญคุณให้ทำเช่นนั้นเพราะข้อกังวลของฉันอาจไม่เหมือนกับของคุณ

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

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

ที่เกี่ยวข้อง: แอพ Android ที่ดีกว่าโดยใช้ MVVM พร้อมสถาปัตยกรรมที่สะอาด

เปลี่ยนความผิดพลาดให้เป็นโอกาสด้วยหน้า 404 ที่สร้างแรงบันดาลใจเหล่านี้

การออกแบบ Ui

เปลี่ยนความผิดพลาดให้เป็นโอกาสด้วยหน้า 404 ที่สร้างแรงบันดาลใจเหล่านี้
Flutter Tutorial: วิธีสร้างแอพ Flutter ตัวแรกของคุณ

Flutter Tutorial: วิธีสร้างแอพ Flutter ตัวแรกของคุณ

มือถือ

โพสต์ยอดนิยม
แหล่งข้อมูลสำหรับธุรกิจขนาดเล็กสำหรับ COVID-19: เงินกู้เงินช่วยเหลือและสินเชื่อ
แหล่งข้อมูลสำหรับธุรกิจขนาดเล็กสำหรับ COVID-19: เงินกู้เงินช่วยเหลือและสินเชื่อ
วิธีออกแบบประสบการณ์ที่ยอดเยี่ยมสำหรับอินเทอร์เน็ตในทุกสิ่ง
วิธีออกแบบประสบการณ์ที่ยอดเยี่ยมสำหรับอินเทอร์เน็ตในทุกสิ่ง
กลยุทธ์การสื่อสารที่มีประสิทธิภาพสำหรับนักออกแบบ
กลยุทธ์การสื่อสารที่มีประสิทธิภาพสำหรับนักออกแบบ
เรียนรู้ Markdown: เครื่องมือการเขียนสำหรับนักพัฒนาซอฟต์แวร์
เรียนรู้ Markdown: เครื่องมือการเขียนสำหรับนักพัฒนาซอฟต์แวร์
แนวโน้มต่อไปนี้: การแสดงความเคารพกับการลอกเลียนแบบการออกแบบ
แนวโน้มต่อไปนี้: การแสดงความเคารพกับการลอกเลียนแบบการออกแบบ
 
คู่มือสไตล์ Sass: บทช่วยสอน Sass เกี่ยวกับวิธีการเขียนโค้ด CSS ที่ดีขึ้น
คู่มือสไตล์ Sass: บทช่วยสอน Sass เกี่ยวกับวิธีการเขียนโค้ด CSS ที่ดีขึ้น
ทำลายกระบวนการคิดเชิงออกแบบ
ทำลายกระบวนการคิดเชิงออกแบบ
การออกแบบเว็บไซต์ CMS: คู่มือการใช้งานเนื้อหาแบบไดนามิก
การออกแบบเว็บไซต์ CMS: คู่มือการใช้งานเนื้อหาแบบไดนามิก
ทำคณิตศาสตร์: การปรับขนาดแอปพลิเคชันไมโครเซอร์วิสด้วย Orchestrators
ทำคณิตศาสตร์: การปรับขนาดแอปพลิเคชันไมโครเซอร์วิสด้วย Orchestrators
การปฏิวัติหุ่นยนต์เชิงพาณิชย์ที่กำลังจะเกิดขึ้น
การปฏิวัติหุ่นยนต์เชิงพาณิชย์ที่กำลังจะเกิดขึ้น
โพสต์ยอดนิยม
  • ทีม scrum ควรอยู่กี่คน?
  • ไม่มี api "undefined" หรือคุณไม่ได้รับอนุญาตให้เข้าถึง
  • กรอกรหัสในการเปรียบเทียบ________ c = new date()
  • หลักการออกแบบตัวอย่างลวดลาย
  • ไฟล์ส่วนหัว c ++ ตัวอย่าง
หมวดหมู่
  • การจัดการวิศวกรรม
  • บุคลากรและทีมงานของผลิตภัณฑ์
  • อื่น ๆ
  • นวัตกรรม
  • © 2022 | สงวนลิขสิทธิ์

    portaldacalheta.pt