Как стать автором
Обновить
0

Meteor.JS *

Веб-платформа на языке JavaScript

Сначала показывать
Порог рейтинга
Уровень сложности

Как мы создаем Squadus: проблемы фронтенда и пути их решения

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 3.6K

Мы продолжаем рассказывать о разработке недавно вышедшего продукта.

Squadus — это единое цифровое рабочее пространство, которое позволяет общаться в чатах, совместно работать над документами, проводить конференции и автоматизировать типовые действия с помощью ботов. Помимо функциональности, мы много внимания уделяем комфорту пользователя: тщательно прорабатываем логику взаимодействия с приложением, подбираем оптимальные инструменты и компоненты для реализации интерфейсов.

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

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Комментарии 2

Новости

Рассказываем о пользе и вреде FullStack-фреймворков на примере Meteor.js

Время на прочтение 6 мин
Количество просмотров 9.1K

В последнее время появляется довольно много Fullstack-фреймворков, они становятся популярны, их обсуждают.

Если посмотреть на результаты The State of JS 2021 в разделе «Библиотеки — Бэкенд-фреймворки», то минимум 5 из них (возможно, больше) будут как раз FullStack. Отсортировав бэкенд-фреймворки по заинтересованности, в самом верху списка мы снова увидим именно FullStack. Это понятно — они востребованы и лежат в основе разных проектов.

Однако на наш взгляд, область их применимости несколько ограничена. Почему — объясняем под катом.

Читать далее
Всего голосов 66: ↑61 и ↓5 +56
Комментарии 22

Боевой полет на Meteor-e

Время на прочтение 5 мин
Количество просмотров 11K
Обсуждение тем по Метеору редко встретишь среди русскоговорящих (судя по каналу в телеге и паблике вк, Хабр). Обмен опытом возможен, но по большей части на официальном форуме метеора.

На Хабре уже давно не было статей по Метеору, поэтому хотелось бы поделиться нашей историей.



Расскажу про наш проект, как мы пришли к Meteor и как на нем летаем. Постараюсь не углубляться в детали или очень специфические вещи — их оставлю на обсуждение, либо отдельную статью.
Читать дальше →
Всего голосов 16: ↑8 и ↓8 0
Комментарии 5

Или Meteor

Время на прочтение 2 мин
Количество просмотров 11K

React без Redux, как водка без пива — деньги на ветер. Если React решает вопрос "интерфейс — функция состояния", то Redux предлагает архитектуру движения данных в приложении. Но вот незадача, что выбрать для взаимодействия с бекендом? В случае с REST-API, можно дергать Fetch, или взять чуть более функциональный Axios. Для WebSocket-ов есть Socket.io (крайне рекомендую к прочтению). А какие могут быть инструменты уровнем повыше? Реализация транспорта данных между фронтeндом и бекендом — не наша печаль.

Читать дальше →
Всего голосов 21: ↑12 и ↓9 +3
Комментарии 11

Истории

Обзор 5 самых популярных JavaScript фреймворков и библиотек 2017

Время на прочтение 5 мин
Количество просмотров 97K
Популярность JavaScript продолжает расти. В 2016 году мы стали свидетелями больших изменений с выходом полного апгрейда AngularJS и анонсом Angular 2, окончательного первенства jQuery, который применяют в 96,5% всех сайтов, эволюции ECMAScript, двух обновлений Node.js в апреле и октябре соответственно, и даже более того. Чего ожидать от 2017 года? Вот то, что мы знаем к этому времени: Angular 4 ожидается в марте 2017, выпуск ES2017 планируется в середине 2017, релиз Bootstrap v4 также ожидается в этом году.



Недавно JavaScript занял место среди лучших языков для изучения по версии IBM в 2017 году. На данном этапе он используется, как для клиентской, так и для серверной части и помогает проектировать привлекательные интерфейсы, обогащать веб-приложения многочисленными функциями и фичами, изменять веб-страницы в реальном времени и много другое.
Читать дальше →
Всего голосов 65: ↑37 и ↓28 +9
Комментарии 72

Javascript-фреймворки: должен остаться только один

Время на прочтение 24 мин
Количество просмотров 57K

Сергей Аверин ( XEK )


Сергей Аверин

Изначально я хотел сделать доклад про сравнение фреймворков, но потом подумал, что закидают помидорами, поэтому доклад — просто адский троллинг, как водится у меня. И он, скорее, не про HighLoad, а про менеджерскую задачу, которая стоит над всем этим делом, включая фронтенд.

Про что же, все-таки, получился доклад? Доклад про то, как выбирали новый фреймворк, почему выбирали, и какие задачи решали.
Читать дальше →
Всего голосов 103: ↑93 и ↓10 +83
Комментарии 184

MongoDB Replica Set и OpLog на одном сервере

Время на прочтение 5 мин
Количество просмотров 13K

Пример настройки MongoDB с закрытым доступом через сеть Интернет. В данной статье приведен пример разворачивания трех Replica Set и активацией OpLog на одном сервере. OpLog необходим "реактивным" приложениям, которые следят (слушают) за изменениями в MongoDB, например для приложений на основе Meteor (для отключения long-polling'а).

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

Отпусти меня, Meteor

Время на прочтение 4 мин
Количество просмотров 11K

Непросто отказываться от иллюзий, но пришла пора подвести черту. Может кому-то сгодится на распутье выбора. Ну и внукам потом буду показывать. Этой истории уже 20 лет. Краткое содержание: фреймворки — больше никогда; выход есть.


Будущее

Читать дальше →
Всего голосов 73: ↑22 и ↓51 -29
Комментарии 27

Meteor + CSS-Modules + SugarSS

Время на прочтение 2 мин
Количество просмотров 6.1K

Котаны!


Вы знаете про Meteor? Ну да — странный вопрос.


Вы знаете про CSS-Modules? Прощай БЭМ.


Вы знаете про SugarSS? Прощай SASS.


Перец из Техаса сегодня принял мой pull-request. И всем этим счастьем теперь можно пользоваться. CoffeeScript, Jade, SugarSS — полный комплект для кошерного кода.

Читать дальше →
Всего голосов 13: ↑4 и ↓9 -5
Комментарии 37

Meteor + MVVM = ❤

Время на прочтение 2 мин
Количество просмотров 15K

Тут мелькнула статья, как чувак, выбирая инструментарий, ничего не мог написать. Это про меня! Под Новый год нашёл ViewModel.org. А внутри прекрасный Two-Way Binding. Но не проходит ощущение ящика в гараже, заваленного гаечными ключами вперемешку с "лишними" деталями. Наглядный пример, как в собственной же демке пришлось ввернуть костыль, гы-гы. И я застрял на четыре месяца — хобби по вечерам после работы. Перебрал все пакеты, хоть как-то полезные для Blaze. Приставал к авторам с мольбами… Собрал в итоге новый велосипед с громким именем Template2.


Очень сложно сделать просто, как известно. Зацените:

Читать дальше →
Всего голосов 19: ↑12 и ↓7 +5
Комментарии 6

Создание RESTful сервисов на Meteor

Время на прочтение 5 мин
Количество просмотров 15K

Введение: Зачем нужен RESTful сервис на Meteor


Meteor привлекает простотой использования и возможностью очень быстро создать работающее приложение с минимальным набором функций. У Meteor — хорошо развитое сообщество. Есть множество полезных дополнительных модулей, которые не требуют сложной настройки, и могут быть использованы сразу после установки. Есть хорошая документация, примеры и большое количество постов на форумах, вроде StackOverflow. Meteor — это full-stack фреймворк, который предлагает удобную и многофункциональную интеграцию сервера с клиентом. Так зачем же выходить за рамки этого взаимодействия, и создавать RESTful сервис?

Клиент-серверное приложение, по-сути, состоит из 2 независимых частей, которые взаимодействуют посредством определенного интерфейса. При этом каждая из частей клиент-серверного приложения может создаваться разными людьми или командами. Разработчики клиенсткой части вовсе не ограничены использованием Meteor, они могут использовать любой другой JS фреймворк, клиент даже не обязательно должен быть написан на JS, это может быть к примеру приложение Android, написанное на Java, или iOS, написанное на Objective C.

Именно эти причины заставили меня выбрать Meteor для построения back end в моем проекте, и искать пути для создания RESTful сервиса на Meteor.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 6

Новая конференция для всех, кому интересен JavaScript

Время на прочтение 2 мин
Количество просмотров 7.3K


Всем привет.

5 июня мы вместе с SPb Frontend проведем в Питере большую конференцию по JavaScript во всех его проявлениях: клиентский и серверный, библиотечный и сам-по-себе, олдскульный и авангардный.

Конференция называется HolyJS (неплохо, правда?).

Сайт конференции: http://holyjs.ru

Докладов будет около 20, параллельных залов — 3.

Среди подтвержденных докладов:
  • Известный технический блогер, фанат Clojure и автор DataScript Никита tonsky Прокопов сделает доклад о том, как организовать работу с состоянием и данными приложения в условиях распределенности, плохой связи и сложной структуры;
  • Легенда ASP.NET Дино Эспозито объяснит о том, как аккуратно (умнее, чем через user agent) определять клиентские устройства, чтобы адаптировать под них UI/UX;
  • Руководитель фронтенд-разработки в Avito и автор basis.js Роман Дворнов сделает доклад о CSSO — инструменте для минификации CSS;
  • Виктор Грищенко расскажет про Swarm — инструмент для синхронизации данных между разными устройствами;
  • Денис Мишунов расскажет о психологических и технических приемах и примерах, позволяющих управлять восприятием пользователя и помогают сделать ваш сайт «быстрым» в юзерском понимании.

Читать дальше →
Всего голосов 18: ↑14 и ↓4 +10
Комментарии 23

Лёгкий деплой Meteor-приложения на собственный сервер

Время на прочтение 2 мин
Количество просмотров 14K
Вы можете делать всё, что вам нужно, с помощью Meteor, и вы можете делать это легко. Такой подход вдохновил разработчиков на добавление команды meteor deploy, которая должна была волшебным образом закрыть все потребности в развёртывании приложений. Но не закрыла.

meteor deploy работает, только если вы используете облачное решение Galaxy (от 0.035 $ в час) или бесплатный хостинг на Meteor.com (который закрывается уже 25 марта).

Запустить приложение на своём сервере можно: нужно собрать его под выбранную платформу, отправить на сервер и запустить как обыкновенное Node.js-приложение. Правда, вместо запуска посыпятся сообщения об ошибках. Чтобы всё прошло хорошо, важно использовать правильную версию Node.js. Вот гарантированно работоспособная инструкция.
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 31

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн

По стопам Meteor, или велосипедируем реактивность

Время на прочтение 4 мин
Количество просмотров 18K

Доброе время суток, хабраюзер! Сегодня мы попытаемся немного разобрать реактивность, которая лежит в основе одного из самых хипстерских фреймворков — Meteor.

Для начала приведем немного сухой теории из Википедии:
Реактивное программирование — парадигма программирования, ориентированная на потоки данных и распространение изменений. Это означает, что должна существовать возможность легко выражать статические и динамические потоки данных, а также то, что выполняемая модель должна автоматически распространять изменения сквозь поток данных.

К примеру, в императивном программировании присваивание a = b + c будет означать, что переменной a будет присвоен результат выполнения операции b + c, используя текущие (на момент вычисления) значения переменных. Позже значения переменных b и c могут быть изменены без какого-либо влияния на значение переменной a.

Сразу оговорюсь, что данный пост нацелен больше на садистов новичков, нежели на матерых JS-гуру.

* велосипедируем — пишем свой велосипед, подглядывая на уже готовую реализацию.
Читать дальше →
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 19

Разработка браузерной онлайн игры на meteor

Время на прочтение 10 мин
Количество просмотров 58K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Последние полгода занимался разработкой многопользовательской космической браузерной стратегии. На текущий момент мы уже находимся на стадии закрытого бета тестирования (доступного для вложившихся) и запустили компанию на бумстартере.



В этом посте хочу рассказать про процесс разработки игры с нуля силами двух человек.
Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Комментарии 84

Поддержка PostgreSQL в Meteor

Время на прочтение 2 мин
Количество просмотров 10K



В популярной платформе для быстрого создания веб-приложений скоро появится официальная поддержка SQL. Ранее разработчики неоднократно отказывались это делать, мотивируя тем, что SQL не вписывается в философию проекта. Однако, настойчивость сообщества сделала своё дело и уже сейчас вы можете попробовать предварительную реализацию поддержки SQL в Meteor. Все подробности — под катом!
Читать дальше →
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 4

5 причин для Angular-разработчиков в пользу использования Meteor

Время на прочтение 3 мин
Количество просмотров 31K
image

Если вы еще не слышали о Meteor, то как раз пришло время для знакомства. Meteor обеспечит вас поддержкой real-time режима в ваших приложениях, а также предоставит full-stack среду разработки под javascript/nodejs. Эта платформа является наиболее «звездной» в числе nodejs-фрейворков(а также входит в 10-ку самых «звездных» репозитариев на Github). Так что же, все эти людей просто ошибаются?
Читать дальше →
Всего голосов 16: ↑12 и ↓4 +8
Комментарии 15

Пишем систему инвайтов (приглашений) для своего Meteor-приложения

Время на прочтение 17 мин
Количество просмотров 11K
Привет.

Сегодня я попробую рассказать, как написать простенькую, но вполне рабочую систему Email-приглашений для своего Meteor приложения.

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

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

Итак, наш пример будет уметь:
1) Отображать интерфейс приглашений включая список существующих приглашений и форму для отправки нового;
2) Сохранять все приглашения в базе данных;
3) Следить за статусами приглашений;
4) Отправлять приглашения на email;
5) Следить за ролями пользователей;
6) Активировать приглашения новых пользователей;
7) Использовать кучу сторонних модулей.

Внимание: Пример будет рассмотрен на основании живого проекта, так что просто скопировать и вставить его к себе, вероятно, не получится…
Читать дальше →
Всего голосов 10: ↑6 и ↓4 +2
Комментарии 3

Три состояния пользователя (web-разработка)

Время на прочтение 3 мин
Количество просмотров 18K
Снижаем количество вычислений и продлеваем жизнь мобильного устройства. Допустим, у пользователя открыта страница сайта на которой воспроизводится видео, проигрывается музыка, запущено приложение с 3d-графикой, но в данный момент он не смотрит на нее пользуется другим приложением, просматривает другую вкладку в браузере, или отвлекся на телефонный разговор и т.д., долгом разработчика является улучшить UX и/или продлить жизнь мобильного устройства пользователя.
Читать дальше →
Всего голосов 16: ↑11 и ↓5 +6
Комментарии 9

Двух-факторная аутентификация в Meteor.js

Время на прочтение 10 мин
Количество просмотров 9.1K
В течение какого-то времени мне довелось работать в стартапе. В качестве бэк-энда (и фронт-энда) мы использовали Meteor.js. В какой-то момент мы столкнулись с необходимостью реализации двух-факторной аутентификации. В этой статье я бы хотел рассказать т том, как реализовать эту фичу в Meteor.js.

Под катом вы не найдете ни одного скриншота/картинки, зато увидите весь код, необходимый для реализации.
Читать дальше →
Всего голосов 17: ↑13 и ↓4 +9
Комментарии 0

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