Рубрика «javascript» - 285

Я уверен, большинство из вас, кто использует react используют jsx. Благодаря своему лаконичному синтаксису jsx улучшает читабельность шаблонов. Сравните:

render() {
    return React.createElement('div', { className: 'block'}, 'Text of block');
}
// vs
render() {
    return <div className='block'>
        Text of block
    </div>;
}

Второй вариант даже в таком простом примере выглядит намного понятнее. Если усложнить пример, то разница будет еще очевиднее.

Чем плох jsx

Все бы хорошо, если бы jsx был бы стандартной возможностью javascript, но это не так. Для работы с jsx вам потребуется транспилятор. Решив использовать jsx вы навечно становитесь зависимы от транспиляции. Еще недавно, такая зависимость никого не пугала, так как для использования новых возможностей из ecmascript 2015 вам в любом случае необходим транспилятор. Но все меняется, уровень поддержки es6 близок к 100%

По крайней мере, в develop-окружении уже можно избавляться от транспиляции. Представляете, какие возможности это открывает? Не нужно при дебаге ковыряться в выходе babel, который многое изменил, не нужны source map, после изменения файла нет необходимости ждать, пока закончится пересборка. И jsx в данном случае будет главной помехой… Есть ли альтернативы jsx?

Читать полностью »

Здравствуйте, уважаемые читатели. Сегодня мы хотели бы предложить вам перевод статьи о неизменяемости в современном JavaScript. Подробнее о различных возможностях ES6 рекомендуем почитать в вышедшей у нас замечательной книге Кайла Симпсона "ES6 и не только".
Читать полностью »

Вокруг полно JavaScript-фреймворков, библиотек и разнообразных инструментов. Что выбрать? Глядя на такое разнообразие, разработчику непросто ответить на этот вопрос.

image

По опыту знаю: первый шаг нового проекта, например, создания модуля или средства командной строки, заключается в настройке рабочего окружения. Некоторым этот шаг нравится, некоторые его терпеть не могут, но и у тех и у других предварительная подготовка часто занимает непозволительно много времени. Особенно, когда надо всё тщательно проверить и заставить все механизмы слаженно и стабильно работать вместе.
Читать полностью »

В октябре я ушел с работы и начал заниматься собственным проектом. На начальном этапе мое новое занятие занимает максимум четыре часа в день и только-только начинает покрывать расходы, до написания кода еще далеко, а накопления сгорают — хороший повод задуматься о временном фрилансе.

Почему я решил использовать Ionic 2

Полистав upwork я пришел к выводу, что мой горячо любимый angularjs стремительно уступает позиции своему преемнику. Довольно странное ощущение: еще вчера angular 2 был в бете и буквально за пару месяцев после релиза почти догнал своего монолитного предшественника в количетсве объявлений о разработке веб-приложений! В 22 года я почувствовал себя довольно старым и решил потратить время на то, чтобы снова догнать моду.

И тут начинается: webpack или system.js? Typescript или ES6? Promises или Observables? Что-то не так. Почитал, окончательно запутался. Но понял, что в 2016 про gulp уже лучше вслух не вспоминать — застыдят.

Собравшись с мыслями вспомнил о своем опыте работы с гибридными приложениями. Да, там было много боли и слез, но все же я с улыбкой вспоминал Ionic. А тут как раз вторая версия вроде как вполне стабильна. Ребята из ionic core team уже позаботились обо мне, выбрав за меня почти весь стек, настроив конфиги и предложив готовую структуру проекта. Это счастье — просто брать и писать код, а потом видеть результаты, держа в руках свой телефон. Загорелся и решил написать небольшое приложение и выложить его на github.
Читать полностью »

30 ноября в питерском офисе Wrike прошла первая встреча Dart-разработчиков в России.

Доклады первой встречи Dart-разработчиков в Питере - 1

Dart-сообщество в России пока не столь многочисленно, тем не менее разработчики языка из Google готовы поддерживать наших программистов, использующих Dart в своих проектах, развивать экосистему и рассказывать о самых последних изменениях. На митапе мы поняли, что язык вызывает живой интерес не только у фронтендеров, но и у тех, кто хочет уйти в веб-разработку, имея за плечами опыт в Java, C# или PHP.

С выходом Angular 2 for Dart и нескольких других обновлений язык получил новый толчок в развитии, поэтому нам было интересно собрать всех заинтересованных разработчиков обсудить новости языка, напрямую пообщаться с инженерами из гугла и, в частности, обсудить особенности перехода на дарт с типизированных и скриптовых языков.

Публикуем первую часть докладов с митапа.
Читать полностью »

Два месяца труда одним URL: ru.vuejs.org
Кроме того, переведена документация Vuex: vuex.vuejs.org/ru
Ожидает merge'а деплоя документация vue-router, появится здесь: router.vuejs.org/ru

Огромное спасибо Konojoto и всем остальным, кто помогал переводить и вычитывать документацию (полный список контрибьюторов см. на github.com/translation-gang)

Читать полностью »

Remote (dev)tools своими руками – интервью с Романом Дворновым (Авито) - 1

Remote (dev)tools своими руками – интервью с Романом Дворновым (Авито) - 2 Роман Дворнов (twitter) – руководитель фронтенд-разработки в Авито, автор basis.js, мейнтейнер CSSO, CSSTree, Component Inspector и не только. Роман работает над новым проектом, призванным упростить разработку инструментов удаленного мониторинга и отладки web-приложений.

Давайте узнаем, какие проблемы поможет решить проект Романа, и к чему он в итоге пришел.
Читать полностью »

КПДВ про нейронные сети

Нейронные сети сейчас в тренде. Каждый день мы читаем про то, как они учатся писать комментарии в интернете, торговаться на рынках, обрабатывать фотографии. Список бесконечен. Когда я впервые посмотрел на масштаб кода, который приводит это в движение, я был напуган и хотел больше не видеть эти исходники.

Но врожденные любознательность и энтузиазм довели меня до того, что я стал одним из разработчиков Synaptic — проекта фреймворка для построения нейронных сетей на JS с 3к+ звезд на GitHub. Сейчас мы с автором фреймворка занимаемся созданием Synaptic 2.0 с ускорением на GPU и WebWorker-ах и с поддержкой почти всех основных фич любого приличного NN-фреймворка.

В итоге оказалось, что нейронные сети — это несложно, они работают на достаточно простых принципах, которые несложно понять и воспроизвести. Самая трудная задача — это обучение, но для этого почти всегда пользуются готовыми алгоритмами, а скопировать их не очень сложно.
Доказать это просто. Ниже в статье реализация нейронной сети с нуля без каких-либо библиотек.

Читать полностью »

Мне хочется рассказать тебе о проблеме в нашем сообществе. Я участвовал во множестве открытых проектов, таких как Babel, Flow, Yarn, Lerna, и других. Как разработчик, мне посчастливилось стать частью самых лучших времён сообщества, равно как и худших.

К приятным воспоминаниям, я могу отнести приглашения на конференции по всему миру, путешествия в места, в которые никогда бы не представил что попаду и новые друзья из самых разных уголков земного шара. Своих лучших друзей я обрёл благодаря работе в открытых проектах.

Но боюсь, это не всё, с чем я сталкивался.
Читать полностью »

В старые добрые времена мы с Google PageSpeed Insights были на короткой ноге. Я — клепал дешевые шаблоны, Google — ставил высокую оценку за скорость их загрузки. Однако со временем многое поменялось, и хоть я по-прежнему клепаю дешевые шаблоны, Google начал вставлять мне палки в колеса.

Я думаю многие видели следующие комментарии в отчетах Google PageSpeed Insights:

  • Сократите CSS (HTML, JavaScript)
  • Используйте кеш браузера
  • Включите сжатие
  • Удалите код JavaScript и CSS, блокирующий отображение верхней части страницы

И если с первыми тремя пунктами проблем, как правило, не возникает, последний пункт меня поставил в тупик.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js