React Native vs React js developer experience
Всім привіт, поділіться, будь ласка, своїми враженнями при переході з react js або фронтенда на React Native і навпаки. Що вам сподобалося, а що ні, чи це вартувало того? Дякую
Всім привіт, поділіться, будь ласка, своїми враженнями при переході з react js або фронтенда на React Native і навпаки. Що вам сподобалося, а що ні, чи це вартувало того? Дякую
Что нужно в тулчейне 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 вимушені обставинами.
Костилями нас не здивуеш, йцукен-клавіатура це теж костиль який не має взвгвлі відношення до частоти використання символів.
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)
18 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів