Розробка мобільного додатку для корпоративного порталу
Корпоративний Wi-Fi рветься, VPN відвалюється, а співробітникам потрібен доступ до документів і задач у будь-який час. Ми розробляємо мобільні додатки корпоративних порталів, які працюють офлайн, синхронізуються при відновленні зв'язку та дотримуються всіх політик безпеки. Наші рішення інтегруються з існуючим середовищем: Azure AD, Active Directory, SharePoint, Jira, Confluence, а також on-premise системи з NTLM і SAML. Ми забезпечуємо єдиний вхід (SSO), підтримку MDM-політик, офлайн-режим і push-сповіщення. Всі додатки проходять внутрішній аудит безпеки та відповідають App Store Review Guidelines.
Як ми реалізуємо аутентифікацію в корпоративному середовищі?
Найчастіша вимога — вхід через корпоративний SSO. Якщо в компанії Microsoft 365 — це Azure AD з OAuth 2.0 / OIDC. Якщо on-premise — ADFS з SAML. Якщо змішана інфраструктура — Okta або PingFederate як IdP. Для мобільних OIDC-флоу використовуємо бібліотеку AppAuth — стандартну для iOS та Android. Приклад на Android:
// Android — OIDC через AppAuth val serviceConfig = AuthorizationServiceConfiguration( Uri.parse("https://login.microsoftonline.com/$tenantId/oauth2/v2.0/authorize"), Uri.parse("https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token") ) val authRequest = AuthorizationRequest.Builder( serviceConfig, clientId, ResponseTypeValues.CODE, Uri.parse("com.company.app://auth/callback") ) .setScope("openid profile email offline_access") .build() authService.performAuthorizationRequest(authRequest, pendingIntent) Після отримання authorization_code обмінюємо на access_token + refresh_token. Токени зберігаємо в EncryptedSharedPreferences. Refresh відбувається автоматично через перехоплювач в OkHttp.
Інтеграція з корпоративними системами
Типовий стек даних корпоративного порталу: SharePoint / Confluence для документів, Jira / ServiceNow для задач і тікетів, AD для оргструктури та контактів, Exchange / Google Workspace для календаря. Microsoft Graph API покриває більшість потреб для Microsoft-стеку:
suspend fun getMyDocuments(): List<DriveItem> { return graphClient .me() .drive() .root() .children() .buildRequest() .select("id,name,lastModifiedDateTime,webUrl") .top(50) .get() .currentPage } Для Exchange-календаря — MS Graph /me/calendarView з діапазоном дат. Для оргструктури — /users/{id}/directReports та /users/{id}/manager. Якщо портал on-premise без Microsoft 365 — REST API SharePoint (2016/2019). NTLM-аутентифікація для on-premise — окрема задача на мобільному: OkHttp підтримує NTLM через authenticator(), але потребує акуратного налаштування.
MDM та корпоративні обмеження
MDM накладає політики на пристрій або на додаток. Для корпоративних додатків два сценарії:
- MAM — політики застосовуються до конкретного додатку без управління всім пристроєм. Microsoft Intune MAM SDK дозволяє застосовувати політики до додатку: заборона copy/paste, заборона скріншотів, примусовий PIN перед запуском.
- MDM-enrolled пристрої — IT управляє пристроєм повністю. Додаток поширюється через managed distribution (Apple Business Manager / Google Enterprise).
Intune MAM SDK для Android підключається як dependency та ініціалізується через MAMApplication:
class MyApp : MAMApplication() { override fun onCreate() { super.onCreate() // MAM автоматично застосовує політики } } Без цієї інтеграції додаток може бути заблокований корпоративною політикою на enrolled-пристроях.
Як забезпечити офлайн-режим та синхронізацію?
Корпоративні мережі нестабільні — VPN розривається, корпоративний Wi-Fi губиться. Критичний функціонал повинен працювати офлайн: перегляд документів, контакти, задачі.
На Android — Room для кешу + WorkManager для фонової синхронізації. На iOS — Core Data + BGAppRefreshTask. Конфлікти при синхронізації вирішуємо за timestamp останньої зміни: серверні дані перемагають, якщо користувач не редагував локально. Push-сповіщення про нові задачі та документи через FCM / APNs. У корпоративних мережах FCM може бути заблокований файрволом — потрібен fallback на polling або WebSocket.
Стек та терміни
Flutter або React Native — оптимальний вибір для корпоративних порталів: одна кодова база для iOS та Android, швидка розробка. Нативна розробка виправдана, якщо є жорсткі вимоги до Intune SDK або специфічна нативна інтеграція.
Архітектура: Clean Architecture + BLoC (Flutter) або Redux Toolkit (React Native). Modular структура: auth, documents, tasks, contacts, calendar — незалежні модулі зі своїми репозиторіями.
MVP (SSO + оргструктура + документи): 2-3 місяці. Повний портал з задачами, календарем, сповіщеннями, офлайн — 4-6 місяців. Вартість розраховується індивідуально після аудиту корпоративної інфраструктури.
Порівняння підходів:
| Критерій | Нативна розробка (iOS + Android) | Крос-платформна (Flutter/React Native) |
|---|---|---|
| Час розробки MVP | 4–6 місяців | 2–3 місяці |
| Інтеграція з Intune SDK | Повна підтримка | Обмежена (потребує плагінів) |
| Продуктивність | Максимальна | Висока (близька до нативної) |
| Єдина кодова база | Ні | Так |
Що входить в роботу
У рамках проекту ми надаємо:
- Аудит корпоративної IT-інфраструктури та існуючих систем.
- Проектування архітектури та прототипу інтерфейсу.
- Розробку за методологією Clean Architecture з модульною структурою.
- Інтеграцію з корпоративними системами (SSO, SharePoint, Jira, AD, календар).
- Налаштування MDM-політик через Intune MAM або MDM-enrollment.
- Реалізацію офлайн-режиму та синхронізації.
- Push-сповіщення (FCM/APNs) з fallback-механізмами.
- Тестування на реальних пристроях та в корпоративній мережі.
- Підготовку документації та навчання адміністраторів.
- Технічну підтримку протягом 3 місяців після запуску.
Процес роботи
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика та аудит | 1–2 тижні | Технічне завдання, архітектура, план інтеграцій |
| Проектування UX/UI | 2–3 тижні | Прототип та дизайн-макети, узгоджені з замовником |
| Розробка MVP | 2–3 місяці | Робочий додаток з базовим функціоналом |
| Інтеграція та тестування | 2–4 тижні | Приймальне тестування в корпоративній мережі, виправлення помилок |
| Деплой та запуск | 1–2 тижні | Публікація в App Store/Google Play (або MDM-поширення) |
Наша команда має 10+ років досвіду в розробці корпоративних мобільних додатків. Ми реалізували понад 50 проектів для великих компаній, включаючи банки, держсектор та промисловість. Сертифіковані інженери з Microsoft Intune та Apple гарантують дотримання всіх корпоративних політик та App Store Review Guidelines. Ми надаємо гарантію на код та підтримку після запуску.
Бажаєте отримати консультацію? Зв'яжіться з нами для аудиту вашої інфраструктури і підготуємо точну комерційну пропозицію. Замовте проєктування рішення прямо зараз.







