• Больше, чем React: Почему не следует использовать ReactJS для сложных интерактивных фронтенд-проектов
    +4
    приложение на фреймворке Binding.scala содержит всего 154 строки кода по сравнению с 488 строками на React

    Правда в основном за счет комментов и того что в JSX принято переносить каждый атрибут на новую строку
    Независимо от того, что изменилось в состоянии, функции рендеринга всегда будут генерировать новые полные виртуальные DOM

    Решение: PureComponent'ы и Immutable структуры данных (можно просто следовать соглашению, можно использовать Immutable.js или другие решения)
    Сравнение двух версий DOM медленное и подвержено ошибкам. Например, если вы хотите вставить элемент li в начало ul

    Решение: параметр key. React сыплет в консоль warning'и если забыть добавтиь key там, где он нужен.
    Таким образом, нельзя сказать, что React превосходит Cycle.js, Widok или ScalaTags.

    Но автор сам абзацем выше говорит обратное: «React больше подходит для повторного использования HTML-шаблонов по сравнению с другими фреймворками»
    Даже используя propType React сможет найти ошибки только во время работы программы

    Решение: Flow
    Мы можем использовать Binding.scala для решения сложных проблем, которые React решить не может.

    А теперь найдите мне для моего проекта пяток разработчиков на Scala и пяток на React. Про разнообразие сторонних компонентов для обеих платформ вообще молчу.
  • Чуть не уволили по статье… на Хабре
    +1
    Правда, пострадавшим придется доказывать, что это было сделано для того, чтобы разрушить их бизнес.
  • Чуть не уволили по статье… на Хабре
    +23
    генеральный считает, что пост на Хабр = отправленное резюме на новую работу

    Просто представляйте каждый раз, что единственный человек, которому данная позиция выгодна — сам генеральный. Автор статьи, читатели хабра, IT-сообщество и все остальное население земли, кроме генерального, от такой позиции проигрывают, а вот генеральный сможет позволить себе автоматическую регулировку сидений в повозке следующего поколения. Даже ФАС понимает вред всяческих договоренностей и запретов о непереманивании.
  • Краткая история JavaScript. Часть 1
    +2
    ES6

    Тогда уж flow.
  • Создаем веб приложение используя VueJS и .NET
    0
    Да, это все очень просто, и fetch-полифил и babel. Только статья не о том.
  • Создаем веб приложение используя VueJS и .NET
    0
    По поводу третьего пункта, тут я оставил все как у автора оригинала

    И правильно, потому что выбор между gulp и webpack совсем не так очевиден. При отсутствии малого количества телодвижений во время начальной настройки решения на основе webpack, кастомизировать сборку на основе gulp намного проще. Обычно как итог, webpack все равно заворачивается в gulp и вот тут начинается полный хаос: похожие таски начинают дублироваться, часть разработчиков решает задачи с помощью gulp-плагинов, часть с помощью webpack-лоадеров.
  • Создаем веб приложение используя VueJS и .NET
    +1
    Которая не будет работать в половине браузеров без дополнительных танцев с бубном.
  • Создаем веб приложение используя VueJS и .NET
    0
    React, Angular или Ember для работы с .NET вы должны устанавливать модули-адаптеры, переписывать всю логику маршрутизации для всех контроллеров

    Angular и Ember я еще могу понять, но зачем при использовании React что-то менять в маршрутизации?
  • Создаем веб приложение используя VueJS и .NET
    +1
    Что такое «нормальная компонентная модель»?
  • Что взять за основу React приложения
    0
    JFYI:
    PostCSS is a tool for transforming styles with JS plugins. These plugins can lint your CSS, support variables and mixins, transpile future CSS syntax, inline images, and more.

    Plugins

    Better CSS Readability
    — precss contains plugins for Sass-like features, like variables, nesting, and mixins.
  • Что взять за основу React приложения
    0
    За программирование на не-React'е не платят деньги?
  • Поиск без интернета. Новая бета приложения Яндекс
    +6
    Интернет скачать бесплатно на телефон без смс
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    0
    А для всего остального есть Flow
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +1
    Лично я их не ищу, я только работаю с результатами поиска. И результаты эти удручают даже для Angular и React, не говоря уже о Vue.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +1
    Расскажите бизнесу, что вы хотите лишить его единственной возможности мгновенно доставлять клиентам практически любой функционал и контент. Просто потому что вам сложно. Бизнес поржет, уволит вас и наймет того, кому не так сложно.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    0
    А теперь попробуйте найти разработчиков в свой проект на React/Angular/Vue.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +1
    Мое отношение простое. Разработчиков на и на React то днем с огем не сыщешь, а уж на Vue и подавно.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +3
    Они понятны, в них легко разобраться, но выглядят хуже чем например вот так: ...

    Этот пример в моем коде выглядел бы вот так:
    const ChildClass = this.state.something ? MyChildComponent : MyOtherChildComponent;
    return (
      <div>
        <div class="layout-8">
          {children.map(c => <ChildClass {...myChildProps} />)}
        </div>
      </div>
    );
    

    Вообще правильное разделение логики представления и бизнес-логики позволяет оставить в render-методах компонентов только базовые if и for, что как раз соответсвует семантике vue-шаблонов, о чем и был мой первоначальный комментарий.

    PS: условие if спрятанное где-то в центре блока кода читается просто ужасно.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +3
    Не понимаю в чем критическая разница между:
    <ul>
      <li v-for="(item, index) in items">
        {{ parentMessage }} - {{ index }} - {{ item.message }}
      </li>
    </ul>
    

    и
    <ul>
      { items.map( (item, index) => <li>{parentMessage} - {index} - {item.message}</li> ) }
    </ul>
    

  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +2
    Ember.js — пробовал и настоятельно не рекомендую. Можно быстро сделать типовой проект, но развивать и кастомизировать — сущее наказание. Взять к примеру ember-data, модуль htfkbpe.obq абстракцию доступа к данным. С первого взгляда все хорошо — следуем определенным стандартам API на сервере и все данные, даже связанные, у нас легко и просто доступны на клиенте. Но копнуть чуть глубже и оказывается, что даже такая простая вещь как откат изменения связи объекта реализуется костылями или monkey-patching'ом.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    0
    Но в чем смысл? Почему не написать просто на JS? Это что сильно труднее?

    Более-менее сложные SPA или web-компоненты, написаные просто на JS очень сложно поддерживать и практически невозможно развивать. React, Vue и дргуие инструменты позволяет применяет более-менее декларативный подход при написании front-end, что существенно сокращает затраты на развитие проекта, поддержку, тестирование.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +11
    Глупая фраза с указанием неверного авторства — лучший аргумент в любом споре.
  • React или Vue? Выбираем библиотеку для фронтенд-разработки
    +5
    Это – одни из самых популярных JavaScript-библиотек в мире. Взгляните на этот список, посмотрите их репозитории на GitHub.

    Я бы рекомендовал смотреть на более объективные источники, например реальные опросы большого количества людей
  • Как я научился кодить, создал веб-приложение и запустил его на Product Hunt за 2 месяца
    0
    Если в том объеме, что сейчас, то нормальному фрилансеру, это было бы часов так 30 и стоимость максимум в $1000

    Чтобы найти нормального фрилансера нужно попытки 3, а если не повезет, то и больше.
  • Пора играть честно, Microsoft
    +3
    У нас у соседа по дверью нагадили. Мы, разработчики браузера Vivaldi, ни у кого под дверью не гадим. Качайте браузер Vivaldi.
  • А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST
    0
    То есть REST с авторизацией на основе скажем http-сookies это сразу сервис?
  • Так ли хорош React Native?
    0
    Да, но и для Cordova это тоже верно.
  • Так ли хорош React Native?
    +3
    splash-screen показывается системой во время загрузки и инициализации приложения, поэтому привычных компонент еще нет
  • Так ли хорош React Native?
    0
    React Native позволяет создавать проекты которые обладают несколькими важными качествами. Во-первых на выходе получаются приложения которые выглядит и работают как нативные. Почему нативные приложения лучше объяснять думаю не стоит. При этом основную логику отображения и бизнес-логику дублировать не приходится как в схеме с независимой кодовой базой для каждой платформы. Критичные же для производительности или с точки зрения платформы вещи, как-то сложные вычисления, получения GPS-координат устройства или отображение splash screen'а, придется реализовать нативно для каждой платформы.

    В вашем случае действительно не было никаких предпосылок использовать React Native. Писали вы только для Android, а большая часть функционала приложения состояла из сложных вычислений.
  • Так ли хорош React Native?
    +9
    Автор не обижайтесь, но получилось примерно следующая ситуация.

    Так ли хорошо микроскоп?

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

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

    По моему мнению, микроскоп не годится в текущем его состоянии для забивания гвоздей. Основные факторы — плохо лежит в руке и недостаточно тяжелый. По итогу если вам нужно закрутить шуруп используйте шуруповерт, если хотите срубить дерево то тут подойдет топор. С топором дерево удалось повалить за 30 минут.
  • Убийцы оптимизации JS уже не такие страшные
    +4
    Недовольных try/catch и switch/case блоками в подавляющем большинстве случаев можно заткнуть простой цитатой Кнута:
    «We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%»
  • Личный опыт: как нетехнарю стать фронтенд-разработчиком
    +1
    Происходит катастрофический недостаток кадров, вызванный взрывным ростом индустрии.
  • Необычные jQuery и CSS селекторы
    0
    Если все-равно нужно подставлять свойство type=«application/pdf», почему просто не подставить class=«link_pdf» и не выдумывать всяких трюков с CSS-селекторами?
  • Как по маслу, или анимируем со скоростью 60 FPS на CSS 3
    0
    На самом деле все что нужно сделать чтобы плавно подвинуть *один прямоугольник*:
    .app-menu {
      transform: translateX(-100%);
      transition: transform 300ms linear;
    }
    
  • Я заглянул в папку node_modules, и вы не поверите, что произошло
    +7
    А еще раз я как-то открыл зависимость из node_modules и у меня ноут сгорел.
  • SpaceX отправила «марсианский» двигатель на испытания в Техас
    +1
    … закачка топлива в основную камеру сгорания двигателя за счет образующихся в ходе первого этапа горячих газов высокого давления ...

    Это разве не принцип работы турбонасоса?
  • Почему я люблю работать с вебом. Реми Шарп
    0
    Web сейчас и в ближайшем будущем — единственный способ доставить миллионам людей практически любой функционал. И ничего вы с этим не сделаете.