Перевод отсюда.
Идея создавать мобильные приложения на JS не нова. Мы видели, что фреймворки, такие как Ionic или PhoneGap, справляются с этой задачей и привлекли изрядное количество разработчиков.
Тем не менее ни эти фреймворки, ни идея создавать мобильные приложения на JavaScript никогда не привлекали меня. Я всегда думал, почему бы не изучить Swift/Objective-C или Java и просто делать настоящие приложения? Конечно, это потребует затраты значительных усилий на обучение, но разве непрерывное обучение — это не то, что мы, разработчики, делаем и должны делать хорошо? Быстро изучать новые языки и фреймворки? Тогда в чём смысл? Что касается меня, очевидные преимущества такого подхода никогда не перевешивали сомнения. Читать полностью »
Рубрика «ReactJS» - 45
Руководство React Native — создаем приложение под iOS. Часть 1.1
2017-05-15 в 21:45, admin, рубрики: iOS разработка, javascript, react native, ReactJS, разработка под iOSКак я свой Redux писал
2017-05-06 в 20:35, admin, рубрики: design patterns, flux, javascript, Model View Controller, react.js, ReactJS, redux, redux-thunk, software architecture, Разработка веб-сайтовИли Охота на Кракена. В предыдущих заметках (тут и тут) я делился своим Braindump на тему различных архитектурных стилей, в частности Model-View-Controller и Flux.
Я отметил, что не увидел в лице Flux какой-то революции, этот шаблон не что-то новое. Я увидел в нем схожесть с Reenskaug-MVC 1979 года. Также, я упомянул, что решил убрать из своего кода Redux (одна из реализаций Flux). Мне кажется, эти моменты необходимо пояснить более развернуто. Моей целью не было убедить читателя в том, что Flux надо называть MVC, так же я не хотел сказать, что redux-модуль плох и от него нужно полностью отказаться.
Так как же относится тогда к Flux?
Для начала надо определится что же такое Flux. Во-первых это определенно архитектурный стиль, при чем на на данный момент, уже не только для клиентских web-приложений. Во-вторых это набор четко определенных компонентов и терминов.
Читать полностью »
Развёрнутый комментарий Дэна Абрамова к статье «Вещи, о которых никто вам не расскажет про React»
2017-05-05 в 17:40, admin, рубрики: Dan Abramov, React, react-router, ReactJS, reduxВсем привет! Недавно Дэн Абрамов, создатель Redux, оставил довольно массивный комментарий к статье на Medium Things nobody will tell you about React.js, который очень быстро разошёлся популярностью и довольно скоро набрал раза в 3 больше рекомендаций, чем сама статья :)
Собственно, текущая статья является моим переводом его комментария, так как последняя содержит ценные замечания по поводу актуального и будущего состояния React / React Router.
Надеюсь, кому-то это будет полезным.
Привет, спасибо за обратную связь! :)
Я ценю, что вы поделились своим неприятным опытом работы с React.
Ваш пост содержит широко распространенные в React сообществе заблуждения, поэтому мне захотелось воспользоваться моментом и разъяснить их для любого, у кого имеются те же проблемы.
Это вовсе не означает, что React для всех работает одинаково хорошо, или что затронутые вами проблемы неактуальны. Но есть несколько моментов, которые, на мой взгляд, важно обозначить для правильного понимания этих проблем.Читать полностью »
Redux как сердце архитектуры фронтенда Единой фронтальной системы
2017-05-04 в 12:33, admin, рубрики: flux, iOS, javascript, ReactJS, ReactNative, redux, TypeScript, Блог компании Программа «Единая фронтальная система», ефс, мобильная разработка, платформа для мобильной разработки, программа ефс, Программирование, разработка мобильных приложений, СбертехВ прошлой статье мы рассказали, как в целом устроен фронтенд программы, обсудили технологический стек. Данную статью посвятим обсуждению Redux — почему мы называем его сердцем архитектуры ЕФС.
Ужасный import кракен — как использовать ES6-модули и не сойти с ума
2017-05-03 в 8:01, admin, рубрики: ES6, export, import, javascript, modules, React, ReactJS, TypeScript, visualstudio, Блог компании ДоксВижн, Программирование, Разработка веб-сайтовГлобальная область видимости (aka namespace в TypeScript) — уже давно не круто. Можно долго перечислять преимущества модулей (ES6 модулей, в частности), но лично для меня решающим стала возможность использовать SystemJS для динамической загрузки исходников и Rollup, для сборки бандла.
Однако, первое, с чем пришлось столкнуться при внедрении ES6-модулей- безумное количество import выражений, с безумным количеством точек внутри:
import { FieldGroup } from "../../../Common/Components/FieldGroup/FieldGroup";
Быстрый старт на React Native
2017-05-01 в 2:01, admin, рубрики: javascript, ReactJS, вискас, разработка мобильных приложенийКакие горизонты открывает React? Single Page Application (и веб-приложения, и десктопные приложения на Electron) — это цветочки. Очень заманчиво выглядит разработка мобильных приложений на React Native. Лозунг "learn once, write anywhere" стоит того, чтобы приложить некоторые усилия. Go!
Как мы оптимизировали Twitter Lite
2017-04-27 в 11:29, admin, рубрики: javascript, React, ReactJS, redux, twitter, Twitter Lite, время загрузки, Клиентская оптимизация, оптимизация, Разработка веб-сайтов, разработка мобильных приложений, сервис-воркерыTwitter Lite и высокопроизводительные прогрессивные веб-приложения на React
Взгляд на то, как удаляли обычные и необычные узкие места в производительности при создании одного из крупнейших в мире прогрессивных веб-приложений (PWA) на React.js — Twitter Lite
Создание быстрого веб-приложения требует многих циклов измерений, куда тратится время. Нужно понять, почему это происходит, и применить потенциальные исправления. К сожалению, не бывает одного простого решения. Производительность — это бесконечная игра, где мы ищем и измеряем области для улучшения. В Twitter Lite сделано много маленьких улучшений в разных сферах: от первоначального времени загрузки до рендеринга компонентов React (и предотвращения повторного рендеринга), загрузки изображений и много другого. Большинство изменений небольшие, но они складываются, и в конечном результате мы получили одно из самых больших и быстрых прогрессивных веб-приложений.
Читать полностью »
Java и isomorphic React
2017-04-27 в 8:58, admin, рубрики: cdi, isomorphic, java, javascript, JAX-RS, ReactJS, Resteasy, weldДля создания изоморфных приложений на React обычно используется Node.js в качестве серверной части. Но, если сервер пишется на Java, то не стоит отказываться от изоморфного приложения: в Java входит встроенный javascript движок (Nashorn), который вполне справится с серверным рендерингом HTML с помощью React.
Код приложения, демонстрирующего серверный рендеринг React с сервером на Java, находится на GitHub. В статье буду рассмотрены:
- Сервер на Java в стиле микросервиса на основе Netty и JAX-RS (в реализации Resteasy) для обработки web-запросов, с возможностью запуска в Docker.
- Dependency Injection с использованием библиотеки CDI (в реализации Weld SE).
- Сборка javascript бандла с помощью Webpack 2.
- Настройка редеринга HTML на сервере с помощью React.
- Запуск отладки с поддержкой «горячей» перезагрузки страниц и стилей с использованием Webpack dev server.
Загрузка данных из REST API
2017-04-26 в 10:10, admin, рубрики: javascript, ReactJS, вискас, Разработка веб-сайтовХочу поделиться ещё одним маленьким велосипедом — в первую очередь, чтобы получить бесценные советы. Дополнительные примеры можно посмотреть в исходниках фан-проекта на GitHub.
React медленный, React быстрый: оптимизация React-приложения на практике
2017-04-25 в 15:53, admin, рубрики: React, ReactJS, recompose, redux, reselect, timeline, оптимизацияВсем привет! Хочу поделиться своим переводом статьи React is Slow, React is Fast: Optimizing React Apps in Practice автора François Zaninotto. Надеюсь, это кому-то будет полезным.
Краткое содержание:
- Измерение производительности React
- Почему ты обновился?
- Оптимизация через разбиение на компоненты
- shouldComponentUpdate
- Recompose
- Redux
- Reselect
- Остерегайтесь объектных литералов в JSX
- Заключение
React может быть медленным. Я хочу сказать, что любое React приложение среднего размера может оказаться медленным. Но прежде, чем искать ему замену, вы должны знать, что и любое среднее приложение на Angular или Ember может также оказаться медленным.
Хорошая новость в том, что если вы действительно заботитесь о производительности, то сделать React приложение очень быстрым довольно легко. Об этом — далее в статье.Читать полностью »