React Native vs React js developer experience

💡 Усі статті, обговорення, новини про Mobile — в одному місці. Приєднуйтесь до Mobile спільноти!

Всім привіт, поділіться, будь ласка, своїми враженнями при переході з react js або фронтенда на React Native і навпаки. Що вам сподобалося, а що ні, чи це вартувало того? Дякую

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Что нужно в тулчейне react-native для Android?

Пытаюсь составить целостную картину.

python нужен для того чтобы билдить(компилировать) проект.

JAVA SDK нужен потому, что всяческие элементы интерфейса(Buttons, Views) компилируются в java.

Javascript вызывает(запускает) функционал на Java или Objective C.

Android SDK — использование андроид API?, кстати, можно и без него, если snack.expo.io использовать.

Android Studio — для установки зависимостей(dependencies).

node.js — javascript движок

Gradle — билдер, нужен, например, что бы signed APK делать под Андроид

Metro — packager, нужен например чтобы картинки в объекты преобразовывать.

Итого надо 2 packager’а npm, metro

Тю, я думал тут махач двух реакт девелоперов будет... :-(

установил 14 ноуд

пошёл по reactnative.dev/docs/environment-setup

установил 10 сдк андроид( поставил в андроид студио галочку 29.0.2)
(видимо в этом была причина)

Ещё донёс в переменную PATH в пункте Change My Environment variables путь C:\Users\Anton\AppData\Local\Android\Sdk\platform-tools. Добавляться он не хотел, пришлось переопределить какой-то композеровский путь

зашёл в свою папку, сделал
expo build:android -t apk

получил expo.dev/...​d7-419a-b1af-d38f0e7849f5

запустил его на андроиде — працюет. Ура, благодарствую.
--------------------------------------

Ура, благодарствую

Не за что ;-)

Подумав, що якби написати прогу під анроїд було так само легко, як на Delphi екзешник під Вінду, то тоді б Андроїд був у небезпеці.

React Native после фронтенда — это как говна поесть, прости господи. Надеюсь, больше никогда не придется иметь дел ни с React Native, ни с разработкой мобильных приложений.

С мобильной разработкой все нормально и с react js все ок.

Главное не мешать 2 мира, у меня от React Native такое же впечатление.
Все тулзы ведь на костылях. В итоге нужно знать 3 платформы вместо одной.

Хочеться вважати складноші react native вимушені обставинами.

Костилями нас не здивуеш, йцукен-клавіатура це теж костиль який не має взвгвлі відношення до частоти використання символів.

Намагаюся перейти, важкувато, на ноуті всього 4 гіга пам’яті

win10, DuoCore16Gz, 4G
Це ж не 3д рендеринг, а компіляція хелоуворд під андроїд, нащо стільки ресурсів, зрозуміті б

Для андроїд студіо рекомендовано 8 ГБ мати , я б порадив запускати проект на своєму телефоні і через CLI

розібрав свій ноут а там нема ще одного слота під пам’ять, то ж поки 4 гіга маю. Намагаюся запустити через міст на телефоні через expo CLI, пише ошибку що занадто повільно грузиться і вилітає ця помилка.

Це тому треба 8 гіг що забагато маленьких файлів в проеті, які треба перев’язати?

Можливо , але я радив cli а не expo cli , ось лінк на cli reactnative.dev/docs/environment-setup, йти по вкладці react native cli , а не expo cli

Здравствуйте, дорогие участники. Как справляетесь с делами?

Хочу сделать приложение под андроид на реакт-нейтиве с использованием блютус. Продолжаю настраивать тулчейн, чтобы получить желанный .apk под андроид. Решил сделать новый проект, старые удалить не получилось с компа, ибо там оооочень много файлов мелких, проще оставить эти папки.

Пытался руководствоваться инструкциями:

docs.expo.dev/...​get-started/installation

https://docs.expo.dev/get-started/create-a-new-app/

Смотрел Build your first App in React Native in under 2 hours [ Tutorial for beginners ]

Я понял, лучше запускать cmd под админом


C:\Users\Anton>npm install —global expo-cli


C:\Users\Anton>expo init natB


C:\Users\Anton>cd natB


C:\Users\Anton\natB>expo start

C:\Users\Anton\natB>expo run:android

√ What would you like your Android package name to be? ... com.antondas.natB
√ Created native project
√ Added Metro config
√ Updated package.json and added index.js entry point for iOS and Android
" Removed „main”: „node_modules/expo/AppEntry.js” from package.json because we recommend using index.js as main instead

🧶 Using Yarn to install packages. Pass —npm to use npm instead.
× Something went wrong installing JavaScript dependencies, check your yarn logfile or run yarn install again manually.
--------------

Ошибка вылетела, значит в другой раз получится.

Зашёл в папку android и запустил gradlew

то же ошибка. Try harder!
------------------------------------------------------------------------

Попробовал через консоль expo запустить

" Press a │ open Android

" Press w │ open web

" Press r │ reload app

" Press m │ toggle menu

" Press d │ show developer tools

" shift+d │ toggle auto opening developer tools on startup (enabled)

" Press ? │ show all commands

Logs for your project will appear below. Press Ctrl+C to exit.

" Opening on Android...

" Opening emulator Pixel_3a_API_30_x86

Couldn’t start project on Android: It took too long to start the Android emulator: Pixel_3a_API_30_x86. You can try starting the emulator manually from the terminal with: C:\Users\Anton\AppData\Local\Android\Sdk/emulator/emulator @Pixel_3a_API_30_x86
″ Press ? │ show all commands



У меня 4 гига памяти, мало чтоли?

попробовал запустить заново — теперь такая ошиба

(node:6920) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 90)
(node:6920) UnhandledPromiseRejectionWarning: Error: C:\Users\Anton\AppData\Local\Android\Sdk/platform-tools/adb exited with non-zero code: 1
    at ChildProcess.completionListener (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\@expo\spawn-async\src\spawnAsync.ts:65:13)
    at Object.onceWrapper (events.js:313:26)
    at ChildProcess.emit (events.js:223:5)
    at ChildProcess.cp.emit (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\cross-spawn\lib\enoent.js:34:29)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
    ...
    at spawnAsync (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\@expo\spawn-async\src\spawnAsync.ts:26:19)
    at getAdbOutputAsync (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\src\Android.ts:302:26)
    at getAbdNameForEmulatorIdAsync (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\src\Android.ts:89:10)
    at C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\src\Android.ts:253:15
    at async Promise.all (index 0)
    at Timeout._onTimeout (C:\Users\Anton\AppData\Roaming\npm\node_modules\expo-cli\node_modules\xdl\src\Android.ts:162:29)
(node:6920) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 91)

Підписатись на коментарі