Pull to refresh

Comments 17

В vs code для открытия нескольких файлов, можно использовать двойной клик.

Божечки, наконец-то!

Есть настройка "workbench.editor.enablePreview": false, которая отключает режим просмотра.

Примеры выглядят немного притянутыми.
Например, что мешает в андроиде сделать свой view с нужными стилями?
Ага.

в Android:

1. Напиши разметку
2. Напиши back-класс
3. Напиши 4 конструктора
4. Напиши чтение AttributeSet

в RN:

1. Напиши разметку
2. Готово
React Native еще не пробовал, потыкал Ionic (Angular). Тоже вполне удобно. По ощущениям — если писать одно и то же на Java и JS (Ionic), то результат получится один и тот же, а времени и сил нужно меньше. Когда эти кроссплатформенные фреймворки научатся хорошо работать с аппаратной частью — я буду рад :)
Может стрельнуть, а может и нет, в любом случае на данной стадии React Native требует хорошего запаса бубнов…
Из всего кросплатформенного я ставлю именно на реакт. Во-первых, родитель в лице фэйсбука уже достаточно весомый аргумент, а во-вторых, теперь они каждый месяц собираются с другими командами, что бы обсуждать дальнейшее развитие продукта. Вот уже буквально недавно дали возможность создавать проекты вообще без единой строчки нативного кода. Да и уже в таком сыром виде, инструмент уже очень много может.
Во-вторых, разрешение экранов. У яблофонов просто огромные разрешения, особенно в плюсах, от чего, бывают проблемы, когда выставляешь кнопки с нужными размерами шрифтов, на iOS все смотрится хорошо, на андроиде все слипается — экран маловат будет.

iPhone 7+: 5.5" 1920-by-1080-pixel resolution at 401 ppi
LG G6: экран 5.7", разрешение 2880x1440 при 565 ppi

Вот было придумано, что должна быть активити

И придумана не просто так. Активити отвечает за жизненный цикл.

Для передачи информации нужен Intent, а он без проблем может передавать только простые типы, а если хочется передать объект, то все, здравствуй Parcelable.

Потому, что он в том числе используется для IPC. Я реакт пока еще особо не пробовал — он умеет общаться с другими андроид приложениями не через интенты?

Тут у нас 3 разные кнопки.

Тут у нас всего одна кнопка, для которой можно сделать
setCompoundDrawables(@Nullable Drawable left, @Nullable Drawable top, @Nullable Drawable right, @Nullable Drawable bottom)

А вообще хотелось бы больше примеров реакта, как в первой части статьи :)
Я реакт пока еще особо не пробовал — он умеет общаться с другими андроид приложениями не через интенты?

Конечно, интенты, дип линки… + Всегда есть возможность написать мост.
Упомянутая камера умеет и бар коды читать, тоже стандартный запрос.

С навигацией да, всё странно. Сейчас стандартом считается https://reactnavigation.org/
Самом неожиданным в https://reactnavigation.org/ оказалось отсутствие способа понять внутри экрана, что он ушел на задний план в общем случае. Условно: не реализовано аналогов onResume, onPause.
https://github.com/react-community/react-navigation/issues/51 вот тут пол года обсуждают как это должно быть написано: hoc, подписка на ивенты или функции компонента.

Есть экспериментальная либа https://github.com/satya164/react-navigation-addons. Сейчас написал костыль над ней, чтобы все работало как привычно.

Еще разные navigator-ы по разному управляют компонентами экрана, и у вас не всегда есть контроль над этим. Если у вас на ios табы, на на android drawer, то логика монтирования экранов будет разной: табы грузятся сразу, drawer грузит только текущий экран. В сочетании с первым недостатком писать немного больно.

навигация на react-native пишется куда короче в простых случаях, но когда у вас сложная логика при смене экранов, придется писать велосипеды и костыли.
После прочтения статьи осталось ощущение что автор делает только первые шаги?
Сам кодю на Qt для мобилок, присматриваюсь к ReactNative, но вот что можно делать в Qt из коробки:
— Все сделано на тех самых волшебных компонентах, более того команда Qt постаралась и реализовала кастомные стили.
— К любому компоненту (QML) можно прицепить тени (с настройкой цвета, прозрачности, радиуса и пр.), можно компонент развернуть в 3D плоскости.
— К любому компоненту можно добавить шейдерный эффект, анимацию в два клика
— Довольно простая интеграция с нативным кодом (это если хочется использовать нативные Toast для Андроид, например)
— Развитая IDE
— Поддержка мультиязычности (в кода вместо строки «строка» пишем tr(«строка») и потом оно само создаст список фраз для перевода)
В общем, много удобств и полезностей и не забываем, что под капотом у Qt мотор на С++.

Сам пробовал ReactJs, концепция когда компонент хранит и отображает свое состояние показалась не очень удобной, так, если в обычном input редактировать текст, то каждый символ вызывает волну перезаписи свойств этих компонентов что в итоге сильно просаживает производительность.
Для этого придумали flux. Вообщем-то писать на react без flux-библиотек — садизм. Даже сами facebook об этом говорят.
Статья не очень соответствует своему названию.
Где тут раскрыт вопрос разработки с колокольни Android? Хотелось бы увидеть какой-то реальный опыт преодоления трудностей и несовершенств ReactNative. А так это просто обзорная статься А-ля «смотрите какой RN классный, но с косяками», коих уже и так полно.
Цвет тени

Как у тени может быть цвет? Это просто не логично. Тень — участок поверхности или область пространства, менее ярко освещённые по сравнению с прочими, скрытые от прямых лучей света.

Sign up to leave a comment.

Articles