Подати
заявку

Dart: мова, на якій працює Flutter

Dart — мова програмування від Google. Сьогодні її використовують переважно разом із Flutter: на Dart написані і екрани, і вся логіка застосунку — розрахунки, перевірка форм, робота з сервером, збереження даних. Тому якість Flutter-проєкту значною мірою залежить від того, наскільки акуратно написаний саме Dart-код.

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

Що робимо на Dart

01

Бізнес-логіка

Виносимо розрахунки, правила й перевірки з екранів в окремий шар, який легко тестувати й змінювати без ризику зламати інтерфейс.
02

Внутрішні пакети

Оформлюємо спільний код — клієнт API, моделі даних, елементи дизайну — у пакети, які використовують кілька застосунків компанії.
03

Робота з даними

Налаштовуємо обмін із сервером, кешування, збереження на пристрої та синхронізацію після відновлення зв’язку.
04

Міграція старого коду

Переводимо старі проєкти на сувору перевірку порожніх значень і актуальні версії Dart, оновлюємо залежності.
05

Аудит і рефакторинг

Розбираємо заплутаний код, прибираємо дублювання, покриваємо критичні частини тестами й описуємо архітектуру.

Як ми працюємо з Dart-кодом

Від аудиту залежностей до коду, який легко розвивати

Запускаємо статичний аналізатор Dart і дивимося, скільки в проєкті попереджень, застарілих пакетів і місць без перевірки типів.
Складаємо карту коду: де живе бізнес-логіка, як влаштоване керування станом, які частини найчастіше ламаються.
Пропонуємо план змін за пріоритетом: спершу те, що заважає оновлювати Flutter і випускати релізи, потім — решту.
Вносимо зміни невеликими частинами, кожну з автоматичними тестами, щоб застосунок залишався робочим після кожного кроку.
Налаштовуємо правила аналізатора й автоматичну перевірку коду при кожній зміні, щоб старі проблеми не поверталися.
Документуємо структуру проєкту та домовленості, щоб новий розробник швидко зрозумів, де і що змінювати.

Більше 750 проєктів за 11 років роботи

Ми поєднуємо аналіз, UX/UI, розробку, інтеграції, маркетинг і підтримку, щоб digital-продукт працював як бізнес-інструмент.

Онлайн-сервіс

IKURA

Інтернет-магазин

METEC

Інтернет-магазин

Sourcez

Інтернет-магазин

Supermarket Krasy

Веб-портал

List

Корпоративний сайт

JustVPS

Онлайн-сервіс

Credit Hours

Веб-портал

IT-Rating

Онлайн-сервіс

LifeTrace

CRM / ERP

CRM PX

CRM / ERP

Pro ERP

Корпоративний сайт

IngestAI

Promodex - ваш надійний партнер

Ми разом з вами розробляємо стратегію веб-сайту
Над проектом працює команда з 5 осіб
Погодинна оплата, прозорі умови праці
Ми гарантуємо високу якість технічних характеристик

Хочете знати вартість?

Заповніть коротку заявку і ми зв'яжемося з вами

Що говорять клієнти

Створюємо цифрові продукти, які приносять результат та отримують високі оцінки по всьому світу.

5.0
clutch
Promodex's work increased the client's conversion rate by 35%, average receipt by 20%, and organic traffic by 50%. The team managed the project well, delivered on schedule, provided regular reports, and responded quickly. Overall, their professionalism and attention to detail set them apart.
5.0
clutch
Promodex completed the project on time. They conducted the development transparently and checked the progress at almost every stage. They independently studied the critical tasks at work and suggested a way to implement them.
5.0
clutch
Promodex successfully launched the client's website and received positive feedback from the end clients and employees. Furthermore, the team delivered all milestones on time, showcased experience, and understood the client's needs. Overall, the team's excellent communication skills were impressive.
5.0
clutch
Promodex delivered a functional online store that met the client's expectations. The team completed the project on time and within budget. The team communicated via in-person and virtual meetings, email, and messaging apps. Overall, the team's performance was outstanding.
5.0
clutch
Promodex delivered reliable services and met expectations. They completed tasks on time and produced high-quality outputs. Their estimated hours were a 99% match with the actual time spent on tasks, impressing the client. Moreover, their resources understood the client's requirements quickly.
5.0
clutch
Promodex successfully launched the e-commerce, and the client's sales increased, process management improved, and business expanded. The team had an impressive understanding of e-commerce needs. Promodex completed all stages on schedule and constantly interacted with the client.
5.0
it-rating
Дякую команді Promodex за гарно оформлений сайт mapstars.co на сучасних технологіях (react js, angular та ін.), гарні ефекти та трьома мовами: англійською, португальською та українською. Окрема подяка менеджеру Вікторії!
5.0
it-rating
Я дуже радий висловити свою подяку команді Promodex за надані послуги зі створення та подальшої підтримки сайту in-prem.ua. Вони продемонстрували високий професіоналізм в обслуговуванні покупців зі швидкими та професійними рішеннями будь-яких питань. Вони були завжди доступні для повного обслуговування мого сайту і навіть допомогли підняти ефективність роботи з інтерфейсом користувача. Я дуже рекомендую цю команду іншим власникам сайтів, які шукають висококласну підтримку своїх проектів.
5.0
it-rating
З повною довірою я замовляв розробку сайту з Promodex. Виконана робота перевищила всі мої очікування. Працівники компанії проявляли високий рівень професійної компетентності та акуратності. Якість наданих послуг повністю задовольняла мене. Отриманий результат дуже мені подобався та дозволив легко та зручно керувати сайтом. Я рекомендую Promodex як надійного та професійного партнера для роботи над розробкою сайтів.
5.0
it-rating
Я дякую команді компанії Promodex за розробку та просування мого сайту plangromad.com.ua. Вони чудово розуміють, як ефективно та швидко підняти сайт у пошукових системах. Набагато краще, ніж інші IT-компанії, про які я й досі чула. Їхні сучасні технології, професіоналізм та надійність роблять їх ідеальним вибором для вашого бізнесу. Я рекомендую працювати з ними!
5.0
it-rating
Команда працює чудово. Робили дизайн, потім верстку. Наразі робимо перерву у співпраці, але обов'язково повернемося. Особливо хочу відзначити проектного менеджера, Вікторію та дизайнера, Максима. Рекомендую.
5.0
it-rating
В даний час вкрай непросто знайти маркетологів та розробників у рамках однієї компанії. Переді мною стояло завдання знайти команду, яка зможе реалізувати якісне SEO-просування, але при цьому й зможе реалізувати технічні завдання, які потрібні для ефективного SEO. Ми зіткнулися з проблемою під час роботи з іншими SEO-компаніями, оскільки вони видавали технічне завдання на доопрацювання сайту, і нам самим потрібно було знайти команду, яка їх запровадить. Це займало багато часу і гальмувало просування сайту. Команда Promodex робить все під ключ, і це їхня величезна перевага на ринку!
5.0
Google
Promodex забезпечують нам техпідтримку сайту, SEO та гео-просування. Команда швидко закриває технічні задачі, допомогла покращити структуру та контент під пошук, а також навела лад із присутністю в Google Maps. Видимість у Google зростає, звернення стали більш релевантними. Комунікація чітка й оперативна - рекомендуємо.
5.0
Google
Promodex розробили для нас інтернет-магазин на OpenCart для українського виробника одягу, взуття та аксесуарів для танців. Зробили зручний каталог і навігацію, сайт швидко працює та коректно відображається на мобільних. Комунікація чітка, задачі виконували оперативно — рекомендуємо.
5.0
Google
Promodex швидко розробили для нас платформу онлайн-фітнесу OnlineGym з особистим кабінетом і мобільним додатком. Реалізували підписку, програму харчування та відстеження прогресу тренувань. Все працює зручно й стабільно — рекомендуємо
5.0
Google
Раніше майже весь трафік у нас був брендовий — приходили ті, хто вже знав, що шукає. Задача була почати з'являтися за категорійними запитами, а це робота повільніша, ніж усім хотілося б. Перші три місяці графік був настільки рівний, що я двічі перепитував, чи не витрачаємо ми гроші дарма — у відповідь показували проміжні показники, а не просто просили потерпіти. З четвертого місяця категорійні сторінки почали ранжуватися, а до шостого дохід з органіки виріс на 42%. Платна реклама тепер працює паралельно, але зі значно меншим бюджетом — насамперед тому, що ми перестали викуповувати трафік за власними брендовими запитами.
5.0
Google
Promodex надають технічну підтримку нашого інтернет-магазину з 19.03.2024. За майже 300 годин виконали задачі різної складності дуже швидко та надійно — не було жодних “завислих” чи невиконаних задач. Комунікація чітка, реакція оперативна, сайт працює стабільно. Рекомендуємо як сильну команду з підтримки OpenCart.
5.0
Google
Promodex розробили нам сайт для Car Textile і ведуть SEO. Працюємо по всій Україні (опт/роздріб), тому важливо було зробити нормальний каталог і щоб сайт знаходили в Google. Все реалізували швидко: структура, зручність, технічна оптимізація, поради по ключових запитах і контенту. Результат відчутний - більше релевантних звернень і поступовий ріст у пошуку. Дякуємо команді та рекомендуємо!

750+

проєктів

30+

людей у команді

11

років на ринку

50+

нагороди

Працюємо над проєктами, які рухають бізнес уперед

Нам довіряють свою рекламу клієнти з України, США та Європи

SantehPlast
ProfLine
ProKennex
Stream Market
Rechtsberatung
WebAwards
Online Gym Project
Key4GG
Ekvives
Zoo Expert
Mida
Idealist Coffee Co.
Servired
OrtoSmart
Mevis
Monday Sport
ArtBullet
Інпрем
IRIJ Jewelry Company
Galaktyka
Pobedov
IT Рейтинг України
Metec
Chaser Lab
Ikura
TA Group
Posudmeister
Blago
Розробка та впорядкування коду на Dart для Flutter-застосунків

Що за мова Dart

Dart — мова зі строгою типізацією та знайомим синтаксисом. Розробник, який писав на Java, JavaScript, C# чи Kotlin, зазвичай читає Dart-код без підготовки і досить швидко починає на ньому писати.

Мова має два режими роботи. Під час розробки код запускається так, що зміни можна побачити майже миттєво, без перезбирання застосунку. Для публікації той самий код компілюється в машинний код для телефона чи комп’ютера або в JavaScript для браузера. Тому Dart поєднує зручність розробки зі швидкою роботою готового застосунку.

Де застосовується Dart

  • Мобільні застосунки на Flutter. Основна і найпоширеніша сфера.
  • Веб і настільні програми на Flutter. Внутрішні панелі, інструменти для співробітників, програми для Windows, macOS та Linux.
  • Утиліти та скрипти. Генерація коду, обробка файлів, допоміжні інструменти для команди розробки.
  • Серверна частина. Технічно можлива, але трапляється рідко: готових бібліотек і фахівців тут значно менше, ніж для інших мов.

Переваги Dart

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

Обмеження мови

  • Тісний зв’язок із Flutter. Поза Flutter Dart використовують мало, тому вибір мови фактично означає вибір Flutter.
  • Менше фахівців. Розробників на Dart менше, ніж на JavaScript чи Kotlin. Важливо, щоб код був зрозумілим і задокументованим, — тоді передати проєкт іншій команді буде простіше.
  • Невелика екосистема поза мобільною розробкою. Для сервера, аналітики даних чи машинного навчання є мови з набагато ширшим вибором готових рішень.
  • Нерівна якість пакетів. Частину пакетів підтримують окремі ентузіасти. Кожну залежність варто оцінювати перед тим, як додавати в проєкт.

Коли краще обрати іншу мову

Ми не радимо Dart заради самого Dart. Інша мова доцільніша, якщо:

  • ваша команда вже пише на TypeScript і React — тоді для мобільного застосунку логічніше React Native, де можна перевикористати знання й частину коду;
  • потрібен лише сервер або обробка даних — для цього краще мови з розвиненою серверною екосистемою;
  • застосунок буде тільки під Android і глибоко працюватиме з системою — тоді природніший вибір Kotlin.

Перехід на сувору перевірку порожніх значень

У ранніх версіях Dart будь-яка змінна могла виявитися порожньою, і помилки через це проявлялися вже в користувачів. Згодом мова отримала сувору перевірку таких значень, а в нових версіях вона стала обов’язковою.

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

Як ми впорядковуємо Dart-код

У Flutter-проєктах, які довго розвивалися без правил, логіка часто живе прямо в екранах. Ми поступово розділяємо код на шари:

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

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

Тести для логіки застосунку

Коли логіка відокремлена від екранів, її можна перевіряти автоматично, без телефона і без ручного проходження сценаріїв. Тести на Dart запускаються за лічені секунди і показують, чи не зламала нова зміна розрахунок знижки, перевірку форми чи обробку відповіді сервера.

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

Новий код чи доопрацювання наявного

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

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

Що впливає на вартість

  • Обсяг коду: кількість екранів, модулів і власних пакетів.
  • Вік проєкту: наскільки відстали версії Dart, Flutter і залежностей.
  • Наявність тестів: без них кожну зміну доводиться довше перевіряти вручну.
  • Глибина змін: точкові виправлення, міграція чи перебудова архітектури.

Після аудиту ви отримуєте список проблем з пріоритетами і план робіт, поділений на етапи.

Часті запитання

Чи варто вчити Dart, якщо ми вже пишемо на JavaScript? Мова знайома за синтаксисом, тому перехід зазвичай нескладний. Але якщо ви не плануєте Flutter, сенсу в ній небагато.

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

Чи можна писати сервер на Dart? Можна, але для більшості проєктів ми порадимо мову з ширшою серверною екосистемою, а Dart залишимо для застосунку.

Чи візьмете на підтримку Dart-проєкт іншої команди? Так. Спершу розбираємося в коді й залежностях, а потім підтримуємо й розвиваємо застосунок на постійній основі.

Чому Promodex

З 2015 року Promodex виконав 750+ проєктів у розробці, дизайні та маркетингу. Над кодом працюють наші власні розробники в Києві, без субпідрядників. Ми не обіцяємо переписати все з нуля: спершу пояснюємо, у якому стані ваш проєкт, які зміни дадуть найбільше користі й чому саме вони. Умови прозорі — ви знаєте, що робиться і навіщо, а після завершення робіт ми залишаємося поруч для підтримки й розвитку.

Готові створити щось вражаюче?
Нагороди та відзнаки
3 місце IT Rating
Web developers companies
2 місце IT Rating
eCommerce development companies
5 місце IT Rating
SEO companies
3 місце IT Rating
Web developers companies in New York
1 місце WEBAWARDS
Online store developers
2 місце WEBAWARDS
Magento CMS developers
1 місце WEBAWARDS
Online store developers
5 місце Clutch
Top small business web design companies
7 місце Clutch
Top WordPress developers
2 місце Clutch
Top 30 web development companies
19 місце Clutch
List of the top Wyoming web design companies
4 місце Clutch
Top web designers in Casper
22 місце Clutch
Top web developers in Wyoming
4 місце 99 Firms
40 Best web design companies
1 місце Digital Agency Network
Best digital marketing agencies in Delaware
4 місце UpCity
BigCommerce development companies
55 місце UpCity
Ecommerce development companies
1 місце UpCity
Website development companies
5 місце OpenCart
OpenCart experts
20 місце DESIGNRUSH
Top web design companies in the USA
5 місце DESIGNRUSH
Top design firms in the USA
5 місце Top Developers
Top 10+ OpenCart development companies