• Переход с Angular на React. Тренд или нет?

    @dplsoft
    в следствии успехов маркетологов одного или другого лагеря.
    и смены моды.

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

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

    но никто, никто не сможет дать вам хоть каких либо технических обоснований, и внятных причин. (последнее технически обоснованное решение - это был переход в ноде на тайпскрипт, потому что до них, слава небесам, наконец начало доходить, что на динамической типизации в больших проектах далеко не уедешь. глядишь, через 5 лет дорастут и до понимание причин почему джава никуда не денется из интерпрайз сектора и серверов в бизнес-системах.. но не об этом речь)

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

    потому что это МОДА.
    "не пытайтесь понять тараканов".

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

    они всего лишь пытаются увеличить круг потенциальных соискателей и привлекательность вакансии в глазах неразумных.

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

    ... ps: а jQuery при этом продолжает и продолжает выполнять 90% всей черной работы на 90% всех сайтов ;)
    Ответ написан
  • Переход с Angular на React. Тренд или нет?

    @msdosx86
    Реакт это библиотека, а Ангуляр - это целый фреймворк. Если вы работаете в сфере энтерпрайза, то легче выбрать ангуляр, так как в нём уже есть то, что нужно для создания архитектуры огромного веб приложения и для поддержки кода в дальнейшем. Когда же огромные приложения начинают писаться на реакте, то это выглядит как мешанина из кучи npm пакетов (тот же редакс, санки, аксиос, флоу, реакт-роутер). Не спорю, что на реакте тоже можно большие приложения создавать, но для этого потребуется больше усилий (при одинаковых знаниях фреймворков). Почему? Да потому что в ангуляре с тайпскриптом и архитектурой, которую ангуляр навязывает разработчикам, можно применять классические паттерны проектирования, которые до этого применялись в классических языках типа джавы или c#. Их в обычном js'е тоже можно применять, но толку от этого не много, так как классические паттерны завязаны на ООП и статической типизации. Зачем нужны паттерны? Для поддержания кода. У нас в компании проекты поддерживаются по несколько лет (знаю проекты, которые поддерживаются уже больше 5 лет) и на проект подключают других людей. Кого то убирают, кого то подключают. И когда нужно поддерживать код, то тут тайпскрипт и архитектура ангуляра в самый раз позволяет всё это делать безболезненно (при условии, что код пишут хорошо). Весь этот, не побоюсь слова, "высер", который написал коллега выше, в сторону ангуляра обусловлен тем, что у ангуляра порог вхождения выше, чем у остальных фреймворков. И поэтому людям кажется, что там происходит какая-то магия. И получается, что люди не понимают, что там происходит и жалуются, что слишком сложно, но зато в реакте всё просто. В реакте действльно всё намного проще. Чтобы писать на реакте вам в принципе хватит знаний es6. Чего не скажешь про ангуляр. Ибо там тайпскрипт и rxjs, который просто понять не получится, надо изрядно постараться, чтобы начать думать потоками и как с ними работать. Но когда ты начинаешь понимать как работает rxjs, как работает сам ангуляр (change detection например), то становится просто невообразимо легко писать код. Весь хейт в сторону ангуляра из-за того, что фронтенда изначально не существовало как такового. Ведь был пхп и он прекрасно работал с хтмл. Потом появились шаблонизаторы и jquery. Всё это делалось бекендерами и фронтенда как такового не было. И потом появились фреймворки типа ангуляра, которые бОльшую часть логики взяли на себя и бекенд превратился в REST API. Фронтенд не был сложным, Ангуляр значительную часть логики взял на себя и тем самым усложнил фронтенд, поэтому те, кто привыкли формочки верстать, не могут осилить эти тонны абстракций. На каком нибудь фрилансе или средних проектах нет смысла в ангуляре, поэтому там и используются реакт и вью, ну и жиквери, куда ж без него. А если проект уровня 50-100К долларов, то тут ни о каких жиквери речи нет.
    Ответ написан
    4 комментария
  • Верстка с нуля: какие основные этапы работы?

    Vlad_IT
    @Vlad_IT Куратор тега Вёрстка
    Front-end разработчик
    Использую vscode+webpack+pug+scss+бэм. Из физических инструментов, основной моник: lg ultrawide 29um69g, рядом прикручен моник от ноутбука повешенный вертикально, подключенный через универсальный скаллер.

    0) Запускаю Spotify :-)

    1) Произвожу установку всех необходимых модулей для сборки. В моем случае у меня набор конфигураций для webpack (отдельные файлы для pug, scss, static и.т.д., выбираю что нужно).

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

    3) Запускаю VS Code, открываю нужную папку.

    4) Пишу размету на Pug. Пишу с БЭМ, если встречаю повторяющийся блок, то открываю файл _mixins.pug, в который пишу миксины для повторяющихся блоков, например товаров, пунктов меню, каких-то блоков и.т.д. Pug умеет делать циклы, это ускоряет сильно.

    5) Когда HTML готов, начинаю делать каркас. Если дизайн сделан по сетке, определяю контейнеры, колонки, строки в свои классы (не пишу в html тучи классов аля col-md-6, а пишу в SCSS инклуды в нужные мне блоки, типа @include make-col(2) и.т.д.).

    6) Экспортирую картинки из Avocode. Очень делается просто, указываю папку и просто кликаю экспорт и ввожу название файла и расширения. Преимущественно для иконок использую svg, если нет svg, то ищу эту иконку в интернете (дизайнеры редко рисуют иконки сами, но зато любят вставлять их не в векторе). Если иконка простая, могу сам ее в inkscape обвести, ну и если нет, то экспортирую png в размере (благо авокод это позволяет, если конечно дизайнер не вставил в исходном маленьком размере). Когда есть контакт с дизайнером, трясу его, ибо растр это плохо для иконок.

    7) Пишу стили блоков из страницы. На этом этапе можно на втором монике параллельно смотреть футураму или
    Арчера :-) Но чаще на широком монике слева браузер, справа VS Code, а на втором монике Avocode (может меняться местами с браузером). Мысленно нарезаю страницу на блоки. Для каждого блока (БЭМ) создаю отдельный scss файл (кто-то даже для элемента создает, но мне лень), из него сразу выписываю все селекторы. Иногда могу сначала выписать все селекторы со страницы (но так лучше не делать, т.к. во время работы может потребоваться изменить что-то в разметке), но чаще для одного блока выполняю этот пункт и за ним сразу выполняю пункт 8, потом для нового блока опять 7 и 8 и.т.д.

    8) Пишу css код вместе с Avocode, у него беру нужные мне параметры (а он уже подставил в них переменные), и вставляю в мой код. И параллельно сверяю со скрином макета используя вот это расширение https://chrome.google.com/webstore/detail/perfectp...

    9) Пишу адаптив. Я не могу привыкнуть к методологии mobile-first, поэтому пишу всегда сначала полную версию сайта. Я понимаю, что это чревато всякими проблемами и это типа не модно, но мне норм.

    10) Медиа-запросы пишу прямо в блоках, для каждого блока/элемента/модификатора может быть отдельный медиа-запрос. Но для начала определяю breakpoint'ы для разных экранов (чтобы их не было сотни разных), если использую Bootstrap, то беру его breakpoint'ы.

    11) Добавляю анимашки. Даже если заказчик не просил отдельно (и если не указал отдельно, что нельзя), он все равно будет доволен, а с animate.css+onscreen.js это вообще работа 10 минут. Сложные анимации обговариваю отдельно, чтобы не сделать ненужную работу.

    11) Все снова сверяю, пишу скрипты где надо. Для слайдеров в 99% случаев подходит slick (с доработками конечно, но там хорошее API), для других случаев могу написать свой.

    12) Сдаю заказчику и жду ответа сидя на тостере/пикабу.

    Это чисто мой опыт, опыт фрилансера, не знаю, как делают другие и не могу на 100% утверждать что это 100% правильный способ. Я так и не смог заставить свой конфиг webpack правильно вставлять спрайты svg.
    Надеюсь чем-то поможет мой ответ.
    Ответ написан
    7 комментариев
  • Как вернуть мотивацию к обучению?

    @Gettoheaven
    Автор я конечно не Брюс Ли и не Крутейший какой-нибудь фронтэндер. Скажу так:
    1. Детский инстинкт: все и сразу (забудь об этом)
    2. Это упорный труд.
    3. Обязательное удовольствие от изучения, работы.
    4. Обязательное физическое развитие ( спроси у любого, он кивнет тебе)
    5. Медитация ( это тяжело, но если поймешь тему все ключи будут в кармане)
    6. Наконец же пойми себя, никогда не поздно это сделать. К чему ты тянешься, что любишь. Возможно ты до сих пор не знаешь себя.
    7. Взлеты и падения: у всех они свои и ты не один такой. Нужно уметь пережить такие моменты.
    8. Я видел много веб-программистов у которых стаж с 2006 года(делай свои выводы)
    9. Не теряй времени, иногда кажется что ещё все впереди и времени фигова туча, на самом деле это мираж.
    10. Не грызи слишком себя, иногда это совсем не нужно.
    Ответ написан
    3 комментария
  • Как вернуть мотивацию к обучению?

    railsfun
    @railsfun
    Web Developer
    А никак ее не вернуть. Просто не думайте что все завязано на мотивацию.
    По моему высший пилотаж, и то к чему я стремлюсь сам в жизни (и это получается) - даже без мотивации что-то делать. Просто потому что нужно. Потому что так решил.
    Потому что, как говорить о мотивации если у человека все переменчиво? Аппетит, настроение, состояние здоровья. Да тысяча факторов.
    Это просто проблема нашего времени что внушается людям совершенно определенный пакет бреда, а именно:

    1. Вы не сможете чего-то достичь если не будете "мотивированы"
    2. Вы не сможете что-то сделать если "не в настроении".

    Осмелюсь сказать - это вранье. Все вы сможете. И дело даже не в затасканном слове "хотеть". Вот человек пишет ну нет мотивации. Не хочет, может. Настроение упало. И тд и тп.

    Если дело это действительно _его_ по нутру, он даже если не хочет найдет в себе силы продолжать.

    Секретов тут нет никаких. Просто делай и все. Или не делай. )

    А те кто добились в чем-то успеха могут вас многим грузить. Какими-то своими привычками, "секретами успеха" и прочей чушью. Или длинными реляциями о мотивации...

    Забейте на это. Есть вы и ваше дело. И ваше решение. И все. И никто не имеет права Вам здесь диктовать. Даже если это якобы делается из благих побуждений ("дать ему мотивацию", "научить мотивации"). Если это вас делает слабым, привязанным к слову "мотивация". Если заставляет забыть что вы так или иначе в состоянии сделать задуманное, мотивированы вы или нет - грош цена таким советам сразу говорю.

    Удачи автору и не менее удачи комментаторам )
    Ответ написан
    Комментировать
  • Как правильно изучать верстку c переходом на front-end?

    Aspirin77
    @Aspirin77
    HTML5&CSS3, в любом случае самое первое, что стоит изучить. Html Book - неплохой вариант, для новичка, но всё же в идеале оф. сайт консорциума с документацией www.w3.org
    Думаю, для хорошего верстальщика и front-end developer'a важно понимать "кухню".

    Есть не плохая книга, мне лично очень нравится, Джон Дакетт "HTML и CSS". Книга не из дешевых, но лично мне очень помогла в изучение основ.

    Далее, опять таки на мой взгляд, хотя бы на уровне синтаксиса - изучить JavaScript. Пока не говорю, про библиотеку JQuery. Но она по сути, важна. Книга - Бер Биро, Иегуда Кац "Подробное руководство по продвинутому JavaScript".

    В плане опыта, тут уж наверное понятно, верстать и еще раз верстать, по мере решения определенных задач растет скилл, так сказать. Умение искать ответ в Google тоже немаловажный навык.

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

    Свой код после верстки, можно проверить на валидаторе оф. сайта консорциума. Просто нужно вставить ссылку туда на свой сайт и он анализирует.

    На YouTube, есть видеоуроки по многим направлениям. Из самых крутых на мой взгляд, Sorax

    В целом терпение и желание именно заниматься версткой и front-end. Удачи )
    Ответ написан
    Комментировать
  • Путь программиста.Стоит ли?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Не важен путь, который выберете вы. Важно то, как вы его пройдете.
    Самообразование - ключ к любой профессии. Никто и никогда вас не станет ничему учить. Забудьте об этом, все только сами.
    Как, по-вашему люди из самых запдрыпанных мест становятся великими? Трудом.
    Учитесь тому, что интересно. Хотите GameDev? Без проблем. Сейчас осень, впереди зима и весна. Садитесь за Java или Swift. Напишите к лету приложение и разместите его в магазине. Будет настоящий незаменимый опыт. Потом еще и еще. Не сразу, но начнете на этом зарабатывать. Было бы желание, остальное приложится.
    И к экзаменам тоже можно подготовиться. И сдать их на отлично самому. Не смотрите на ленивцев вокруг. Они вас кормить не станут. Они так и дальше будут сосать пиво из бутылочки и сидеть на шее у родителей до последнего.
    Или вы тоже хотите пойти на стройку, чтобы зарабатывать на пиво? Тогда вперед.
    Ответ написан
    Комментировать
  • Как вернуть мотивацию к обучению?

    При повторной потере мотивации алгоритм следующий:
    1) Идем высыпаемся. По-нормальному так, без будильников. Чтоб глаза вообще больше не закрывались.
    2) Если мотивация не вернулась (возвращается в 70% случаев) - берем велик (хотя можно и пешком) - и на улицу. Если есть приличный парк в городе - находим пару нестандартных физ. упражнений (можно боевых), пытаемся выполнить. Работа с телом и физические нагрузки - это совершенно другая часть вашего сознания, про нее нужно не забывать.
    3) Если мотивация не вернулась (уже где-то 85% случаев) - берем случайную книгу (не техническую), в идеале - из жанра который вам нравится. Читаем. Спокойно, страницы не считаем.
    4) Если не вернулась, повторить с п. 1 до пяти раз, не думая о времени и выполняя только самые важные дела (срочные задачи по учебе, работа, если есть), можно даже попросить родных/знакомых помочь по дому и бытовым делам, чтобы себя разгрузить.
    5) Если не помогло после 5 раз, задаем новый вопрос на тостере, подробно описываем что делали).

    Хотя бы один из п. 1-3 выполняем для профилактики каждый выходной.
    P.S. в принципе плохо сравнивать себя с кем-то - для "сравнения" на свете есть всякие соревнования и состязания, где есть правила и контекст. В жизни правил нет, один учится в MIT, другой учится в колледже в России - какие могут быть сравнения? Вы думаете тут большинство людей за один год все узнало и всего добилось? Вы глубоко заблуждаетесь) PHP-шники-выскочки не в счет, у них искаженное представление о реальности.
    Ответ написан
    11 комментариев