Ionic (фреймворк для мобільних застосунків)

Матеріал з Вікіпедії — вільної енциклопедії.
(Перенаправлено з Ionic)
Перейти до навігації Перейти до пошуку
Ionic
ТипSoftware framework
РозробникDrifty[1]
Перший випуск2013
Стабільний випускpreferred (preferred; тому (preferred))
Мова програмуванняTypeScript, JavaScript
ЛіцензіяMIT License
Репозиторійgithub.com/ionic-team/ionic-framework/
Вебсайтionicframework.com

Ionic — це відкритий SDK для розробки гібридних мобільних застосунків, створений Максом Лінчем, Беном Сперрі та Адамом Бредлі з Drifty Co. у 2013 році [2] Оригінальна версія була випущена в 2013 році і створена на основі AngularJS і Apache Cordova.

Однак, останню версію було перебудовано як набір веб-компонентів, що дозволяє користувачеві вибирати будь-який фреймфорк користувацького інтерфейсу, наприклад Angular, React або Vue.js. Це також дозволяє використовувати компоненти Ionic цілком без інтерфейсу користувача. [3]

Ionic надає інструменти та сервіси для розробки гібридних мобільних, настільних і поступових вебзастосунків на основі сучасних технологій і методів веб-розробки, з використанням таких веб-технологій, як CSS, HTML5 і Sass .

Зокрема, мобільні застосунки можна створювати за допомогою цих веб-технологій, а потім розповсюджувати через нативні крамниці застосунків, такі як Google Play чи App Store, для встановлення на пристрої, за допомогою Cordova або Capacitor. [4]

Історія

[ред. | ред. код]

Ionic був створений компанією Drifty Co. у 2013 році. У березні 2014 року Drifty отримав 1 мільйон доларів початкового фінансування від Arthur Ventures.

Після випуску альфа-версії фреймворку в листопаді 2013 року, була випущена бета-версія 1.0 в березні 2014 року, остаточна версія 1.0.0 "uranium-unicorn" у травні 2015 року. 

25 січня 2017 року була випущена друга версія фреймворку Ionic. Він був значно перероблений і базувався на наступнику AngularJSAngular . Це супроводжувалося переходом від JavaScript до TypeScript.

Ionic 3 був випущений 1 квітня 2017 року. Нумерацію версій також було змінено і вона почала відповідати семантичній версії. Основними особливостями цієї версії є підтримка Angular 4, а також сумісність з новими версіями TypeScript.

Ionic 4 був випущений як бета-версія фреймворку 24 липня 2018 року. Основними нововведеннями є підвищення продуктивності та сумісність із кількома іншими фреймворками. Версія 4 була остаточно випущена 23 січня 2019 року. Через нову структуру папок пряма міграція з версії 3 до версії 4 неможлива. Ionic 4 дозволяє розробникам обирати інші фреймворки, крім Angular, такі як React, Vue.js і веб-компоненти. [5]

Ionic 5 був випущений 11 лютого 2020 року. Окрім покращення продуктивності, було додано багато нових компонентів для iOS 13.

Послуги та функції

[ред. | ред. код]

Ionic використовує плагіни Cordova та, нещодавно, Capacitor, щоб отримати доступ до функцій операційної системи, таких як камера, GPS, ліхтарик тощо. [6] [7] [8] Користувачі можуть створювати свої застосунки, а потім налаштовувати їх для Android, iOS, Windows та MacOSElectron) або сучасних браузерів. [9] Ionic дозволяє створювати та розгортати застосунки, поєднуючи інструменти збірки Cordova або Capacitor із спрощеним інструментом командного рядка. [10]

Ionic включає мобільні компоненти, типографіку, інтерактивні парадигми та розширювану базову тему. [11]

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

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

Ionic також надає інтерфейс командного рядка (CLI) для створення проектів. Інтерфейс командного рядка також дозволяє розробникам додавати плагіни Cordova та додаткові пакети інтерфейсу, увімкнути push-повідомлення, генерувати піктограми застосунків і екрани-заставки, а також створювати власні двійкові файли. [12]

Підтримувані платформи

[ред. | ред. код]

Для Android, Ionic підтримує Android 4.4 та новіші. Для iOS, iOS 10 і новіших версій. [13] Ionic 2 підтримує універсальну платформу Windows для створення застосунків Windows 10. [14] Ionic Framework, побудований на Angular.js, також підтримує застосунки для BlackBerry 10. [15]

Швидкодія

[ред. | ред. код]

Застосунки Ionic працюють із сумішшю нативного коду та веб-коду, забезпечуючи повний доступ до нативної функціональності, якщо необхідно, із основною частиною інтерфейсу користувача застосунку, створеною за стандартною веб-технологією. Ionic використовує власні функції апаратного прискорення, доступні в браузері (наприклад, анімацію CSS), і оптимізує рендеринг (уникаючи ресурсозатратних маніпуляцій DOM ). Оскільки анімація CSS у веб-браузері забезпечується графічним процесором, ресурс головного процесора звільняється для інших операцій.

Встановлення

[ред. | ред. код]

Ionic є модулем npm[16] і вимагає Node.js. [17]

Командний рядок

[ред. | ред. код]

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

ionic init

Ініціалізує новий проект

ionic build

Компілює код розробленого застосунку, і готує його до розгортання.

ionic capacitor add <platform>

Додає папку із зазначеною платформою до проекту, для якої розробник хоче створити застосунок. Варіанти: ios, android або electron.

ionic capacitor build 

Команда виконує наступні операції:

  • запускає команду ionic build
  • копіює веб-файли для вибраної платформи
  • відкриває середовище розробки для вибраної платформи (Xcode для iOS, Android Studio для Android)

Після того, як веб-файли та конфігурацію буде скопійовано у ваш нативний проект, ви зможете створювати свій застосунок за допомогою IDE вибраної платформи.

ionic serve

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

За замовчуванням Ionic запускає сервер розробки в локальній мережі. Однак можна використати параметр — external, щоб установити команду на зовнішню адресу, де буде доступна поточна версія застосунку.

Альтернативні технології

[ред. | ред. код]

Ionic — не єдиний інструмент у своєму роді, який дозволяє розробникам писати один вид коду для кількох пристроїв або платформ, наприклад веб-браузерів, мобільних застосунків Android та iOS.

React Native

[ред. | ред. код]

Однією з найкращих альтернатив для Ionic є React Native[19] — фреймворк із відкритим вихідним кодом для розробки застосунків від Facebook. Використовуючи React Native, користувачі можуть розробляти застосунки для Android, iOS, Windows, MacOS та веб-застосунки. React Native є дуже вдалим вибором як для малих, так і для великих компаній. Він дозволяє створювани потужні застосунки для Android та iOS за допомогою попередньо написаного коду на JavaScript. Під час написання коду для застосунку на React Native використовуються компоненти React.

Flutter[20] — фреймфорк від Google з відкритим вихідним кодом для розробки мобільних і веб-застосунків. Цей SDK поєднує широкий спектр компонентів для розробки інтерфейсу користувача. Слід зазначити, що Flutter не використовує OEM компоненти. Натомість він віддає перевагу використанню власних, які мають нативний вигляд у iOS та Android. З іншого боку, розробники також мають можливість створювати власні компоненти. Наразі Flutter є єдиним доступним SDK, який пропонує розробку без використання JavaScript. Це головна причина, чому так багато розробників розглядають Flutter для розробки своїх застосунків.

Xamarin[21] —це ще одна альтернатива Ionic, яка працює в керованому середовищі та чудово підходить для розробки застосунків для платформ Android, Windows та iOS. Цей інструмент із відкритим кодом полегшує розробникам роботу з кодом, який використовується на різних платформах під час розробки застосунків. Багаторазове використання коду є головною перевагою Xamarin. В результаті, розробники можуть використовувати одну мову програмування для написання бізнес-логіки для всіх платформ без обмежень продуктивності. Ще одна перевага Xamarin полягає в тому, що застосунки пишуться на Mac або ПК, а потім компілюються у файли APK та IPA.

Ліцензія

[ред. | ред. код]

Ionic знаходиться під ліцензією MIT[22], що означає, що його можна використовувати як для особистого, так і для комерційного використання. Комерційна версія пропонується в чотирьох різних цінових варіантах, з яких найпростіша є безкоштовною, але може використовуватися лише окремими розробниками.

Примітки

[ред. | ред. код]
  1. Sarah Perez (10 March 2014). Drifty, Makers Of The Ionic Mobile Framework, Raise $1 Million. Процитовано 14 березня 2015.
  2. Drifty, Inc (2016). Ionic Documentation Overview - License.
  3. Introducing Ionic 4: Ionic for Everyone. 23 січня 2019.
  4. Drifty. Ionic Framework (англ.). Процитовано 16 липня 2017.
  5. Comparing v4.0.0-rc.3/v4.0.0 · ionic-team/ionic-framework. GitHub.
  6. Cordova Plugins. docs.usecreator.com. Процитовано 2 червня 2018.
  7. Attractive Features Of Ionic App Development Framework. Процитовано 2 червня 2018.
  8. Drifty. Ionic Framework (англ.). Архів оригіналу за 14 листопада 2019. Процитовано 2 червня 2018.
  9. Drifty. Ionic Framework (англ.). Процитовано 2 червня 2018.
  10. Mastering the Ionic Framework: Learn to Build & Deploy Native Speed HTML5 Based Apps - Thinkster. thinkster.io. Процитовано 2 червня 2018.
  11. Ionic. Theming Basics - Ionic Documentation. Ionic Docs (англ.). Процитовано 26 листопада 2019.
  12. Ionic. Installing Ionic - Ionic Documentation. Ionic Docs (англ.). Процитовано 26 листопада 2019.
  13. Browser Support - Ionic Documentation. Процитовано 19 грудня 2019.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  14. Announcing Windows Support in Ionic 2. 29 березня 2016. Процитовано 22 квітня 2016.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  15. Top JavaScript Frameworks for Enterprise Mobility. Процитовано 21 вересня 2015.{{cite web}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  16. ionic. npm (англ.). Процитовано 4 грудня 2022.
  17. Free Mobile App Development: Getting Started with Ionic Apps.
  18. Ionic CLI | Ionic Documentation. Ionic Framework Docs (англ.). Процитовано 4 грудня 2022.
  19. React Native · Learn once, write anywhere. reactnative.dev (англ.). Процитовано 4 грудня 2022.
  20. Flutter - Build apps for any screen. flutter.dev (англ.). Процитовано 4 грудня 2022.
  21. Xamarin | Open-source mobile app platform for .NET. Microsoft (амер.). Процитовано 4 грудня 2022.
  22. Ionic, Ionic, 4 грудня 2022, процитовано 4 грудня 2022

Зовнішні посилання

[ред. | ред. код]