Рубрики
Без рубрики

Строительство реагирует нативные приложения: модернизация приложения iOS на Android

В этом руководстве будет расширение And Android-платформу Android-платформу Android.

Автор оригинала: Vijay Thirugnanam.

I. Введение в реагировать родным

React Native – это рамки для строительства мобильных приложений, использующих React и JavaScript. Он имеет поддержку для создания мобильных приложений для iOS и Android платформ. Рамка открыта с помощью Facebook в марте 2015 года и построена на предпосылке: Узнайте один раз, напишите где-нибудь Отказ

Использование RECT для UI, мы можем построить как веб, так и мобильные приложения – с реактивным нацеленным, используемым для последнего, поскольку он имеет набор компонентов реагирования для iOS и Android платформ. Компоненты реагирования, доступные с реактивным средством, переведены на родные компоненты, которые обеспечивают лучший пользовательский опыт, который соответствует мобильной платформе.

Реагировать на родной

Это Facebook Post Объясняет, почему «нужен« родной ».

II. Построить приложение

В этом руководстве будет расширение And Android-платформу Android-платформу Android. Приложение Todo Super-Simple. У него есть две вкладки, и первая вкладка имеет список Todo.

Реагировать на родной

Когда товар TODO сделан, нажмите кнопку «Готово». Это удалит элемент TODO из списка. Вторая вкладка имеет Добавить Todo форма.

Реагировать на родной

Исходный код для приложения iOS можно найти в этом Проект GitHub Отказ И в этом руководстве мы подведем приложение для платформы Android.

А. Начало работы с Android в реакции

Есть Начало работы Руководство для настройки REACT RUBION для разработки приложения Android. Точные шаги варьируются на основе разработки OS -Mac, Linux или Windows. На высоком уровне настройка React Rearne для Android включает в себя:

  1. Установка узла.
  2. Установка Android Studio.
  3. Установка Android_home дорожка.
  4. Создание нового AVD (виртуальное устройство Android или эмулятор )

Любой новый активный проект Android Android.

Реагировать на родной

Android Папка имеет приложение Папка, которая имеет исходный код для приложения и Грейл Папка, которая имеет соответствующие настройки сборки.

Точка входа для реакции нативное приложение IS index.android.js Отказ При запуске NATION NATY APP APP, компонент Todo внутри index.android.js оказывается.

Реагировать на родной

B. Использование эквивалентных компонентов Android

Приложение iOS используется Tabbarios Компонент для отображения вкладок. Для андроида Tabbarios Компонент должен быть заменен Toolbarandroid составная часть. Способ рендера index.android Компонент показан ниже.

render() {
    return (
        
            
             { this.pager = c; }}
                style={styles.viewPager}
                initialPage={0}
            >
                
                    
                
                
                    
                
            
        
    );
}

Две виды – Добавить и Список – встроены в ViewPagerandroid составная часть. Компонент списка списки всех элементов Todo. Компонент Добавить добавляет новый товар Todo. Toolbarandroid имеет Онакварный Событие, которое должно быть обработано для переключения на новый вид.

handleActionSelected(position) {
    this.setState({
        actionText: actions[position].title,
    });
    this.pager.setPage(position);
}

Причина, по которой мы переехали Tabbarios к Toolbarandroid Из-за родного опыта мы получаем. Следующее видео подчеркивает нативный опыт, когда мы выбираем действия панели инструментов.

Реагировать на родной

Реагируйте нативные компоненты визуализации как родные компоненты в каждой платформе. Компоненты суффиксированы IOS доступны только для платформы iOS. Компоненты суффиксированы Android доступны только на платформе Android. Для отображения прогресса ProgressViewios и ProgressBarandroid являются эквивалентными реактивными нативными компонентами для каждой платформы.

C. Компоненты только для Android

Toastandroid API доступен только для Android. Это отображает Тост или сообщение, которое появляется на короткую продолжительность. Handleaddtodo Метод добавляет элемент TODO в список Todo. После добавления элемента отображается тост сообщение, как так:

handleAddTodo(todo) {
    let { todos } = this.state;
    todos = todos.slice();
    todos.push(todo);
    this.setState({ todos });
    ToastAndroid.showWithGravity('Todo is added',
    ToastAndroid.LONG, ToastAndroid.TOP);
} 
Реагировать на родной

Мы уже видели Toolbarandroid и ViewPagerandroid Компоненты, которые существуют только для платформы Android. DrawerlayoutAndroid является еще одним Android-ориентированным компонентом, который оборачивает Drawerlayout Отказ Drawerlayout Оказывает представление навигации, которое можно вытащить со стороны приложения.

D. Другие различия

Различия на платформе могут быть явно обрабатываются с помощью компонентов реагирования. Например, для TextInput Компонент, мы не хотим показывать границу для платформы Android.

import { Platform, StyleSheet } from 'react-native';
const styles = StyleSheet.create({
    input: {
        borderColor: '#ccc',
        borderWidth: (Platform.OS === 'ios') ? 1 : 0,
        borderRadius: 5,
    },
});

Реагируйте нативные компоненты настраиваются с использованием реквизитов, а некоторые реквизиты доступны только для платформы Android. Например, NumberofLines и ReturnLabel реквизит в TextInput доступны только для платформы Android. KeyboardType опоры в TextInput также заслуживает упоминания. И не все типы клавиатуры доступны на обеих платформах. Только по умолчанию , Числовое , Адрес электронной почты и Телефон доступны кроссплатформенные.

III. Обертывание

Удлиняя IOS-только реагирующее нативное приложение на платформу Android, следует учитывать следующие пункты:

  1. Есть специфические компоненты платформы. Всякий раз, когда используется компонент только в iOS, следует использовать эквивалентный компонент только для Android-Android.
  2. Есть компоненты только для Android, которые следует использовать для улучшения родной опыт Отказ
  3. Большинство оригинальных компонентов реагирования являются кроссплатформенными, но в реквиртах доступны незначительные различия для каждой платформы.

Основная идея по сравнению с реагированием является обеспечение местного опыта для пользователя. Могут быть случаи, когда разработчики предпочитают использовать компоненты JavaScript, чтобы иметь одинаковый внешний вид на iOS и Android. Лучший подход – воспользоваться преимуществами специфических функций платформы, чтобы обеспечить лучший родной опыт. Родной опыт является предпочтительным над последовательным взглядом.

Есть сопроводительное Проект GitHub В этот учебник, который поможет вам узнать больше о реагированной местности. И для дальнейшего рассмотрения вы также можете прочитать это Учебное пособие на родном и ионном сравнении Отказ