LINUX.ORG.RU

Знаю что хочу, не знаю как учить (web)

 , , ,


2

2

Хочу заниматься frontend, в интернетах нашёл такой список труЪ frontendщика:

  • 1) HTML5.
  • 2) CSS.
  • 3) Препроцессоры CSS.
  • 4) Jade + EJS.
  • 5) Bootstrap.
  • 6) Emmet.
  • 7) Javascript.
  • 8) Jquery.
  • 9) DOM + AJAX.
  • 10) Angular.js

Правильный ли он? Что тут надо добавить/убрать? Я начинающий в этом вопросе, хотелось бы вашей помощи.

Сначала надо изучить до определенного базового уровня HTML, JS, CSS в том виде, в котором они сейчас используются. Потом уже браться за фреймворки всякие, чтобы обоснованно понимать, какие вещи они делают проще и почему они все - говно.

amomymous ★★★
()

html5, javascript,

frontend, в интернетах нашёл такой список труЪ

пожалей людей... не надо, пожалуйста

reprimand ★★★★★
()
  • Js
  • HTML5
  • CSS
  • DOM
  • Ajax XMLHttpRequest

Фреймворки - это такая хитрая замануха в ад. Процесс такой: Читаешь про DOM и понимаешь, что он довольно сложный и низкоуровневый. Открываешь сайт фреймворка и видишь на главной как в три строчки написать сайт не зная основ. Осваиваешь море всякого бесполезного хлама, но по прежнему испытываешь страх от document.querySelector и XMLHttpRequest. В итоге начинаешь подключать библиотеки на каждый чих (который делается в три строчки на чистом js).

Дальше-больше. Начинается обмазывание трансляторами и парсерами. CoffeeScript вместо js. Yeoman-ом генеришь angular-каркас, который билдится в browserify-бандл с помошью grunt-a. Непонимание CSS заставляет думать, что тебе срочно нужен LESS, который ты тоже подключаешь к grunt-у. 50 строк HTML-а? Да нам срочно нужен Jade! И куда же мы без bower-a - ведь надо установить десяток браузерных библиотек.

В итоге имеется кучу хлама на сервере, который никак не связн с конечным результатом. Этот хлам магическим образом генерит вторую кучу хлама для клиента, в котором разобраться не в состоянии даже самый крутой хакер (ничего страшного - подопрем эту гору г**нокода source map-ом!)

А что реально нужно было? Написать несколько html, css, js-файлов. Всё.

Про DOM Читать mdn примерно в таком порядке: 1 2 3 4

И вообще читать MDN по всем вопросам, касающимся html, css, js

Еще можно при желании почитать про паттерн MVC и начать писать код в этом стиле

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 2)
Ответ на: комментарий от amomymous

HTML, JS, CSS в том виде, в котором они сейчас используются

С тех пор, как я их начал осваивать (ещё версий 2, 1 и CSS ещё не было), HTMS и CSS стали сильно лучше, JS вызывает экзистенциальную рвоту, Jquery призван упростить JS - а на деле всё ещё страшнее становится...
Пока ангулар с бутстрапом радуют - крупицы здравого смысла в аду JS.

Shadow ★★★★★
()
Ответ на: комментарий от Kilte

Я, являясь сеньором frontend разработки, официально одобряю этот комментарий.

Goury ★★★★★
()
Ответ на: комментарий от makoven

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

Goury ★★★★★
()
Ответ на: комментарий от Goury

Я, являясь рандомным хером с горы, поражаюсь самомнению этого регистранта.

beresk_let ★★★★★
()
Ответ на: комментарий от Shadow

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

А что хорошего про них можно сказать? Да ничего. Просто модная фенька для безграмотных недодевелоперов, не способных осилить пару учебников.

Goury ★★★★★
()
Ответ на: комментарий от Shadow

Ангуляр. По моим ощущениям это попытка принести худшее из мира java в js (фабрики фабрик). Задумка, по видимому, была максимально упростить разработку спрятав всю сложность за магией. Но то, что получилось - в разы сложнее ванильного js/dom.

Часто дата-биндинга не хватает и приходится описывать директиву на dom (хотя, как я понял по форумам, крутые frontend разработчики подключают для этого jquery)

В итоге ты только и делаешь, что пытаешься примирить особенности магии ангуляра (которые сорершенно неочевидны и раскиданы по всему stackoverflow) с ванильным js. Методом интуитивного тыка пытаясь выяснить почему внутри контроллера/директивы не работает код, который прекрасно работает без ангуляра

makoven ★★★★★
()

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

dizza ★★★★★
()
Ответ на: комментарий от Goury

дико тормозючее

О как...

А что хорошего про них можно сказать?

Ну, я просто их использую для ровного «адаптивного дизайна» и вот это - когда из PostgreSQL через ORM данные сразу в странице, и наоборот. Очень упрощает жизнь, когда ты один на всё.

Shadow ★★★★★
()
Ответ на: комментарий от makoven

Часто дата-биндинга не хватает

Например? Не могу вообразить, когда именно для data не хватает его биндинга. Если свистоперделки - то ладно, ок.

крутые frontend разработчики подключают для этого jquery

...это же сарказм? Тогда точно всё тормозит.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Например? Не могу вообразить, когда именно для data не хватает его биндинга. Если свистоперделки - то ладно, ок.

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

Еще вспомнились ES6-несовместимые промисы, оборачивание всего в объекты (из-за отсутствия поддержки отслеживания простых значений). А, и гадание, куда впихнуть Angular.$apply() чтобы все заработало (в случае когда надо было сделать что-то за рамками фреймворка)

makoven ★★★★★
()
Ответ на: комментарий от makoven

То есть все что ты выше написал — словестный мусор. ок.

anonymous
()
Ответ на: комментарий от makoven

А, понял. Нет, я с этим, видимо, и не столкнусь - у меня для сайтов ui.bootstrap, для мобильных - ui.mobile, буду по юзерагенту различать.

Shadow ★★★★★
()
Ответ на: комментарий от anonymous

Ещё какое. Эта срань позволяет тянуть в браузер всякую хрень.

ya-betmen ★★★★★
()
Ответ на: комментарий от Shadow

Это кажущееся упрощение потом выльется страшными граблями.

Goury ★★★★★
()

react.js забыл.
И ClojureScript.
И Google Closure Compiler чрезвычайно важно уметь пользовать.

Hertz ★★★★★
()
Ответ на: комментарий от ovk48

Вообще-то это ЯП, а не фреймворк.

Это не имеет значения, язык это или фреймворк. Рантайм у него офигителен. Cljsbuild очень плотно дружит с google closure compiler, и если в defproject.clj выставить :optimization :advanced, то помимо обфусцирования на выхлопе получается хорошо заоптимизированный код. Ой, каюсь, я ещё забыл такие невероятно важные вещи как figwheel (собирает и подгружает изменённый код в браузер) и reagent (простая cljs-обвязка над react.js).
http://timothypratley.blogspot.ru/2015/07/you-should-be-using-figwheelreagent...

Hertz ★★★★★
()
Ответ на: комментарий от makoven

Бедный, что с тобой? Бустрапик норм, жквери нормалек. Ну если хочешь петушить на n^10 строк кода больше, то да, голый js, css.

FIL ★★★★
()
Ответ на: комментарий от FIL

Бустрапик норм

Для презенташек - норм. Для сложной одностраничной аппликухи - слишком много неочевидных моментов

жквери нормалек

Чего современные браузеры (включая IE>=9) не умеют, что умеет jQuery? DOM был «a Mess» в 2009 году и jQuery прекрасно сглаживал различия браузеров. А сейчас-то он зачем?

makoven ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.