Anonymous
такой же вопрос как недавно был в реакт чатике: как учить нейтив?
Anonymous
может есть какой-то роадмап?
Maksim
наверное брать по инструкции
Maksim
я так наклепал первое приложение
Sergey
может есть какой-то роадмап?
Если ты уже знаешь Редакс, то нужно выучить примерно следующее: 1. Как делать вёрстку на реактнейтивовском flexbox-е. Лучше на практике. Не забывать, что для сложных случаев там есть ‘position: absolute’ 2. Как пользоваться навигатором. Он довольно сильно отличается от react-router. Для навигатора есть обвязка под redux (react-native-router-flux). 3. Из нативной разработки основное что нужно знать: как делать экран загрузки, как делать иконку приложения, как собирать билд и публиковать в аппстор. Из бойлепрплейтов можно посмотреть вот это https://github.com/bartonhammond/snowflake
Anonymous
ого, спасибо, ok, сделаю что-то простенькое на выходных
Sergey
На самом деле, сложнее разобраться с Redux, чем перейти с React на React Native
Sergey
(во всяком случае мне так показалось)
Sergey
Самое сложное для RN - это купить Мак.
Anonymous
а сильно греется?)
Sergey
От эмулятора он всегда сильно греется.
Sergey
Даже если писать на Obj-C или Swift
Anonymous
да, я поэтому и спросил, тк у меня эйр 11)
Sergey
Один эмулятор вроде должен тянуть. Чтобы меньше тормозило запускай без XCode (то есть просто из командной строки react-native run-ios).
Sergey
Но XCode открывать придётся иногда: чтобы шрифты в проект положить, сделать экран загрузки, сделать иконку.
Sergey
Обычные картинки, которые будешь использовать из RN кода как ресурсы добавлять не нужно, слава богу.
Sergey
А вот шрифты и картинки для экрана загрузки и иконки приложения - нужно.
Anonymous
а в официальной инструкции от facebook про ios push нотификации всё написано? а то я alert с просьбой разрешить уведомления получаю, но token от apns сервера не приходит
Maksim
Вроде работает пуш
Maksim
У меня работал
Ale
ура, у нас наконец-то стартует проект мобильного клиента к продукту и выбрали rn. Продвинусь дальше hello world и изучения исходников)
Denis
Ale
типа того)
Roman
может вы шарите
Roman
если я соберу атом из исходников, это поможет ему не грузится по 10 сек?
Алдар
2 секунды грузится у меня
Roman
2 секунды грузится у меня
у меня проц атом на ноуте
Roman
забей, вроде помогли)
Denis
Парни, а как лучше организовать плавную загрузку фотографий?
Denis
Чтобы она не тормозила интерфейс, показывала заглушку и по мере загрузки обновляла её
Denis
Вопрос про список контактов и аватарки, если быть точнее
Maksim
а сейчас блокирует?
Denis
Да как то
Denis
Обычный require
Maksim
а как это require, если ты не знаешь какие будут урлы?
Denis
Сейчас локально, вот думаю как это лучше с хоста сделать - fetch или есть какой-нибудь компонент
Maksim
var CameraCell = React.createClass({ preview: function() { var jpg = this.props.camera.urls.jpg; if(!jpg) { return require('image!not-available'); } var jpg1 = jpg.indexOf("?") == -1 ? jpg + "?_v=" + this.props.camera.vsn : "&_v=" + this.props.camera.vsn; //console.log(this.props.camera); return {uri: jpg1 + "&token=" + this.props.camera.auth_token}; }, render: function() { return <Image source={this.preview()} defaultSource={require('image!not-available')} style={styles.cellImage} />; } });
Maksim
да вот как-то так
Denis
Да спасибо, че то Нетрис напомнило)
Igor
А какже prefetch?
Maksim
а чем тебе нетрис напомнило?
Denis
Камеры, превью, оптимизация) Мы там много трюков сделали
Denis
https://github.com/facebook/react-native/issues/2314 как я понимаю префетч пока не реализован в Core
Maksim
Денис, а ты там и мобильными приложениями занимались?
Denis
) Да много чем
Denis
https://facebook.github.io/react-native/docs/image.html#examples
Denis
Вот префетч кстати пример годный
Igor
Парни, посоветуйте решение с глобал стейтами. Обязательно redux использовать?
Denis
А чем Redux плох?
Igor
Достаточно пухлая зависимость, если уже используется react-native-router-flux, а из дополнительного функционала нужно всегото переключение языка локализации и переключение города
Igor
Я искал простую альтернативу и не нашел где хранить глобал стейты кроме redux
Andrey
редакс будет одним из самых простых, так как если брать другие flux реализации, там больше гемороя
Ale
Ну проще только module.exports = {};
Igor
Спасибо, сегодня попробую реализовать
Gregory
Или просто EventEmitter
Gregory
Но mobX более крут)
Senior
mobx невероятно удобное решение) но надо быть аккуратнее с сериализацией observable-объектов
Denis
Парни, а есть какой-то чеклист, что сделать с приложением перед публикацией в AppStore?
Denis
Вот что может быть не то? Схему переключил, делаю билд - отваливается: Undefined symbols for architecture armv7: "_RCTSetLogFunction", referenced from: -[myAppTests testRendersWelcomeScreen] in myAppTests.o ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Denis
Стандартное приложение + CodePush
Alexander
https://github.com/facebook/react-native/issues/2685#issuecomment-142137371
Denis
Спасибо, но Файл там есть уже
Alexander
С утра не то кликнул, хотел дать ссылку на этот коммент https://github.com/facebook/react-native/issues/2685#issuecomment-142626306
Denis
Ооо
Denis
Интересно
Denis
Есть какая-нибудь иснтрукция по сборке и публикации в AppStore?
Maksim
болью, печалью и кровавыми кишками будет выстлан твой путь
Maksim
ещё всплакнешь разочек — это точно
Roman
Есть какая-нибудь иснтрукция по сборке и публикации в AppStore?
тебе конкретно для реактов? могу у мобильщиков спросить
Denis
ДА у мобильщников можно)
Roman
сча
Maksim
а без разницы: реакт или натив одинаково деплоятся
Denis
Путь реакта закончился, когда завершен билд
Roman
Путь реакта закончился, когда завершен билд
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html
Roman
айфонщики дали это
Roman
вот тут еще есть немного полезных деталей https://habrahabr.ru/company/niceplay_games/blog/302486/ много геморроя вначале с этими сплешскринами и иконками плюс непонятки могут возникнуть насчет банковских реквизитов
Denis
Всем спасибо :) Благодаря @hinex вроде сдвинулся)