В этой статье хочу поделиться переводом статьи о нативных ECMAScript модулях, которые все больше и больше обсуждаются среди фронтендеров. Javascript ранее никогда не поддерживал нативно работу с модулями, и нам, фронтендерам, всегда приходилось использовать дополнительные инструменты для работы с модулями. Но вы только представьте, что в скором времени не нужно будет использовать Webpack для создания бандлов модулей. Представьте мир, в котором браузер будет собирать все за вас. Подробнее об этих перспективах я и хочу рассказать.
Читать полностью »
Рубрика «javascript» - 259
Нативные ECMAScript модули — первый обзор
2017-04-19 в 7:45, admin, рубрики: babel, javascript, webpack, Блог компании Туту.ру, браузеры, будущее, Программирование, Разработка веб-сайтов, стандартыRubyMine 2017.1: Docker, RuboCop, автогенерация Rails-тестов, улучшения для Puppet
2017-04-18 в 14:23, admin, рубрики: docker, javascript, puppet, rubocop, ruby, ruby on rails, rubymine, rvm, web-разработка, Блог компании JetBrainsПривет! Недавно мы выпустили RubyMine 2017.1, новую версию нашей IDE для Ruby и Rails, и уже обновили её до более стабильной версии 2017.1.1. Пора рассказать о том, что в ней нового.
- Docker
- Создание RVM-гемсетов
- RuboCop
- Мгновенное создание Rails-тестов
- Улучшения для разработки модулей Puppet
- Структура проекта Puppet
- Улучшения для JavaScript
- Обновленный поиск в VCS
Дайджест свежих материалов из мира фронтенда за последнюю неделю №258 (10 — 16 апреля 2017)
2017-04-17 в 18:05, admin, рубрики: angular, css, ES6, html, html5, javascript, JS, React, vue, Блог компании Zfort Group, браузеры, дайджест, Разработка веб-сайтов, ссылки, фронтендПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.
Кстати, на прошедшей неделе дайджесту исполнилось 5 лет. Спасибо, что читаете.
Функциональные компоненты
2017-04-16 в 12:00, admin, рубрики: javascript, ReactJS, вискас, Разработка веб-сайтовКак говорится, в редакцию пришло письмо: "не могли бы вы подробно разъяснить..." Отвечаю публично, кому оно надо, а применение можно пощупать тут.
N причин, чтобы использовать Create React App
2017-04-14 в 14:46, admin, рубрики: java script, javascript, JS, ReactJS, Блог компании Plarium, Программирование, разработка игр, метки: create react app
Create React App — отличный инструмент для быстрого старта React-приложений. Вы не тратите время на настройку Webpack, Babel и других привычных инструментов. Они заранее настроены и спрятаны, так что разработчики могут сфокусироваться на коде и бизнес-логике приложения.
Читать полностью »
Flow + tcomb = типизированный JavaScript
2017-04-14 в 12:30, admin, рубрики: javascript, ReactJS, вискас, Разработка веб-сайтовРано или поздно, все приходят к выводу, что нам нужна строгая типизация. Почему? Потому что проект разрастается, обрастает if-ами; функциональное программирование — всё функция — неправда, мне только что консоль сказала "undefined is not a function". Вот эти проблемы появляются всё чаще-чаще, становится сложнее отслеживать, возникает вопрос — давайте строго типизировать, хотя бы на этапе написания кода будет подсказывать.
Знаете рекламу: TypeScript — это надмножество JavaScript-а. Маркетинговый BS. Мы честно попытались, грубо говоря, переименовать проект из JS в TS — оно не заработало. Оно не компилируется, потому что некоторые вещи, с точки зрения TypeScript-а являются некорректными. Это не означает, что TypeScript — плохой язык, но продвигаться на идее надмножества, и подводить меня так, TypeScript — я не ожидал.
Как только вы вычеркиваете TypeScript, остаётся ровно одна альтернатива — Flow. Что я могу сказать про Flow? Flow мегакрутой тем, что заставит вас выучить систему типов OCaml, хотите вы того, или нет. Flow написан на OCaml. У него гораздо строже и гораздо мощнее вывод типов, чем у TypeScript-а. Вы можете переписывать проект на Flow частично. Количество бонусов, которые вам приносит Flow, сложно описать. Но, как всегда, есть парочка "но".
Отчет и материалы SPA meetup’а 8 апреля 2017
2017-04-14 в 11:30, admin, рубрики: api, components, css, csstree, javascript, open source, protobuf, rempl, single page application, SPA, Блог компании Avito
В прошедшую субботу в офисе Avito прошел SPA Meetup. Это митап-сателит Moscow.js, ориентированный на фронтенд-разработчиков, которым интересна тема веб-приложений (Single Page Application), и сочувствующих им. Это уже третья встреча, которая получилась весьма насыщенной: 3 доклада, 2 блица, свободный микрофон, панельная дискуссия и, конечно же, живое общение. В этом посте мы немного расскажем о том, как это было, и поделимся видеозаписями докладов.
Читать полностью »
Архитектура модульных React + Redux приложений
2017-04-14 в 0:27, admin, рубрики: javascript, modules, React, react-router, redux, redux-thunk, Анализ и проектирование систем, Проектирование и рефакторинг, Разработка веб-сайтов
Большинство разработчиков начинает знакомство с Redux с Todo List Project. Это приложение имеет следующую структуру:
actions/
todos.js
components/
todos/
TodoItem.js
...
constants/
actionTypes.js
reducers/
todos.js
index.js
rootReducer.js
На первый взгляд такая организация кода кажется логичной, ведь она напоминает стандартные соглашения многих backend MVC-фреймворков:
app/
controllers/
models/
views/
На самом деле, это неудачный выбор как для MVC, так и для React+Redux приложений по следующим причинам:
- С ростом приложения следить за взаимосвязью между компонентами, экшнами и редюсерами становится крайне сложно
- При изменении экшна или компонента с большой вероятностью потребуется внести изменения и в редюсер. Если количество файлов велико, скролить IDE вверх/вниз не удобно
- Такая структура потворствует копипасте в редюсерах
Не удивительно, что многие авторы(раз, два, три) советуют структурировать приложение по «функциональности» (by feature).Читать полностью »
DroidScript – простой и функциональный инструмент для разработки мобильных приложений под Android
2017-04-13 в 14:25, admin, рубрики: DroidScript, javascript, Разработка под android, метки: DroidScript
Некоторое время назад мне была поставлена следующая задача: разработать прототип приложения под Android для беспроводной связи с Arduino в реальном времени. Погружаться ради этого с головой в Java, Qt или C# было непрактично, поэтому решил искать готовое решение на скриптовом движке. PhoneGap? Интересно, но не для работы с Bluetooth. Что-то из мобильных сред разработки? Возможно, но хотелось работать в привычной десктопной среде, а не на планшете с небольшим экраном. Вскоре желаемое нашлось – мобильная среда разработки DroidScript с возможностью подключения к ней из браузерной WiFi IDE, которую можно установить на Windows, Mac и Linux.
Читать полностью »
Одним из основных преимуществ JavaScript является то, что всё асинхронно. По большей части различные части вашего кода не влияют на выполнение других.
doALongThing(() => console.log("I will be logged second!"));
console.log("I will be logged first!");
К сожалению, это также один из основных недостатков JavaScript. Задача выполнения синхронного кода становится сложнее, так как по умолчанию всё асинхронно.Читать полностью »