Як Golang та Flutter покращують стоматологічну медицину

Привіт! Мене звати Еміля Аджисалієва, я Program Manager в Luxoft. Сьогодні я хочу поговорити про звʼязок між медициною та ІТ.

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

Щорічно в США встановлюють приблизно 2,5 млн стоматологічних імплантів. Це стає можливим завдяки використанню програм та обладнання, що створюють досконалі моделі ротової порожнини. І хоча вже зараз важко уявити роботу стоматологів без необхідного ПО, ще багато напрямів можуть стати ефективнішими завдяки технологіям.

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

Програмування в медичній сфері

Цифровізація вже давно стала невіддільною частиною гарної організації процесу лікування та відстеження перебігу хвороби. Зараз експерти з Precedence Research прогнозують значний ріст світового ринку інформаційних систем охорони здоров’я, який може досягти обʼєму приблизно 528,5 мільярдів доларів США у 2030 році.

Це вказує на ріст ніші на 7,8% з 2022 до 2030 роки. Уряди різних країн активно впроваджують інноваційні підходи, розвивають нові технології й намагаються цифровізувати сферу охорони здоров’я, аби задовольняти потреби пацієнтів якісніше, а також знайти значно ефективніші рішення для лікування.

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

  1. Python — використовується в різних медичних застосунках для аналізу даних, машинного навчання та розвитку технологій штучного інтелекту.
  2. Java — використовується під час розробки інформаційних систем охорони здоров’я, застосунків для управління лікарнями та систем електронних медичних записів (EHR).
  3. C++ — використовується в програмах медичної візуалізації та системах реального часу, де продуктивність є критично важливою, а також під час розробки програмного забезпечення для медичного обладнання та вбудованих систем.
  4. JavaScript — разом з такими фреймворками як Node.js використовується для розробки вебзастосунків у секторі охорони здоров’я.
  5. C# — використовується під час розробки медичних застосунків і програмного забезпечення на базі Microsoft.
  6. R — використовується в медичних дослідженнях і клінічних випробуваннях для статистичного аналізу та візуалізації даних.
  7. SQL — використовується в системах електронних медичних записів, системах управління лікарнями та різних медичних програмах для ефективного пошуку та зберігання даних.
  8. Ruby — використовується під час розробки різноманітних програмних рішень, які покращують ефективність та якість надання послуг. До таких належать: системи електронних медичних карток, аналіз медичних даних, віддалені медичні консультації та інші.

Але кожна з цих мов має свої недоліки, як-от кволість у певних обчислювальних завданнях для Python, труднощі з кросплатформеністю на C# чи повільніша розробка через ручне керування памʼяттю на C++.

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

Як і в будь-якій іншій галузі, вибір мови залежить від конкретних вимог і варіантів використання проєктів, але у нашому випадку поєднання Golang (Go) та Flutter дає чудовий результат.

Огляд мови Golang та фреймворку Flutter

Golang (Go) була розроблена компанією Google та вперше випущена у 2009 році. Вона є необхідною в різних операційних системах і фреймворках для розробки вебзастосунків, хмарних і мережевих сервісів та інших типів програмного забезпечення. Основна увага приділяється простоті та безпеці. Популярність мови стрімко зростає, її вже використовують Google, Cloudflare, Dropbox, MongoDB, Netflix, SoundCloud, Twitch, Uber та інші відомі компанії.

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

У Go реалізовано сувору статичну типізацію, яка допомагає виявляти помилки під час компіляції та забезпечує безпеку типів, підвищуючи надійність коду, а функція Garbage collector (автоматичне збирання сміття), спрощує керування пам’яттю та знижує ризик витоку пам’яті в застосунках.

Golang приваблива ще й завдяки своїй кросплатформеності: розробка можлива для Linux, macOS, Windows і FreeBSD. Також плюсом є спільнота та екосистема розробників, які мають можливість оновлювати та користуватися бібліотекою даних.

Простий і зрозумілий синтаксис Golang значно полегшує написання коду і дозволяє вивчити її відносно швидко: процес навчання до середнього рівня займає близько 2-4 місяців для тих, хто уже володіє іншими мовами, особливо С++ завдяки схожому синтаксису та деяким концепціям.

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

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

Flutter, у свою чергу, був створений та запущений за підтримки Google у 2018 році. Це кросплатформенний фреймворк, який підходить для розробки мобільних застосунків та вебплатформ. Інструмент підтримує різні типи програмного забезпечення, що містять як Android, так і iOS, — це значно скорочує час і витрати на розробку.

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

До того ж у фреймворку відкритий вихідний код, що дає змогу розробникам зробити вклад у розвиток інструменту. Flutter, як і Go, має свою екосистему та спільноту, що відкриває доступ до великої кількості ресурсів і бібліотек.

Наразі фреймворк перебуває на етапі активного розвитку та набирає обертів. У березні 2021 року був випущений Flutter 2. Тоді лише у Play Store було більше ніж 150 тис. застосунків, створених за допомогою Flutter. Уже за 2 роки, у травні 2023, кількість сягала більше ніж 1 млн застосунків. Широко відомі Google Pay, Etsy, Groupon, SpaceX app та Google Ads розроблені саме під час використання фреймворку Flutter.

Порівняно з мовою Go, Flutter значно поширеніший за кількістю спеціалістів на ринку. Якщо у вас є досвід роботи з JavaScript або TypeScript, особливо для веброзробки, перехід на Flutter може відбутися легше, оскільки архітектура Flutter на основі віджетів і концепції реактивного програмування мають подібність із сучасними середовищами JavaScript, як-от React.

Також перехід на Flutter буде легший для розробників, які мають досвід роботи зі Swift (оскільки Flutter запозичує його шаблони проєктування).

Поєднання Golang та Flutter у стоматологічній медицині

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

З мого досвіду, однією з найпоширеніших звʼязок в галузі медицини є поєднання Java на Back-end та React на Front-end. У нашому ж випадку ефективним є використання Flutter та Golang. Останній замінив С++ через технічні обмеження на етапі переміщення розробки проєктів у хмарні сховища.

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

Одним з прикладів поєднання Golang + Flutter слугує вебзастосунок, у розробці якого ми брали участь. Він дозволяє зберігати знімки та інші клінічні дані пацієнтів з можливістю для лікарів додавати і ділитися замітками з іншими користувачами. Також застосунок дає змогу записувати пацієнтів на прийоми й у разі потреби, надсилати нагадування про візит чи необхідність провести процедури.

Ця цифрова «прийомна-картотека» дозволяє значно покращити клієнтський досвід пацієнта, позбавивши його потреби зайвий раз телефонувати в клініку та уточнювати дані.

Інший застосунок, створений за допомогою поєднання Golang + Flutter, над яким ми працювали разом з колегами, — це проєкт з впровадження серверної служби, яка на основі 3D-знімків порожнини рота з нуля забезпечує моделювання кінцевого вирівнювання зубів. Рішення дозволяє пацієнтам і лікарям побачити результати моделювання зубів пацієнта до того, як лікар справді змінить їх. Завдяки цьому можна поетапно спостерігати лікування і коригувати його, відштовхуючись від створеної моделі.

Golang і Flutter можуть стати сильною та ефективною комбінацією для розробки медичних застосунків, зокрема пов’язаних зі стоматологією. Однак те, чи вважається ця комбінація «ідеальним» або «найкращим» рішенням, залежить від різних чинників, зокрема від конкретних вимогами медичного застосування та цілей проєкту.

Висновки

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

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

👍ПодобаєтьсяСподобалось6
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Коментар порушує правила спільноти і видалений модераторами.

Хороша оглядова стаття та з цікавим поглядом стосовно розвитку medical / healthcare доменів, дякую!

Популярність мови стрімко зростає, її вже використовують Google, Cloudflare, Dropbox, MongoDB, Netflix, SoundCloud, Twitch, Uber та інші відомі компанії.

На мою думку найкрутішим продуктом написаним на Golang (Go) є Kubernetes, біля 60 млн. рядків коду — це трудоємкість розробки рівня таких продуктів, як OS Windows чи Facebook, а також для згаданих вами компаній Kubernetes є одним із найважливіших інструментів в розробці з використанням cloud-технологій.

Прикольний кейс, було б круто якщо ваша команда ще в продовження зробить технічну статтю.

Інструмент підтримує різні типи програмного забезпечення, що містять як Android, так і iOS, — це значно скорочує час і витрати на розробку.

Нажаль кросплатформенність флатера — це не про «один раз реалізував — всюди працює», це про «один раз реалізував — всюди по різному зламалось»

це напевно не тільки флатера стосується, а всієї кросплатформщини

«Зламалось» на Flutter, але всеж менше ніж на RN, Ionic,Xamarin,etc.

Це вказує на ріст ніші на 7,8% з 2022 до 2030 роки.

А сегодня в завтрашний день не все могут смотреть. Вернее смотреть могут не только лишь все, мало кто может это делать.

Як ви дізнались про зріст на 7.8%, якщо з 2022 по 2030 пройшов лише рік?

Luxoft розказує за flutter так ніби являє собою команду яка в стеку flutter щось собою представляє. Дякуємо за цікаве чтиво, раз ви так поважаєте flutter то почніть поважати людей які на ньому працюють і нарешті станьте спроможні платити сенйорам flutter таку мотивацію яку вони заслуговують а не 3 к за 5 і більше років справжнього досвіду.

Ба як написали вище про Го, насправді все дійсно схоже що ви лише дізналися що існують люди які на ньому працюють і зі всіх коментарів дістали з кишеньки тільки слово «чудовий»

а не 3 к за 5 і більше років справжнього досвіду

Норм зп ніби.
З такою логікою якщо в людини 20 років досвіду то має отримувати від 20к?

Зарплатні Flutter розробників дійсно трохи нижчі ніж «ринкова» зп за аналогічний досвід в інших стеках.

Але ж до чого тоді тут люксофт якщо така ситуація по ринку?

Зазвичай, те що ми робимо в IT, що має не велику частку спеціалістів, викликає багато неоднозначних відгуків. Але продукт має дуже великий попит. І ми його розвиваємо як сервіс. Тому, хто вірить, а хто не хоче вірити — це те, що зараз підтримує Люксофт. Охорона здоровʼя має велике значення, особливо сьогодні. АІ — це то, що використовується. Ну а далі, вирішуйте самі. Чекаємо тих, кого цікавить розвиток.

Якийсь комент який не має змісту. Ще раз запитаю. Яким чином ваша робота вплинула на якість лікування?

Зазвичай, те що ми робимо в IT, що має не велику частку спеціалістів, викликає багато неоднозначних відгуків.

Стаття, яку написала ваша менеджерка про Go, є беззмістовною, все однозначно

Тому, хто вірить, а хто не хоче вірити — це те, що зараз підтримує Люксофт.

Навіщо це писати? Хто в коментарях сумнівався що ви маєте проєкт з MedTech? Або хто сумнівався що у вас є проєкт з Go та Flutter?

Охорона здоровʼя має велике значення, особливо сьогодні.

Шаблонне речення.

АІ — це то, що використовується.

Навіщо це речення? Як воно стосується статті?

Ну а далі, вирішуйте самі. Чекаємо тих, кого цікавить розвиток.

Пропонуйте гарні винагороди

Менеджер: [просто пише статтю] У нас є замовлення в мед сфері. Ми там юзаємо такі от технології. Ринок росте. Для вас, любі розробники, скоро буде ще більше роботи в мед-тех проектах 👌

Любі розробники: [реагують наввипередки] Де хмарні рішення? Чому не по суті? А чого не платите більше розробникам? А от про Go є і інші статті! Де мій фреймворк?...

Для вас, любі розробники, скоро буде ще більше роботи в мед-тех проектах

А де саме ви це знайшли?

може досягти обʼєму приблизно 528,5 мільярдів доларів
ріст ніші на 7,8% з 2022 до 2030 роки

Мій комент про деякий розрив між суттю статті та реакцією на неї, яка (реакція) ще й трошечки віддає ароматами коханого.it 😔

То реакція на беззмістовну статтю та подальші беззмістовні коментарі від представників компанії

тема GCP не розкрита... грошей не дадуть... ;))

З власного досвіду можу сказати, що рівень підготовленості українських спеціалістів, що працюють з Go, в рази перевершує навички колег з Європи

З числа технічних статей про Go від фахівців Luxoft можу сказати, що рівень підготовки Емілії значно перевищує

мова є «невідомою» у порівнянні з іншими

в Luxoft також недавно взнали про Go...))

Зарплати українських розробників — зима 2023:

Scala, Go і Rust залишаються мовами з найвищими медіанними зарплатами як у початківців, так і в досвідчених спеціалістів.
мова є «невідомою» у порівнянні з іншими

в Luxoft також недавно взнали про Go...))

Між Go розробниками та компанією Luxoft це взаємно. Бо прикладу Luxoft відсутня в моєму списку компаній де високі винагороди

І що зуби краще стали лікуватись після прикручування свистілок-перділок?

Якщо тримати на мобілці додаток написанний на Flutter та Go, то вірогідність появи карієсу зменшується втричі!

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

Швидше заробив коли працював над додатком для стоматологів і можеш собі дозволити полікуватись😁

Коли в 2014 році перейшов з Junior PHP Developer ($800) на Middle PHP Developer ($1500) то теж значно краще почав себе відчувати

Також в 2014 році мав пропозицію від Luxoft на $1200 Node.js, але відмовився бо перегляд винагороди у Luxoft був можливий лише раз на рік

Я как раз поработал некоторое время именно там, и конкретно у Эмилии, возможно она даже меня помнит, платили там побольше. Правда, меня уволили в феврале 2022 года, как раз в аккурат перед вторжением. Но вообще мне там понравилось, я бы и дальше на том проекте поработал бы.

І що зуби краще стали лікуватись після прикручування свистілок-перділок?

Там суть в том, что у конторы были написаны всякие приложения на C++, причём изначально под WinAPI 32-битный код, его другие ещё портировали под кросплатформенный x64. Ну и настала пора заливать всё в облака. Поэтому вполне логично выбрали golang, а функционал прикрутили тот что был на C++.

З власного досвіду можу сказати, що рівень підготовленості українських спеціалістів, що працюють з Go, в рази перевершує навички колег з Європи

Пропонуйте гідні винагороди й знайдете кваліфікованих фахівців усюди

Никаких тех деталей, а просто обзорная статья «как у нас все хорошо и гугл тоже молодец»

Короткий переказ: є мова програмування Golang (Go), вона чудова, є Flutter, він чудовий, їх поєднання чудове, поєднання з MedTech чудове, наша компанія чудова

а також сприяє уникненню помилок завдяки своїй простоті

Про «сприяє уникненню помилок» це ви вже вигадали від себе

50 відтінків Go по-українськи. Аналізуємо помилки

Підписатись на коментарі