• Как эффективно изучать angular js?

    SternMore
    @SternMore
    Работаю над GrabDuck.com
    Не знаю на счет эффективного способа, могу поделиться своим.

    Когда мы мигрировали наш проект GrabDuck на angularjs с js+jquery, стоял такой же вопрос - как быстро понять что такое angular и начать его использовать. Совет N1, который все дают - "читаем доки" нам не подошел. Очень трудно понять какие-то детали, не понимая что такое angular в целом. Инфы очень много и в голове от всего каша. Наверное можно так выучить и даже стать реальным профессионалом, но быстро сделать это точно не получится. Вообщем метод хорош для любителей академических подходов.

    Что делали мы:
    1. пройти пару туториалов, лучше видео - получается быстрее. (как пример Egghead.io - AngularJS)
    2. начать что-то делать самому, лучше уже реальное, обращаясь к туториалам из #1, за подсказками. Тут уже вы готовы начать посматривать в сторону официальной доки
    3. Через какое-то время, вы почувствуете себя комфортно делать что-то на уровне пройденных туториалов, без использования их как подсказки. Тут уже без чтения доков, для прояснения каких-то вопросов, не обойтись. будет много рефакторинга вашего предыдущего кода, потому что к этому моменту у вас появится свое чувство стиля и вы увидите как все неправильно было сделано изначально. )
    4. Последний пункт наступает примерно через несколько месяцев работы. Внезапно вы обнаруживаете, что ваше angular приложение работает чертовски медленно и нужно с этим что-то делать. Читайте статьи о том как оптимизировать (как пример, который нашел на GrabDuck - 11 Tips to Improve AngularJS Performance). тут уж вам, хочется того или нет, прийдется понять как работает angular изнутри и стать настоящим профи в этом фреймворке.

    Надеюсь информация была полезна. :-)
    Ответ написан
    Комментировать
  • Как эффективно изучать angular js?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) продолжаем учить "ванильный JS", паралельно почитывая про babel, es2015 и т.д.
    2) когда мы ищем информацию в интернетах - учитываем что сейчас актуальная версия ангуляра - 1.5, второй ангуляр в бете, так что 90% информации устарело. Я даже больше скажу - даже официальная документация устарела, обновленный вариант сможете найти на github проекта в пул реквестах.
    3) https://github.com/gdi2290/ngExam - рекомендую этот список тем того, что вам надо знать про ангуляр (ну и не только).
    4) https://github.com/AngularClass/NG6-todomvc-starter - тут я попытался собрать полезные статьи на тему что надо учить и как + пример маленького современного приложения. Так же в ишусах к NG6-starter обсуждается как лучше его готовить.
    5) https://habrahabr.ru/post/277087/ - про angular 1.5 и то как я готовлю ангуляр.

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

    Ну и да - обязательно прочитать документацию к ангуляру. Возможно не всю сразу но базовые понятия что бы раскрыть. И разобраться с тем что значит "декларативное представление".
    Ответ написан
    4 комментария
  • Какие есть "лучшие из лучших" библиотеки JS?

    LightAir
    @LightAir
    LA
    Мой небольшой список. Большинство из этого довольно часто использую.

    three.js - 3D графика
    sweetalert - Всплывающие предупреждения
    snapsvg - Анимация/манипуляция SVG
    pixijs - 2D движок с поддержкой WebGL
    Nape Physics Engine - 2D движок физики
    Clusterize.js - Плагин для отображения больших объёмов данных
    jsplumb - Визуализация связей
    toastr - Симпатичные уведомления
    elFinder - Файловый менеджер
    jQuery-Tabledit - Инлайн редактор таблиц
    Iconate.js - Трансформация/анимация иконок
    Paper.js - Фрейм для работы с векторной графикой
    Vue.js - Серьёзный конкурент Angular.js =)
    socket.io - Хорошая библиотека для работы с сокетами
    InstantClick - Предзагрузка страниц при наведении курсора на ссылку
    spin.js - Название говорит само за себя. Spin
    sigmajs - Построение/отображение графов
    validate - Валидатор форм
    select2 - Кастомный select с поиском, тегами и прочими полезностями
    Chart.js - Визуализация данных. Проще говоря графики на HTML 5
    Ответ написан
    Комментировать
  • Верстать без фреймвороков это значит быть не професионалом?

    Верстаем мы всегда с макета.
    Я не говорю о таком кейсе как собрать админку из компонентов бутстрапа по прототипу - это как раз самое правильное его использование.

    Так вот от макета мы очень сильно зависим.
    Если дизайнер потрудился хотя бы использовать сетку, то сетка и система breakpoints из Botstrap (4 версия, на scss) нам очень поможет. Если дизайнер идиот - не поможет ничего.

    В моем шаблоне проекта сетка и брекпоинты есть по умолчанию. Так же как некоторые helper-классы.

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

    Насколько классы предлагаемые бутстрапом впишутся в общий стиль проекта?

    Насколько мы облегчим поддержку проекта, перекостылив под дизайн половину того что взяли от бутстрапа, а 2/3 проекта написав своими стилями?

    Я видел как по дефолту суют
    bootstrap.min.css
    bootstrap-theme.min.css
    bootstrap.min.js
    потом в отдельном файле переопределяя и дописывая все что нужно. Целый мать его bootstrap.min.js из которого использовалось только меню-бутерброд!

    Видел целую коллекцию костылей, перемотанную изолентой чтобы было как в дизайне.

    И что, насколько я новичёк и максималист с моей библиотекой миксинов (документированных, в т.ч. из бутстрапа), scss файлами, разнесенными по блокам и BEM-подходом к наименованию классов?
    С опрятным css на выходе и инструкцией-рекомендацией как и зачем всё же использовать препроцессоры.

    Таким образом, присоединяюсь к ответам Сергей и Serj-One . Каждой задаче - свой инструмент.
    А поддерживать легко не столько код где использовался фреймворк (особенно в контексте css), а код, где использовалась голова.

    P.S. Вот ещё достойное мнение например:https://gist.github.com/iAdramelk/d328b73c72cab92ef95f
    Ответ написан
    Комментировать
  • Почему в jQuery событие scroll не работает при body margin: 0;?

    @Joe_May
    Жесть я 1.5 дня искал эту же ошибку у себя в JS, наткнулся на этот вопрос поиграл со стилями, в результате у меня было свойство body {height: 100%}, поэтому webkit"овские браузеры не запускали событие scroll()... это так если кто в будущем столкнется с этим, автору отдельное спасибо за вопрос =)
    Ответ написан
    6 комментариев
  • Как с помощью js правильно конвертировать base64 в blob?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    вам нужно взять ваш base64 и отрезать от него первый небольшой кусок до запятой, где сказано что это картинка и она в base64.
    Ответ написан
    1 комментарий
  • Почему не отрабатывает getImageList внутри getResources?

    @hanckey
    Необходимо добавить в вызов getImageList параметр
    &docid=`[[+id]]`
    Об этом, кстати, написано в документации: rtfm.modx.com/extras/revo/migx/migx.frontend-usage , раздел "Using MIGX with getResources"
    Ответ написан
    Комментировать
  • .gitignore и отслеживаемые файлы

    colonel
    @colonel
    Разработчик PHP, Laravel
    Нужно убрать его из индекса:

    git rm --cached path/to/file
    Ответ написан
    Комментировать