• Meteor.js расцветает или чахнет?

    PQR
    @PQR
    Не согласен с предыдущим оратором (@geeek), в частности с утверждением
    В общем если хочешь быть в тренде - бери
    - Meteor совсем не в тренде.

    Если дать краткий и резкий ответ на вопрос "расцветает или чахнет?" - отвечу: интерес к Meteor чахнет, не смотря на все усилия команды разработки.

    Компания MDG (Meteor Development Group) подняла $31M инвестиций (https://www.crunchbase.com/organization/meteor) и хотела всё сделать круто, стать мейнстримом, а потом зарабатывать на хостинге Meteor проектов - такой план монетизации. Хостинг они, кстати, сделали. И в какой-то момент было много хайпа вокруг Meteor, казалось, что всё идёт по плану. Полтора года назад вышел Meteor 1.0 (октябрь 2014), потом была пара хороших релизов, которые убрали всю "сырость": Meteor 1.1 и 1.2.

    Но в середине 2015 стало понятно, что никаким мейнстримом они не стали, мейнстрим нынче React!
    Не смотря на простоту старта и скорость разработки с Meteor, были очевидны следующие минусы:

    1. Собственная система пакетов со своим центральным репозиторием https://atmospherejs.com - посмотрите на счётчики скачивания пакетов, это крохи по сравнению с npm. Посмотрите на активность разработки основных пакетов - всё очень тухленько.

    2. Собственная система сборки. С одной стороны всё работает из коробки, с другой стороны в неё не вклинишься (это сложно). Плюс всякие странные условности, что всё в глобальном пространстве имён и ваши js файлы загружаются в алфавитном порядке. В Meteor 1.3 частично решили проблему, ходят слухи, что в будущем будут использовать webpack.

    3. Собственный шаблонизатор blaze (похож на handlebars). В начале blaze выглядел хорошо, но теперь все внезапно пишут на React и многие потирают руки в ожидании Angular 2, в итоге blaze оказался ещё один велосипедом, с которым не понятно что делать.

    4. На бекенде всё ещё Node 0.10. Даже с Node 0.12 Meteor уже не работает из-за некоторых бинарных зависимостей! Обещали в будущих версиях обновиться с поддержкой Node 4.

    5. Метеор сильно завязан на MongoDb. Чтобы реактивно доставлять новые/изменившиеся данные от сервера в бразуер они парсят логи Mongo. Были попытки сделать аналогичное для SQL баз, но не увенчались успехом. В итоге встречайте их новый проект Apollo, который поверх GraphQL и не привязан к конкретной реализации бекенда www.apollostack.com А что теперь будет со старым добрым DDP?

    6. Ваше Meteor приложение одной командой можно упаковать в мобильное приложение Cordova - выглядит круто, но сейчас время ReactNative и вот мы читаем обсуждения на форумах, что возможно, они таки интегрируются с ReactNative, но когда?

    Подводя итог: ребята из MDG подняли кучу денег и хотели сделать всё сами: свои пакеты, свою сборку, свой шаблонизатор, свой реактивный протокол (DDP) и чтобы всё работало из коробки. И они сделали это!

    Только это оказалось никому не нужно, т.к. для пакетов все сидят на npm, сборка должна быть гибкой (и поэтому у нас есть gulp и webpack), самый модный шаблонизатор нынче - это React, реактивный протокол GraphQL и базы на сервере люди любят разные, а не только MongoDb. А Meteor, по сути, остался на обочине всей экосистемы и движухи вокруг JavaScript. Поняв это, MDG начали двигаться в сторону JS комьюнити и первый шаг сделан: Meteor 1.3 поддерживает нормальные модули ES2015, npm пакеты, рендринг через React и Angular. Но Meteor 1.3 - это куча костылей поверх старого велосипедного Meteor. Почитайте их планы на будущее в официальном блоге, хотя бы в этом посте: info.meteor.com/blog/announcing-meteor-1.3 - им по сути предстоит переписать всё заново! И первые ласточки такого "переписывания" - это выделение проекта Apollo.

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

    Сейчас можно взять Meteor и эффективно зарабатывать на маленьких/средних фриланс проектах, когда нужно сделать быстро и не думать о долгосрочной поддержке.
    Если же вы делаете большой продукт, то вас ждут большие потрясения и изменения в экосистеме Meteor.
    Ответ написан
    4 комментария
  • Какие преимущества фриланс имеет над работой в офисе?

    Ronnie_Gardocki
    @Ronnie_Gardocki
    Я у мамы фронтендщик.
    Описываю по себе:
    1) Возможность создать свой собственный режим сна. Для меня вставать в 8-9 утра это настоящая боль. Уже год+ засыпаю между 3-4 часами ночи и просыпаюсь между 11-12. То есть абсолютно всегда сплю свою норму в 8 часов, для того чтобы чувствовать себя нормально и не пить никаких кофе.
    2) Отсутствие временных/моральных/физических затрат на дорогу до работы. Конкретно мне жаловаться не приходилось, ибо первое место работы было в 10 минутах ходьбы от дома, но вот люди в больших городах от этого явно страдают.
    3) Возможность жить и работать так, как это удобно ТЕБЕ. Вот сижу я днем, дописал только-что какой-то кусок проекта и смотрю в окно, а там солнышко светит и птички поют. Ну я беру и иду бегать на стадионе. И это все происходит в 2 часа дня. А что в офисе? Ходить проветривать мозги на улицу на официальных перерывах? А если заработался и пропустил перерыв, то что? Во многих компаниях придется сидеть дальше тупить.
    4) Возможность работать тогда, когда это наиболее удобно и эффективно для тебя. Один из самых важных пунктов. В офисе пришел и сидишь 8-часовой рабочий день. И ты же не можешь подойти к начальнику и сказать, что у тебя сейчас мозги не работают, и тебе бы хотелось свалить домой вообще. Ну может 1-2 раза отпустят, а что делать если тебя в каждый второй день после обеда парализует на пару часов? Будешь в итоге сидеть и накручивать спагетти-код на вилку. А потом его рефакторить, матерясь. Мне вот например ночью нравится работать, но где вы видели офисы, в которых вам позволят одну половину дня работать там, а другую ночью дома?
    5) Отсутствие привязанности к каким-то предпочтениям фирмы. Вот попали вы в веб-студию, делающую сайты на битриксе. И представим чисто теоретически что вам там платят нормальные деньги. А дальше что? Ну полгода вы попилите магазинчики. А потом еще полгода. И еще. Ну конечно не везде так уныло, но своих "особенностей" хватает во всех компаниях.
    6) Отсутствие видимого потолка по заработку. В стандартной компании вас посадят на оклад, +небольшие премиальные если вся команда в сроки будет сдавать проект например и нарисуют вам роадмап, по которому вы будете строить планы на жизнь. Аля "через полгода сдам 7 проектов и меня повысят, увеличив зп на 15%". А потом в один прекрасный вечер после работы вы сядите изучать что-то интересное дома. И будете изучать недели-месяцы. И вот приходите вы однажды на работу, с кучей новых знаний, а у вас в голове стойкое ощущение того, что сейчас вы достойны не то что этой прибавки в +15%, а вы на все 30% тяните. Но вам никто этого не даст. Просто потому-что обычные офисы живут по другим правилам.
    Ответ написан
    11 комментариев
  • Как объективно протестировать производительность node.js и PHP в запросах к mysql БД?

    Как у нас на пхп. Пишешь строчки, выполняет по порядку. Сделал до конца одно, дальше. Как у нас с нодежс. Пишешь строчки и тоже по порядку, но не по такому порядку, как в php. К примеру у нас 2 обращения к базе. Они тоже будут идти по порядку, но почти одновременно, так как сразу после первого обращения к базе он не дожидаясь ответа обратится второй раз. Дожидаться ответа он уже будет в callback функции к обращению.

    PHP - спокойный тип, который спокойно выполняет задачи и не запутывается. Nodejs - карьерист амфетаминщик, который в любое свободное время (к примеру, пока ждет ответа от той же базы) будет выполнять другие свои обязанности.
    Ответ написан
    Комментировать
  • Есть ли фриланс ближе к 30?

    @Insayt
    Сам пришел в IT из совершенно другого мира. Последние 2 года зарабатываю этим на хлеб. Скажу вам честно - первый год, как минимум, будет очень тяжко. Особенно если нет профильного образования (работодатели очень цепляются за отсутствие "корочки"). Но если есть желание - все получится. Я в свое время осознал, что мне ближе frontend и создание крутых интерфейсных решений.
    По фронтенду путь роста сейчас весьма прозрачный:
    1) HTML5 знать на зубок (семантика - важная штука :) )
    2) CSS + любой препроцессор (сейчас без них уже никуда)
    3) JS + любой фремворк/библиотека, для структуризации кода (хотя для начала достаточно прочесть пару книг по нативному JS, и взяв jQuery - поклепать своих плагинчиков. Все таки типичные веб проекты не подразумевают под собой сложной логики на клиенте)
    4) Сборщики. Есть Gulp, Grunt, Branch и еще много всяких интересных штук. Очень хорошо помогают избавится от рутины.
    5) Любовь к тому что вы делаете :)

    Мой вам совет автор - если сейчас есть пассивный заработок, и есть возможность попробовать - я бы на вашем месте попробовал. Дело такое, что жизнь у нас одна, и что бы счастливо ее прожить - надо делать то, к чему стремится ваше сердце. И если вы будете упорным на этом пути - деньги, положение и все остальное, со временем придет.
    Желаю удачи :)
    Ответ написан
    2 комментария
  • Есть ли фриланс ближе к 30?

    @tef
    У вас список нацеленный, что бы делать сайты, недорого, без рекламы и смс...
    Про руби был тут хороший совет. Не нужно вникать в миллиард фреймворков и каждый раз учиться программировать заново. Сэкономите много нервных клеток.
    Если нужно то, что в мейнстриме называется front-end то, это html/css/js. Те кто повторяют шарманку про то, что в javascript низкий уровень вхождения, по-моему несут бред. Как задать условие или пульнуть цикл или рекурсию можно понять за пару дней на любом языке. Как сделать то, что вам нужно и при этом не повырывать из головы все волосы, это совсем другое.
    Ответ написан
    Комментировать
  • С чего начать разработку сайта?

    globuzer
    @globuzer
    gezgrouvingus progreszive ombusgrander greyderzux
    идея->ТЗ->проектные решения->прототипирование->реализация (код, дизайн, верстка)->корректировка->тестирование и отладка->публикация
    Ответ написан
    Комментировать
  • Стоит ли переходить с Win 7 на Linux-системы, если занимаешься в основном только разработкой на PHP?

    DevMan
    @DevMan
    Если ничего не держит на win, то переходить (хотя я бы смотрел в сторону OSX).
    Если держит, то vagrant - лучшее решение.
    Ответ написан
    4 комментария
  • Какими профессиональными навыками должен обладать Linux-сисадмин-фрилансер?

    @koders
    инженер
    Немного скажу про сисадмина-инфраструктурщика (есть еще администраторы, которые занимаются прикладным ПО).
    Про дистрибутивы - самые распространенные: RHEL/Centos, Debian/Ubuntu, SLES.
    ПО: как минимум apache/nginx, mysql/MariaDB, PostgreSQL, Oracle,( глубокий знаний не требуется, но на уровне установить ( включая кластерный режим), настроить бекап, восстановить базу и тд.) в идеале что-нибудь из NoSQL( напримерCassandra), как миниму один ftp/dhcp сервер, bind(dns).
    Неплохо знать как минимум одну из платформ виртуализации (например KVM).
    Знать средства резервного копирования (например bacula).
    По прикладному ПО - базовые знания CMS для сайтов (Joomla, Wordpress, Opencart etc). (на уровне поставить/настроить).
    Умение писать скрипты :)
    Google mastery >5 по 10-бальной шкале :)
    Если есть цель брать крупные заказы у средних-больших компаний, то здесь поможет умение грамотно писать/читать документацию ( как ориентир ГОСТ34).
    Ответ написан
    4 комментария
  • Web-разработка. Уровень погружения в язык программирования: PHP vs JavaScript. Где "глубже"?

    @iliyaisd
    Очень зависит от того, разработка чего ведётся. Сегмент (b2b/b2c), не-/нагруженное, сайтик/веб-приложение/интернет-магазины/большой портал... И так далее. Из общего можно выделить:

    - sql, как вы сказали - напрямую к РНР не относится, но знать его и СУБД точно придётся (в основном, MySQL, PostgreSQL, иногда Oracle, MSSQL).
    - фреймворки - для любой более-менее серьёзной разработки. Наиболее распространённый зоопарк: Yii/Yii2, Symfony2, Zend, сейчас нашумел Laravel (не пробовал), иногда CakePHP.
    - разные CMSки для сайтов и особенно для интернет-магазинов. Если сегмент требует, изучайте.
    - для нагруженных проектов - memcached, APC, RabbitMQ, всевозможные NoSQL (Mongo, Redis). Понимание тонкостей Apache и Nginx.
    - cron
    - контроль версий - в основном сейчас git, используется также svn.

    Из книжек никогда ничего не читал, кроме php.net (это прям "настольная") и гугла. Наверное, это неправильно. Но я очень не люблю учить программирование по книжкам - у меня как-то всё сразу забывается. Поэтому я по ходу необходимости почитываю разные статейки / ответы на вопросы.
    Ответ написан
    Комментировать
  • Какими сервисами и инструментами пользуетесь для тестирования верстки?

    Я предпочитаю жену...

    У меня жена разбирается в компьютерах и интернете очень плохо. Поэтому я её сажаю за подготовленный проект и предлагаю посмотреть, что я сделал. А сам слежу за её действиями.
    Может мне не верить, но она способна найти (даже не понимая этого) самые замысловатые баги и ошибки.
    Ответ написан
    1 комментарий