Некоторые из источников, перечисленных в этой статье, могут быть ненадежными . ( Февраль 2019 г. ) ( Узнайте, как и когда удалить этот шаблон сообщения ) |
Разработчики) | Facebook и сообщество |
---|---|
Первый выпуск | 26 марта 2015 г . [1] |
Стабильный выпуск | 0,64,0 / 12 марта 2021 г . [2] |
Предварительный выпуск | 0.64.0-rc.4 / 2 марта 2021 г . [2] |
Репозиторий | https://github.com/facebook/react-native |
Написано в | JavaScript , Java , C ++ , Objective-C , Objective-C ++ , Python |
Платформа | Android , Android TV , iOS , macOS , tvOS , Интернет и Windows |
Тип | Фреймворк приложения |
Лицензия | Лицензия MIT |
Веб-сайт | реагирующий |
React Native - это платформа мобильных приложений с открытым исходным кодом, созданная Facebook, Inc. [3] Она используется для разработки приложений для Android , [4] Android TV , [5] iOS , macOS , [6] tvOS , [7] Web. , [8] Windows [6] и UWP [9] , позволяя разработчикам использовать среду React вместе с возможностями собственной платформы. [10]
История [ править ]
В 2012 году Марк Цукерберг прокомментировал: «Самая большая ошибка, которую мы совершили как компания, - слишком много сделала ставку на HTML, а не на нативный». [11] Использование HTML5 для мобильной версии Facebook привело к нестабильному приложению, которое медленно извлекало данные. [12] Он пообещал, что Facebook скоро улучшит мобильность.
В Facebook Джордан Уолк нашел способ генерировать элементы пользовательского интерфейса для iOS из фонового потока JavaScript , который стал основой для веб-фреймворка React . Они решили организовать внутренний хакатон, чтобы усовершенствовать этот прототип , чтобы иметь возможность создавать собственные приложения с этой технологией. [13]
После нескольких месяцев разработки Facebook выпустил первую версию конфигурации React JavaScript в 2015 году. Во время технического разговора [14] Кристофер Чедо объяснил, что Facebook уже использует React Native в производстве для своего группового приложения и своего приложения Ads Manager. [15]
Реализация [ править ]
Принципы работы React Native практически идентичны React, за исключением того, что React Native не управляет DOM через виртуальный DOM . Он работает в фоновом режиме (который интерпретирует JavaScript, написанный разработчиками) непосредственно на конечном устройстве и взаимодействует с собственной платформой через сериализованные данные через асинхронный и пакетный мост. [16] [17] [18]
Компоненты React обертывают существующий собственный код и взаимодействуют с собственными API через парадигму декларативного пользовательского интерфейса React и JavaScript . Это позволяет разрабатывать собственные приложения для совершенно новых команд разработчиков и позволяет существующим группам работать намного быстрее. [19]
Хотя стили React Native имеют синтаксис, аналогичный CSS, он не использует HTML или CSS . [20] Вместо этого сообщения из потока JavaScript используются для управления собственными представлениями. React Native также позволяет разработчикам писать собственный код на таких языках, как Java или Kotlin для Android и Objective-C или Swift для iOS , что делает его еще более гибким.
Пример Hello World [ править ]
Программа Hello, World в React Native выглядит так:
импорт React из 'реагируют' ;импортировать { AppRegistry , Text } из ' react -native' ;const HelloWorldApp = () => < Text > Hello world ! < / Text>;экспорт по умолчанию HelloWorldApp ;// Пропускаем эту строку при использовании Create React Native AppAppRegistry . registerComponent ( 'HelloWorld' , () => HelloWorldApp );// Собственный код React также можно импортировать из другого компонента со следующим кодом:импортировать HelloWorldApp из './HelloWorldApp' ;
См. Также [ править ]
- Фреймворк для веб-приложений для нескольких телефонов
- NativeScript
- Xamarin
- Appcelerator Titanium
- Apache Cordova
- Flutter (программное обеспечение)
- Codename One
Ссылки [ править ]
- ^ «React Native: перенос современных веб-технологий на мобильные устройства» .
- ^ a b «Релизы - Facebook / React» . GitHub .
- ^ «Глава 1. Что такое React Native?» . oreilly.com . O'Reilly Media, Inc . Проверено 30 июля 2020 .
- ^ «Версия Android для React Native» .
- ^ "Строительство для телевизионных устройств · React Native" . reactnative.dev . Проверено 2 октября 2020 .
- ^ a b «React Native для Windows + macOS. Создавайте собственные приложения для Windows и macOS с помощью Javascript и React» . microsoft.github.io . Проверено 2 октября 2020 .
- ^ «React Native для Apple TV» . React Native для Apple TV . Проверено 2 октября 2020 .
- ^ "React Native для Интернета" . Проверено 6 ноября 2019 .
- ^ Группа приложений Windows (13 апреля 2016 г.). «React Native на универсальной платформе Windows» . blogs.windows.com . Проверено 6 ноября 2016 .
- ^ "Платформы вне дерева" . reactnative.dev . Facebook, Inc . Проверено 30 июля 2020 .
- ^ «Самая большая ошибка Цукерберга? 'Ставки на HTML5 ' » . Mashable . Проверено 7 апреля 2018 года .
- ^ Уоррен, Кристина. «Цукерберг Самая большая ошибка? Ставки на HTML5 ' » . Mashable . Проверено 29 октября 2020 .
- ^ «Краткий рассказ о React Native» . Проверено 16 января 2018 .
- ^ Кристофер, Чедо. «Глубокое погружение в React Native» . YouTube . Проверено 16 января 2018 .
- ^ «React Native: перенос современных веб-технологий на мобильные устройства» .
- ^ «Мостик в React Native» . 14 октября 2015 . Проверено 16 января 2018 .
- ^ "React Native vs Flutter: какая кроссплатформенная платформа лучше?" . Проверено 6 ноября 2019 .
- ^ «Как мы создаем приложение React Native: 7 вещей, которые экономят ваше время разработки. Часть 2» . Проверено 6 ноября 2019 .
- ^ "Как React Native может улучшить процесс разработки приложений?" . Проверено 15 февраля 2019 .
- ^ "React Native Style" . Проверено 24 февраля 2021 года .