• Что использовать LESS или SASS?

    nicothin
    @nicothin
    веб-разработчик с 2000 г.
    less, scss и stylus для 98% работ обладают полностью идентичной функциональностью и выбор меж ними или чисто эстетический или технологический (какие-то ограничения проекта).
    сам для себя выбрал Less — привычно, наглядно, красиво, удобно работать с emmet

    и не верьте статьям 12-х годов о том, что «scss намного мощнее».
    на данный момент (конец осени 2014) все перечисленные препроцессоры равны по возможностям на 98%.

    п.с.: реально каждый день из всех возможностей препроцессоров используются: переменные, примеси и вложения. ОЧЕНЬ странно под каждый проект заново писать генераторы модульной сетки и т.п. вещи, требующие условий и циклов.
    Ответ написан
    Комментировать
  • Какие бы вопросы вы задавали при приеме на работу Javascript-разработчика?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Что такое Function.prototype.bind, Function.prototype.apply, Function.prototype.call и зачем они нужны?
    Что такое вообще prototype, для чего используется? ООП в JS.
    Паттерны проектирования — какие вообще есть, какие имеют смысл в JS, чем можно заменить всеми любимый синглтон?

    Все остальное можно довольно быстро объяснить или есть в либах:)
    Ответ написан
  • Что взять на вооружение для фронтенда?

    talgautb
    @talgautb
    front-end developer
    Ответ на почему прост: все эти штуки делают нашу жизнь лучше :)
    для 3-5 советую использовать :
    - препроцессор (тут по вкусу каждому свое, например stylus)
    - инструмент сборки (тут так же кому что, например grunt)
    - систему контроля версий (git)
    - анб (например, bem, mcss)
    - шаблонизатор (у каждого свое, зависит от cms на базе которой вы работаете, или которую сделали ваши прогеры)
    - графический редактор ( photoshop наше все :) + css hat, enigma64)
    - задавать конкретные вопросы на тостер ру ;)

    советую в каждой новой верстке из 1-2 использовать по 1-2 технологий из списка, потом втянетесь и не отпустит ))
    з.ы. ну это примерный список, дальше больше ;)
    Ответ написан
    2 комментария
  • Занимаюсь веб-разработкой и хочу делать небольшие приложения под мобильные платформы. С чего начать?

    AMar4enko
    @AMar4enko
    Я бы посоветовал вам качественно изучить хотя бы одну технологию от и до.
    PhoneGap это тупик. Лучше не стоит, правда.
    Вот вы сделаете приложение для iPhone, реализуете там свой тулбар на css + html. В аппстор сунете, а вам пропишут reject и скажут "Друг, у нас для тулбаров нативные элементы управления есть".
    Вы начнете искать, а можно ли как-то из под PhoneGap использовать нативные элементы управления. Найдете.
    Окажется, что там нужно будет в phonegap-проектике покопаться под XCode (вы же в курсе, что вам OS X нужна будет для сборки проекта для iPhone?)
    Потом вам понадобится простенькая база данных в приложении. Вы попробуете использовать in-browser SQL database storage. Окажется, что из-за особенностей хранения данных браузером из-под PhoneGap она у вас периодически будет пропадать. Вы пойдете искать бесшовную замену, найдете. Опять надо в XCode идти проект править, чтобы он собрался правильно.
    В итоге вы вместо разработки будете искать пути решения проблем, с разработкой никак не связанных.
    Так что мой вам совет: хотите малой кровью начать делать мобильные приложения - возьмите Android и делайте на здоровье. А нервы поберегите, пригодятся.
    Ответ написан
    1 комментарий
  • Хочу поехать в Питер и работать HTML верстальщиком! На что рассчитывать?

    Я не думаю, что Вам удастся найти работу верстальщиком в Питере без хорошего знания JS. А если и удастся, то ЗП, на которую Вас возьмут, не хватит даже на аренду жилья. Рассчитайте все внимательно, прежде чем ехать.

    Разобраться с JS до уровня Junior Developer не займет много времени.
    В первую очередь изучите learn.javascript.ru - отличный онлайн-учебник по native js
    Затем советую почитать: jquery-book - отличная книга по jQuery (куда же без нее) для быстрого старта
    Потом пару проектов для практики и закрепления полученных знаний, и Вы сможете без труда устроиться Junior Frontend Developer. И там уже учить популярные фреймворки.
    Ответ написан
    1 комментарий
  • Какими русскими ресурсами по Twitter Bootstrap лучше воспользоваться?

    Подсел на Bootstrap просмотрев несколько видео-уроков Sorax'a на youtube. Пример: http://youtu.be/qIIvIBc7-_M
    Дальше http://bootstrap-ru.com/

    Вот еще 3 статьи на Хабре в довесок
    http://habrahabr.ru/post/154687/
    http://habrahabr.ru/post/187184/
    http://habrahabr.ru/post/198346/

    Ответ написан
    1 комментарий
  • Как эффективно переучиться на веб-разработчика?

    @egorinsk
    Вообще, не увлекайтесь спецификациями. Марк Цукерберг как-то без них обошелся. Google тоже не следует строгим стандартам.

    Если вы хотите «эффективно» изучить матеиал, тогда вы должны читать статьи «для чайников» (которые вы с вашим опытом, наверняка освоите за кратчайшее время). HTML/CSS так устроены, что даже если вы сделаете 100 ошибок на странице, он все равно как-нибудь да отобразится. Ну если вы хотите более солидные знания, то параллельно смотрите непонятные моменты в спецификациях, это в общем-то полезно. А сэкономленное время посвятите практике. Она тут очень важна.

    Вот, что стоит изучить (в любом порядке):

    1) Начните с основ HTTP (только ради бога, не читайте спецификацию целиком, хватит общего представления о методах запросов, заголовках и теле запроса, кодах ответа 403/404/500/200/300)
    2) Изучите основы HTML (есть раздел на сайте htmlbook). SGML вам хватит в том объеме, в котором он упоминается в спецификации HTML. PCDATA не упоминается в ней и потому знать про отличия от CDATA вам не нужно (ну если так хотите узнать, найдите спецификацию SGML и почитайте).

    Обратите внимание, в некоторых (некачественных) статьях вы можете увидеть штуки вроде [br /] — самозакрывающиеся теги. Это ошибочный синтаксис, который употребляют авторы, путающие HTML и XHTML. В HTML такого синтаксиса нет (хотя в силу своей толерантности к ошибкам в HTML такой код как-то работает).

    3) Изучите CSS и позиционирование элементов. Вот хороший учебник, разъясняющий тонкости всяких флоатов: softwaremaniacs.org/blog/category/primer/ А спецификацию CSS2.1, думаю, вы нагуглите сами, она довольно понятно написана.

    4) Изучите яваскрипт (да, включая замыкания и прототипы) и DOM. Обратите внимание, jQuery — лишь обертка над DOM и не зная DOM, вы не сможете нормально пользоваться jQuery, вы лишь научитесь копипастить скрипты из интернета, не понимая, как они работают. После этого можете изучать jQuery, заодно советую заглянуть в исходный код, а не только читать документацию.

    5) Изучите один из серверных языков, хотя бы основы

    6) Изучите основы SQL

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

    8) Изучите ООП

    9) Изучите какой-нибудь серверный MVC-фреймворк

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

    > А есть ещё и XHTML, который тоже имеет свои отличия…

    Его уже нет, его никто не будет развивать и использовать, более того, и раньше многие использовали не XHTML, а лишь похожий на XHTML синтаксис (в частности самозакрывающиеся теги), а на деле писали HTML. Вы можете изучить его, но только ради любопытства, а не ради практической пользы.

    > Клиентская разработка нынче редко обходится без всяких шаблонизаторов типа HAML/SASS

    Вы еще Coffescript забыли упомянуть. Это очень спорные вещи, есть мнения как за, так и против. Но в любом случае, согласитесь, как-то странно изучать SASS, не изучив вначале CSS, верно? Начинающему это не нужно.

    > а для эффективной серверной разработки всё и того сложнее: фреймворки, ORM, continuous integration, очереди задач и прочая-прочая.

    Для приложения из 3 страниц все это не нужно. Сложные технологии нужны в больших и огромных проектах, начинать можно и без них. И более того, не имея определенного опыта работы с кодом, вы вряд ли поймете, зачем это нужно. А когда понадобятся, тогда и изучите.

    По вопросу, где брать информацию: авторитетные источники (для поиска ответа во всех подробностях) — это спецификации W3C, официальная документация фреймворков, неофициальные источники вроде htmlbook, stackoverflow или Хабра — для того, чтобы быстро получить представление о тех или иных возможностях HTML. Еще можете какую-нибудь книгу почитать, только не старую.
    Ответ написан
    5 комментариев
  • С помощью каких инструментов создают подобные проекты?

    hol
    @hol
    ¯\_(ツ)_/¯
    Что-бы не задавать таких вопросов установи Wappalyzer/
    Ответ написан
    Комментировать
  • Как взаимодействует fontend и backend?

    Nikita_Kudinov
    @Nikita_Kudinov
    Программирую свои программулины
    Комментировать
  • Какими инструментами быстрее, проще и правильнее разрабатывать и собирать front end (верстка+wordpress)?

    fnnzzz
    @fnnzzz
    front-end dev
    webpack в твоем случае будет излишним, имхо.
    если вебпак, то можно юзать create-react-app, для того, чтобы что-то быстро напрототипировать - там уже готовый/настроенный/поперченный вебпак с hot module replacement.

    в обычных случаях (вроде натянуть верстку на вордпресс или django), я как правило, юзаю галп с лайврилоадом, который однажды настроил и забыл - по-моему лучшее решение. Можешь как написать конкретно под свои нужды сеттинг, либо же найти готовый.
    могу поделиться своим - https://github.com/fnnzzz/gulp-config

    для каких-то совсем простых штук - можно юзать прямо npm-скрипты: https://gist.github.com/fnnzzz/f90304458ee24307a3d...

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

    из препроцессоров юзаю только SCSS + бэм, но бэм использую малость кастомизированный с модификаторами через минус (читать тут - frontender.info/bem-sass-modifiers/)

    но если честно, не надо сильно загоняться - выбирай инструменты, которые удобны тебе и не обращай внимание на хайповость.
    Ответ написан
    8 комментариев
  • Как сказать браузеру, что сайт изменился, и надо обновить кеш?

    @xutesayor
    Там где подключается ваш js-файл добавьте в параметрах номер версии. Например так:
    <script src="/my/script.js?v=1"></script>
    При желании можете это дело автоматизировать
    Ответ написан
    5 комментариев
  • Какие технологии использовать для создания простой страницы?

    * Изучите препроцессор для css типа less, scss. Особенно уделите внимание созданию миксинов. Это в упростит и ускорит работу со стилями.
    * возьмите отдельно сетку reflex, fluidable, flexboxgrid, purecss (там не только сетка. Этакий мини bootstrap)
    * что точно ускорит набор html, так это плагин для текстового редактора emmet (бывший zen coding).

    Это нормальные технологии для повседневной вёрстки, а бутстрап вы бросьте, это бяка.
    Ответ написан
    Комментировать
  • Как влиться в тренд нынешней веб-разработки?

    @SuperOleg39ru
    Front-end разработчик
    Добрый день!

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

    flexbox, grid layout
    - это css из современных стандартов. Что бы знать, когда применять - вы должны знать версии старых браузеров, которые необходимо поддерживать на вашем проекте, и соответствующую поддержку этих стилей. Например, формировать элементы на flexbox на порядок удобнее, чем на float, но в IE9 вы уже использовать flexbox не можете.
    Немного о новинках в css тут.
    Поддержка браузерами тут.

    gulp, webpack и пр.
    - это инструменты, которые созданы для облегчения рутинных задач.
    Для верстки очень удобно использовать gulp - вы описываете задачи, такие как создание локального сервера, мгновенная перезагрузка страницы при изменениях, минификация ваших файлов, и прочее.
    Посмотрите отличный скринкаст от Ильи Кантора!

    препроцессоры
    - представьте, что вам чего-либо не хватает в html и css.
    Например, вы хотите разбивать большие html файлы на множество мелких, или вам нужно вставить в html динамическое содержание - для этого созданы html шаблонизаторы. Вы используете в работе синтаксис конкретного шаблонизатора, затем тот же gulp автоматически собирает эти файлы в обычный html, который понимает браузер.
    Аналогичная ситуация с css, препроцессоры позволяют разбивать файлы на мелкие, и собирать в один, доступны переменные и функции, и многое другое.
    Популярный шаблонизатор Pug
    Один из css-препроцессоров Stylus

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

    Ну и конечно статьи и подкасты:
    https://habrahabr.ru/
    jsraccoon.ru

    https://soundcloud.com/web-standards
    https://radiojs.ru/

    Конкретные статьи и ресурсы для новичка:

    frontender.info/a-baseline-for-front-end-developers
    frontender.info/a-guide-to-flexbox
    css-live.ru/articles-css/pravilnye-kontrolnye-toch...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://medium.com/russian/%D0%BE%D1%82-%D0%BD%D1%...
    https://habrahabr.ru/company/zfort/blog/321214/
    https://frontendmasters.gitbooks.io/front-end-hand...

    Дерзайте!
    Ответ написан
    6 комментариев
  • Как увеличить скорость загрузки сайта?

    Krasnodar_etc
    @Krasnodar_etc
    fundraiseup
    Gzip настроил? Картинки через Tinypng прогнал?

    Кэширование удобнее всего самому настраивать в том же .htaccess , в гугле есть код для этого
    Ответ написан
    Комментировать
  • Как автоматически пересобирать проект на лету?

    villiwalla
    @villiwalla
    HTML-верстка
    Я использую Gulp в той же IDE. Пара полезных ссылок для быстрого старта:
    Основы Gulp
    Установка и настройка
    Bower - тоже полезен раз речь о версионирование кода
    Ответ написан
    1 комментарий
  • Знаю основы HTML CSS, но верстать не получается. Как преодолеть баръер?

    T_y_l_e_r
    @T_y_l_e_r
    изучить float left, clear both, position relative, position absolute,
    посмотреть как ведут себя вложенные диви с разной position
    попробовать сверстать 2 столбика на div и 3 столбика
    сверстать адаптивную таблицу на div
    после практических упражнений все должно получиться
    Ответ написан
    Комментировать
  • Знаю основы HTML CSS, но верстать не получается. Как преодолеть баръер?

    m77x
    @m77x
    Консультант
    Преодолеть барьер очень просто:
    1) загрузить и установить PSPad
    2) открыть и написать первые два тега <html></html>
    сразу возьмите за правило - парные теги писать сразу
    3) в середине этих тегов напишите еще пару тегов:
    <head></head>
      <body></body>

    1 В начале сотворил Бог небо и землю.
    2 Земля же была безвидна и пуста, и тьма над бездною, и Дух Божий носился над водою.
    3 И сказал Бог: да будет свет. И стал свет.
    4 И увидел Бог свет, что он хорош, и отделил Бог свет от тьмы.
    5 И назвал Бог свет днем, а тьму ночью. И был вечер, и было утро: день один.

    в блоке тегов head
    напишите еще пару тегов style
    и у вас получится:
    <html>
      <head>
        <style>
        </style>
      </head>
      <body></body>
    </html>

    И задайте как Бог ваш свет, т.е. в CSS поиграйтесь с цветами и "фокусами"
    <html>
      <head>
        <style>
    * {
    	word-wrap: break-word;
    	margin: 0px;
    	padding: 0px;
    }
    
    html, body{
    	width: 100%;
    	height: 100%;
    	margin:0;
    	padding:0;
    }
    
    body {
    	position: fixed;
    	background: linear-gradient(top, #418ac7 0%, #fafeff 100%);
    	background: -moz-linear-gradient(top, #418ac7 0%, #fafeff 100%);
    	background: -o-linear-gradient(top, #418ac7 0%, #fafeff 100%);
    	background: -ms-linear-gradient(top, #418ac7 0%, #fafeff 100%);
    	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#418ac7), color-stop(100%,#fafeff));
    	background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#418ac7), to(#fafeff));
    	background: -webkit-linear-gradient(top, #418ac7 0%, #fafeff 100%); 
    	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#418ac7', endColorstr='#fafeff');
    }
    
        </style>
      </head>
      <body></body>
    </html>

    Теперь пора создавать "землю" ))
    в style измените css body добавьте картинку вашей Земли:
    body {
    	background: #635328 url('http://img.urodaizdrowie.pl/wp-content/uploads/2013/03/globe.jpg') fixed top center no-repeat;
    	-o-background-size: 100% 100%;
    	-webkit-background-size: 100% 100%;
    	-khtml-background-size: 100% 100%;
    	-moz-background-size: 100% 100%;
    	background-size: 100% 100%;
    }

    теперь озвучьте ваш проект, что-то написав на своей странице, но сразу возьмите за правило, любой текст, должен быть читаемым. Поэтому надо задать цвет. И не просто цвет, но и тень (иначе текст может слится с фоновой картинкой).
    в css добавьте для текста оформление:
    p {
       color: white;
       text-shadow: 0 0 2px #000;
    }

    Используйте резко контрастирующие цвета текста и обводки, например черный текст - белая обводка, белый текст - черная обводка, желтый текст - синяя обводка.
    ну и так далее…
    Верстка это творчество, лишь слегка притянуто к математике ))
    Всего вам доброго, новый Бог!
    Ответ написан
    3 комментария
  • Как правильно перевести веб-приложение на несколько языков?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Заведите JSON файлы - словари для каждого языка, например ru.json en.json
    2. Загрузка нужного json на старте страницы (по выбору пользователя, если еще не выбирал - по заголовку Accept-language) через ajax либо сразу встраиваете в страницу
    3. Нужна js функция для преобразования ключа словаря в фразу, напишу Вам пример:
    0й аргумент принимает ключ, последующие принимают подстановки в строку фразы, например $1 в фразе будет заменено на 1й аргумент
    var dict = {}; //загруженный словарь
    function lang(key) {
      var str = dict[key] || '';
      var args = new Array(arguments.length);
      for(var i = arguments.length; i--;) args[i] = arguments[i];
      return str.replace(/\$\d+/g, function(matched) {
         return args[matched.slice(1)] || matched;
      };
    }

    4. Можно добавить сразу обработку html при загрузке страницы - у всех элементов имеющих аттрибут data-lang заменить содержимое по словарю <p data-lang="key"></p>
    document.addEventListiner('DOMContentLoaded', function() {
      var elems = document.querySelectorAll('[data-lang]');
      for(var i = elems.length; i--;) {
        elems[i].innerText = lang(elems[i].getAttribute('data-lang'));
      }
    }, false);
    Ответ написан
    3 комментария