Как стать автором
Обновить
220.23
Рейтинг

JavaScript

Прототипно-ориентированный язык программирования

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

@teqfw/web: Сервисы

JavaScript

В предыдущей публикации я описал обработку статики web-плагином из своего набора инструментов для построения web-приложений, который я назвал Tequila Framework. В этой публикации я опишу, каким образом этот же плагин обрабатывает запросы к API-сервисам.


Для тех, кто ещё не в курсе — у меня несколько нестандартный подход к созданию приложений, я программирую на "чистом" JavaScript (ES 2015+) с использованием пространств имён, собственного DI-контейнера (@teqfw/di) и обильным применением аннотаций JSDoc вместо статической типизации TypeScript'а. Некоторые считают это "некошерным", а я считаю, что JS и TS — как два рукава реки. Где-то в будущем они опять сольются и, по большому счёту, всё равно, по какому рукаву плыть. Для меня на данный момент аннотации JSDoc дают основные преимущества статической типизации (контроль типов) и не влекут за собой необходимость транспиляции.



Под катом — пару подробностей, какой интерфейс сторонним плагинам предоставляет web-плагин для добавления API-сервисов в web-приложение, и как можно использовать одни и те же DTO на сервере и в браузере.

Читать дальше →
Рейтинг0
Просмотры139
Комментарии 0

Новости

Показать еще

Почему мы выбрали React Native для разработки мобильного приложения

JavaScriptРазработка под iOSРазработка под AndroidReactJS

На данный момент есть множество технологий с помощью которых можно создать собственное мобильное приложение и плохими многие из них назвать тяжело.

Перед тем как начать читать, предлагаю познакомиться с проектом и глянуть на мобильное приложение в Google Play или Testflight. А также подписаться на мой новый телеграм канал про разработку интерфейсов :)

Читать далее
Всего голосов 2: ↑0 и ↓2-2
Просмотры309
Комментарии 0

Дайджест свежих материалов из мира фронтенда за последнюю неделю №477 (12 — 18 июля 2021)

Разработка веб-сайтовCSSJavaScriptHTML
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Просмотры3.4K
Комментарии 0

Data Science на JavaScript без Python

Блог компании SkillFactoryJavaScriptПрограммированиеNode.JS
Перевод
Tutorial

Мы уже писали о том, как запустить Python в браузере, а сегодня к старту флагманского курса по Data Science расскажем, как привычные для Python задачи решаются на JavaScript. Если вы знакомы только с JS и хотите попробовать Data Science, не покидая зону комфорта, (или, наоборот, хотите познакомиться с JS), просто хочется необычных экспериментов или нужно интегрировать небольшую управляемую визуализацию о статистике на сайт, читайте подробности под катом.

Автор, переводом статьи которого о множестве Мандельброта мы уже делились в блоге, также включил ссылку на репозиторий polyglot_fit с решением задачи из сегодняшней статьи на других языках.

Читать далее
Всего голосов 6: ↑3 и ↓30
Просмотры3.1K
Комментарии 1

Опыт работы над проектом на базе Vue3 в 2021 году

JavaScriptVueJSTypeScript
Около полугода пришлось поработать над миграцией неработающего проекта на базе Vue 2 на проект Vue v.3.

Поскольку до сих пор работа с ним остаётся экзотикой, попробую описать состояние развития этого проекта в июле 2021 года, через 10 месяцев после релиза, и какие особенности встречались в этом не очень большом проекте в процессе миграции.

Будет интересно разработчикам и менеджерам, планирующим перевод проектов на Vue3, чтобы оценить трудоёмкость такого перехода. (TLDR — для перехода на Vue 3 сейчас многие фреймворки уже имеют свои версии с поддержкой Vue3. Сам переход особых трудностей не представляет, благодаря поддержке старого Options API и совместимости компонентов на разных API. Но вполне возможно, что время разработки увеличится за счёт ручной доработки отдельных компонентов, для которых авторы не написали версии поддержки. Какая-то значительная часть таких пакетов NPM имеется и останется, но нет проблем основываться на нативных версиях пакетов или написать части своего проекта по-другому, без использования старых пакетов. Активно поддерживаемые пакеты часто уже мигрировали и проблем не создают. Эту неопределённость каждого своего проекта необходимо вначале оценить и уметь писать компоненты.)
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Просмотры3.7K
Комментарии 5

Альтернативы Redux в 2021 году

Блог компании RUVDS.comРазработка веб-сайтовJavaScriptReactJS
Перевод
Предположим, вы создаёте или планируете создать React-приложение и вам нужен некий механизм для управления состоянием этого приложения. Если так — это значит, что вам есть из чего выбирать. В сфере инструментов для управления состоянием React-приложений, после её взрывного роста в 2014 году, наблюдается определённое спокойствие. Но в нашем распоряжении, несмотря на это, всё ещё имеется множество решений — от стабильных и проверенных временем, до сверхсовременных.

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



В этом материале мы рассмотрим несколько подходов к управлению состоянием React-приложений, применение которых позволит быстро создавать приложения, код которых будет понятным, которые будет легко поддерживать и тестировать.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Просмотры8.6K
Комментарии 56

RamblerMeetup&Frontend – уже 29 июля

Блог компании Rambler&CoВеб-дизайнCSSJavaScript

Каждый месяц новый митап! 

Готовьтесь к RamblerMeetup&Frontend. 29 июля эксперты в области frontend-разработки поделятся своим опытом и ответят на ваши вопросы.

Митап пройдет в онлайн-формате, начало в 19:00. Обязательна предварительная регистрация на Timepad.

Читать далее
Всего голосов 2: ↑1 и ↓10
Просмотры469
Комментарии 0

Расщепление монолита — пилотный опыт

PHPJavaScriptSymfonyHTMLReactJS

Без году неделя как я одним пятничным утром провел инсайд доклад для группы разработки в компании. Речь шла о довольно занимательном командном опыте ремастера проекта через применение множеств, в наше время, уже не новых практик и подходов, но ранее мне неизвестных.

После применения ряда рецептов я сравнил показатели производительности двух версий системы легаси и ремастера и был, мягко скажем, приятно удивлен. Такие подходы, как отделение слоя интерфейса от монолита, SPA и технологии прогрессивного рендеринга заставили меня взглянуть на разработку веб-продуктов совершенно иначе.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Просмотры2.4K
Комментарии 3

Изучай observable, создавая observable

JavaScriptAngularTypeScript
Из песочницы
Перевод

Эта статья — перевод оригинальной статьи Ben Lesh “Learning Observable By Building Observable”.

Ben Lesh рассказывает как создать свой observable и сравнивает его работу с observable из RxJs.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Просмотры1.9K
Комментарии 0

Первый доклад на конференции: плюсы, минусы, подводные камни? Интервью с ПК HolyJS

Блог компании JUG Ru GroupJavaScriptКонференции


Сколько раз ты сам, %username%, задумывался о том, чтобы выступить в качестве спикера? Хотя бы раз такое наверняка было. Но что-то тебя тогда остановило.


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


Основная точка входа — программный комитет: именно они отбирают заявки на участие в конференции, общаются с будущим спикером и вообще отвечают за то, что и в каком виде услышат участники. Поэтому о том, что стоит знать начинающему, мы расспросили участников ПК HolyJS. Они рассказали, что происходит с докладом в процессе обработки, чем они могут помочь спикеру и чего точно НЕ надо делать, когда хочешь выступить на конференции. Где-то их мнения разошлись, но так даже интереснее.

Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Просмотры755
Комментарии 1

Webpack Module Federation — микрофронтенд на современных технологиях

Блог компании NetcrackerJavaScriptAngularReactJSМикросервисы

Привет, Хабр! В Netcracker мы уже давно используем микрофронтендную архитектуру, и с 2017 года начали разрабатывать собственный платформенный инструмент построения микрофронтендов.

Недавно на митапе мы показывали, как делать сложные приложения, разрабатываемые разными командами в разных релизных циклах и даже технологиях. В режиме live coding соединили Angular, React и Vue в одном SPA. Было много вопросов про Webpack Module federation. Поскольку мы уже переходим на этот фреймворк, здесь мы поделимся наработками, как сделать Angular host application + React/Angular/Vue microfrontends с возможностью независимого версионирования зависимостей.

Давайте рассмотрим на рабочем прототипе!
Всего голосов 6: ↑6 и ↓0+6
Просмотры3.7K
Комментарии 6

@teqfw/web

JavaScript

Продолжаю описание своего видения того, какими могли бы быть web-приложения в нынешнее время. У меня не очень популярная точка зрения — предпочитаю чистый JavaScript (ES 2015+) на клиенте (браузер) и сервере (nodejs) и совсем не приемлю транспиляцию (даже из JS в JS для поддержки старых браузеров). Я назвал набор инструментов, разрабатываемый мной для создания таких приложений, "Tequila Framework". Просто потому, что мне нравится пустыня, кактусы и префикс "teq-".


В предыдущей публикации я показал пример практического использования пространств имён при создании консольных команд с помощью плагинов @teqfw/di и @teqfw/core. В этой статье я опишу использование плагина @teqfw/web для добавления в приложение web-сервера и предоставление доступа к статическим ресурсам приложения, в том числе и к файлам в каталоге ./node_modules/.


Читать дальше →
Всего голосов 2: ↑1 и ↓10
Просмотры1.1K
Комментарии 0

Идеальный инструмент для работы с СУБД без SQL для Node.js или Все, что вы хотели знать о Sequelize. Часть 3

Разработка веб-сайтовJavaScriptПрограммированиеNode.JS

Доброго времени суток, друзья!


Представляю вашему вниманию руководство по Sequelize.


Sequelize — это ORM (Object-Relational Mapping — объектно-реляционное отображение или преобразование) для работы с такими СУБД (системами управления (реляционными) базами данных, Relational Database Management System, RDBMS), как Postgres, MySQL, MariaDB, SQLite и MSSQL. Это далеко не единственная ORM для работы с названными базами данных (далее — БД), но, на мой взгляд, одна из самых продвинутых и, что называется, "battle tested" (проверенных временем).


ORM хороши тем, что позволяют взаимодействовать с БД на языке приложения (JavaScript), т.е. без использования специально предназначенных для этого языков (SQL). Тем не менее, существуют ситуации, когда запрос к БД легче выполнить с помощью SQL (или можно выполнить только c помощью него). Поэтому перед изучением настоящего руководства рекомендую бросить хотя бы беглый взгляд на SQL. Вот соответствующая шпаргалка.


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


Первая часть.
Вторая часть.


Я постараюсь быть максимально лаконичным (надеюсь, без ущерба для полноты изложения материала). Я также постараюсь излагать материал максимально простым языком. Большинство примеров, приводимых в руководстве, заимствованы из официальной документации.

Читать дальше →
Рейтинг0
Просмотры1.4K
Комментарии 0

Как написать пассивный доход: Пишем качественного трейд бота на JS (часть 2)

JavaScriptNode.JSКриптовалюты

Всем хочется получать пассивный доход. Поэтому и пришла идея написать правильного бота, способного зарабатывать на бирже. Как это сделать? К вашему вниманию подробный туториал (Часть 2)

Читать далее
Всего голосов 9: ↑3 и ↓6-3
Просмотры5.8K
Комментарии 15

Взрослый back-end на node.js возможен?

Блог компании ДомКликJavaScriptNode.JSTypeScript

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

Хочу обратить ваше внимание на относительно молодой фреймворк Nest.js. Из коробки он предлагает заранее предопределенную архитектуру, которая заточена под максимально удобную поддержку и масштабируемость вашего приложения. Заложенные архитектурные подходы проверены временем и давно используются в других, более зрелых платформах: Java(Spring), Python(Django), PHP(Laravel) и прочих.

Авторы Nest.js не скрывают, что их вдохновил один из популярных фреймворков для клиентских приложений — Angular.js, а его авторы ориентировались на походы, используемые в Java и C#. Если вы знакомы с Angular.js, то увидите в Nest.js много схожих идей.

Читать далее
Всего голосов 48: ↑44 и ↓4+40
Просмотры14K
Комментарии 33

От DBA и работы в стартапе до Vue.js Core team member и Staff Frontend Engineer в GitLab: история Натальи Теплухиной

Блог компании Headz.ioJavaScriptКарьера в IT-индустрииVueJSИнтервью

Наташа Теплухина — Open Source контрибьютор, автор документации для фреймворка Vue.js, и Staff Frontend Engineer в GitLab. Путь Наташи в индустрии начался с «Факультета информационных технологий» Национального авиационного университета Украины в Киеве, она занималась 8 лет системным администрированием, работала в маленькой студии-стартапе с WordPress и Pixel Perfect вёрсткой, а сейчас она первый Staff-инженером во фронтенде в GitLab. 

Мы расспросили Наташу как она решила заниматься Computer Science, почему начала изучать JS, какова роль участия в Open Source проектах в развитии разработчика и почему переехала в Нидерланды. А также, как проходил отбор в GitLab и о его особенностях, о прозрачности и отсутствии культуры наказаний и как она стала первым Staff-инженером во фронтенде в компании.

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Просмотры2.1K
Комментарии 2

Redux Vs Vuex. Часть 1

Блог компании TimewebРазработка веб-сайтовJavaScriptПрограммирование


Доброго времени суток, друзья!


Предлагаю вашему вниманию результаты небольшого исследования, посвященного сравнению Redux и Vuex.


Введение


Redux и Vuex — это библиотеки для управления состоянием React и Vue-приложений, соответственно. Каждая из них по-своему реализует архитектуру для создания пользовательских интерфейсов, известную под названием Flux.

Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Просмотры4K
Комментарии 3

@teqfw/core

JavaScript

Эта статья не о том, как нужно писать приложения на JavaScript'е. Эта статья о том, как можно писать приложения на JavaScript'е. В прошлой публикации я описал свой "велосипед" — DI-контейнер @teqfw/di. В этой я покажу, каким образом его можно применять для создания консольных приложений.


Сразу отмечу, что речь идет о "чистом" JavaScript (ECMAScript 2015+ aka ES6+). Я признателен авторам TypeScript за то влияние, которое он оказал на развитие JS, но считаю, что в 2021-м году отличия TS от JS не столь драматические, как это было в году 2012-м, и не вижу для себя смысла использовать TS там, где достаточно JS. Если вы считаете по-другому и имеете острое желание высказать своё мнение, то можете сразу переходить к комментам, пропустив саму публикацию.


Те же, кому интересно, как же всё-таки в JS-приложении может использоваться "логическая адресация" элементов кода (пространства имён) вместо "физической" (файловая система) — добро пожаловать под кат.


Читать дальше →
Всего голосов 4: ↑2 и ↓20
Просмотры2K
Комментарии 0

Делаем собственные курсоры для сайтов

Блог компании RUVDS.comРазработка веб-сайтовJavaScript
Перевод
Tutorial
Существует множество способов обогащения визуальных впечатлений, которые вызывает у пользователей креативный веб-сайт, множество способов перевода существующего статического дизайна на новый уровень. В частности, речь идёт об оснащении сайтов интерактивным функционалом. А здесь мы исследуем один из способов реализации такого функционала через разработку собственного курсора (указателя мыши) для сайта, представляющего собой независимый элемент пользовательского интерфейса. Это — элемент интерфейса, который будет не только интерактивным и визуально привлекательным, но и полезным с практической точки зрения. Мы уделим особое внимание примерам кода, которые дадут всем желающим возможность расширить те базовые вещи, которые мы рассмотрим, и сделать собственный качественный курсор для сайта.


Пользователь взаимодействует со страницей сайта 14islands.com с использованием собственного курсора этого сайта
Читать дальше →
Всего голосов 32: ↑27 и ↓5+22
Просмотры4.9K
Комментарии 18

Вклад авторов