Go Back

Проєкт з міграції OurSchoolHangout на .NET MAUI

З .NET Xamarin.Forms на .NET MAUI за кілька місяців. Дізнайтеся більше про особливості реалізації проєкту OurSchoolHangout командою BuildApps.

mobile

Project screenshot

Міграція платформи OurSchoolHangout на новий технологічний стек

Навіть оптимально обраний на початку проєкту технічний стек з часом може проявити свою темну сторону. В таких випадках досить доступним і зручним способом виправлення ситуації може стати саме міграція продукту на нові фреймворки, які краще відповідають потребам та масштабу рішення. 

Проєкт міграції платформи OurSchoolHangout від BuildApps якраз є прикладом того, як можна впоратися з подібними викликами. Адаптація модулів та даних, модернізація Back-end та Front-end без переривання робочих процесів і не лише. 


Дізнайтеся більше деталей з наступних частин кейсу!

Кілька слів про клієнта

Платформа OurSchoolHangout – це ультимативне рішення для адміністрування навчального процесу, організації шкільних операцій. Іншими словами, це високотехнологічний цифровий інтерфейс, який замінює вчителям, батькам та освітянам традиційні інструменти, переносячи різні освітні елементи у хмару.

Щодо можливостей платформи, то вони наступні:

  • Єдиний дашборд з повним функціоналом. 
  • Розділені облікові записи. 
  • Автоматизовані системи для оплати навчання. 
  • Вбудовані комунікаційні рішення. 
  • Ефективні мобільні застосунки. 

Насамперед платформа призначена для адміністрування навчальних закладів, планування освітніх процесів та взаємодії з освітянами, їхніми батьками. І хоч функціонує вона досить давно, власники продукту були не цілком задоволені роботою та продуктивністю рішення. Що і спонукало їх до ініціації процесу співпраці з командою BuildApps.

Виклики та задачі проєкту

Якщо початкова задача зводилася до «покращити» платформу в досить широкому контексті, то глибокий аналіз рішення дозволив встановити причини незадовільної роботи системи та сформувати чітке ТЗ з планом дій. Останній містив наступні пункти:

  • Перенесення продукту на нові (альтернативні) «технологічні рейки».
  • Модифікація кастомних компонентів з подальшою інтеграцією в рішення.
  • Стандартизація форматів даних та протоколів обміну інформацією.
  • Адаптація APIs та оптимізація мобільних застосунків з урахуванням нового стеку.
  • Модернізація процесу CI/CD для нових ітерацій продукту, зокрема для мобільних версій.

З викликів зіткнулися здебільшого з технічними моментами та потребою чіткого обґрунтування кожної зміни та дії, які ми вважали доцільними для покращення продукту. Якщо ви читаєте цей кейс – то означає, що з перерахованими моментами ми впоралися, як і з роботою загалом.

Простими словами про складний процес міграції

Сказати що проєкт проходив просто та без проблем – означає збрехати. Хоч наш досвід та вміння і дозволили дещо згладити гострі кути, однак складнощі все ж виникали буквально на кожному етапі роботи. Ось що ми реалізували в процесі:

  • Замінили технологічний стек .NET Xamarin.Forms на .NET MAUI. І ні, Xamarin не є поганим фреймворком, просто MAUI краще підійшов для досягнення бажаних результатів саме на цій платформі.
  • Адаптували частину кастомних рішень до нового технологічного стека. Точніше, дещо змінили сам фреймворк MAUI, щоб якісно інтегрувати ряд модулів.
  • Імплементували нові та адаптували старі бібліотеки. Зокрема ті, що стосувалися функціональної частини модулів платформи.
  • Трішки видозмінили GUI порталу. Здебільшого розширили функціонал панелей керування і додали необхідні модулі до системи.
  • Автоматизували процеси CI/CD. Це дозволило пришвидшити доставляння та розгортання оновлень для мобільних застосунків у Play Market та App Store.

Нічого складного? Але ж платформа має тисячі користувачів, дані яких також довелося адаптувати до нового фреймворку. Не те щоб міграція даних була особливим викликом, однак процес вимагає значних інвестицій часу та ресурсів. І це вартувало того.

Результати, як вони є

Платформа функціонує, як і її мобільні версії для популярних операційних систем Android та iOS. Тобто задачу ми виконали вчасно і результат задовольнив власника продукту. Вибачте, сьогодні без цифр, але з конкретикою:

  • Платформа на базі .NET MAUI почала працювати значно швидше. Окрім того, збільшилася її операційна та обчислювальна продуктивність. 
  • Нові алгоритми CI/CD дозволили прискорити процес розгортання нових ітерацій продукту, зокрема оновлень для його мобільних версій.
  • Дещо видозмінився функціонал, додалася інтероперабельність для ряду компонентів платформи, покращилася робота модулів.

І власне це все. Ще опісля аудиту ми надали замовнику розгорнутий аналіз проблем та можливостей для покращення. І реалізували все, що технічно можна було реалізувати. Наразі проєкт знаходиться в режимі творчої паузи, тобто теоретично ми отримаємо підряд на його подальший розвиток.

Бажаєте реалізувати щось подібне? Просто зв'яжіться з менеджером BuildApps для початкової консультації!

Готові розпочати?

Зв'яжіться з нами