Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Требования к современному Front-end Develope-у (https://javascript.ru/forum/job/21559-trebovaniya-k-sovremennomu-front-end-develope-u.html)

Имя 14.09.2011 23:34

Требования к современному Front-end Develope-у
 
Всем доброго дня.

У меня очень важный, лично для меня, вопрос, который я бы хотел узнать.
Я - верстальщик, не так давно начал понемногу осваивать JS/Jquery, и встал перед тупиком, что Именно требует изучения.
В большинстве вакансий при требованиях к кандидату стоит примерно одинаковый критерий - уверенное знание Javascript/Jquery (ну или другой библиотеки). Но это слишком размыто.
Что нужно знать, чтобы считать себя серьезным фронт-энд разработчиком. То есть что ИМЕННО нужно знать?
Кто-то может сказать - "учи Ajax", и это естественно необходимо, но на какие аспекты стоит больше обратить внимание - непонятно. Конечно же фронт-энду необходимо уметь работать хотя бы с одним серверным языком, но с каким именно, и на что больше делать акцент - опять же не ясно.
У меня есть огромная просьба ко всем форумчанинам, которые уже добились успехов в Javascript и ее фрэймворках, работают по специальности - расскажите поподробнее что именно учить, где применить, на какие серверными языками применять получаемые знания, предложите несколько сформулированных прикладных примеров, чтоб было понятно куда двигаться дальше и с интересом продолжать обучение.
Мне нравится web разработка, я бы хотел работать в этой сфере, но прежде я должен качественно обучится и повысить квалификацию, а что именно написать с использованием JS - не знаю.
Прошу не оставляйте мою просьбу без внимания.

Спасибо.

DreamTheater 15.09.2011 02:33

Знание паттернов программирования в целом.
Знание особенностей программирования на JS.
Знание синтаксических конструкций JS.
Быстрая адаптация к любому JS фреймворку.
Знание JS шаблонизаторов.
Работа с юнитест-фреймворками и системами валидации кода.
Работа с системами сборки проектов и компрессорами.
Знание Rake, HAML/SASS/SCSS и прочей рубишной фигни будет хорошим плюсом.
Ну и конечно же всякие Ajax, REST, XML-RPC, SOAP и прочие транспорты которые придут в голову.

Да, и почитайте статьи об MVC (Model-View-Controller) и JS-роутерах.

Навскидку вроде больше ничего в голову не лезет.

Kolyaj 15.09.2011 12:37

Цитата:

Сообщение от Имя
Что нужно знать, чтобы считать себя серьезным фронт-энд разработчиком.

Всё очень просто. Смотрите на любой сложный веб-проект, например тот же GMail, и отвечаете для себя, сможете ли вы его сделать при наличии готовой серверной части, нужного количества времени и денег. Если твёрдое да для любого такого проекта, то можете считать себя серьёзным фронт-энд разработчиком.

Имя 15.09.2011 23:39

Вы имеете ввиду всякие примочки на JS/HTML5/CSS3 ?

DreamTheater 16.09.2011 01:01

Все веб-сервисы Гугла написаны при помощи библиотеки Closure Library. При желании можете попробовать сделать что-нибудь на ней.

monolithed 16.09.2011 08:46

Цитата:

Сообщение от DreamTheater
Все веб-сервисы Гугла написаны при помощи библиотеки Closure Library.

это не важно.

Snipe 16.09.2011 10:07

Ну SVN или Git скорее всего придется тоже знать...

В некоторых фирмах надо знать XSLT. В некоторых шаблонизаторы типа Smarty.

XML и JSON обязательно (хотя тут, вроде, совсем ничего сложного).

da_ff 16.09.2011 11:12

По поводу серверных языков, я бы рекомендовал поближе познакомиться с каким-нибудь MVC-фреймфорком (не суть важно от какой платформы). Этим вы убьете двух зайцев, вникнете в концепцию MVC и получите опыт back-end'а.

Имя 20.09.2011 17:57

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

Kolyaj 20.09.2011 18:00

Календарь с выбором диапазона дат напиши.

monolithed 20.09.2011 18:29

Цитата:

Сообщение от Имя
Ребят, посоветуйте тогда какое бы приложение можно было бы написать.

2-3-х страничный сайт, у которого есть статический каркас, все остальное подгружается динамически, причем состояния активных элементов должны сохраняться (на каждой из страниц сделать drag-n-drop к.л. элемента, с сохранением его положения на следущей динамически подгруженной области, также организовать передачу/опрос на сервер(е) каких-то данных с сохранением в куки), урлы при клике на каждую ссылку тоже менятются (History API).

Можно еще создать форму (отправка, валидация полей), данные, которой будут передаваться на сервер асинхронно, без перезагрузки страницы, сам скрипт проверки полей формы должен быть расположен на другом домене.

DreamTheater 20.09.2011 23:38

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

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

В первой вкладке написать обычный текст приветствия, во второй вкладке должна находиться небольшая новостная лента - просто абзацы текста друг за другом, но с возможностью добавлять туда свои записи и редактировать существующие, записи должны сохраняться даже после перезагрузки страницы (не использовать никаких внешних хранилищ, реализовать на LocalStorage или Web SQL Database). В третьей вкладке должна находиться форма с полями Phone и Email. Поле Phone имеет маску ввода (999) 999-99-99, поле Email должно выдавать ошибку если введена строка отличная от формата example@domain.com.

Содержимое всех вкладок загружается асинхронным запросом из JSONов или XMLей, парсится и рендерится в шаблон. Все это желательно сделать как можно более красивым и в меру анимированным, использовать HTML5 и CSS3. Применить прозрачность, тени, круглые уголки и градиенты (использовать изображения запрещено). Приложение должно соответствовать архитектуре MVC и быть максимально модульным. Не использовать библиотеки и фреймворки (это ведь учебная задача).

PS. Эту задачку в свое время мне дали в компании, в которой я теперь работаю, исходников к сожалению не осталось :(

Триви 21.09.2011 01:08

Цитата:

Сообщение от DreamTheater (Сообщение 127440)
Вот вам задачка, которая покрывает большую часть всего что вам надо уметь во фронт-энде.

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

В первой вкладке написать обычный текст приветствия, во второй вкладке должна находиться небольшая новостная лента - просто абзацы текста друг за другом, но с возможностью добавлять туда свои записи и редактировать существующие, записи должны сохраняться даже после перезагрузки страницы (не использовать никаких внешних хранилищ, реализовать на LocalStorage или Web SQL Database). В третьей вкладке должна находиться форма с полями Phone и Email. Поле Phone имеет маску ввода (999) 999-99-99, поле Email должно выдавать ошибку если введена строка отличная от формата example@domain.com.

Содержимое всех вкладок загружается асинхронным запросом из JSONов или XMLей, парсится и рендерится в шаблон. Все это желательно сделать как можно более красивым и в меру анимированным, использовать HTML5 и CSS3. Применить прозрачность, тени, круглые уголки и градиенты (использовать изображения запрещено). Приложение должно соответствовать архитектуре MVC и быть максимально модульным. Не использовать библиотеки и фреймворки (это ведь учебная задача).

PS. Эту задачку в свое время мне дали в компании, в которой я теперь работаю, исходников к сожалению не осталось :(

И сколько по времени Вы это реализовывали?

ваый 21.09.2011 01:11

Достаточно круто для тестового задания.

da_ff 21.09.2011 10:48

Цитата:

Достаточно круто для тестового задания.
Ну видимо, DreamTheater, тоже не с улицы пришел.

2 DreamTheater, ну надеюсь хоть своими то либами пользоваться можно было?

DreamTheater 21.09.2011 11:19

Порядка двух недель, пришлось написать свою ORM-ку для Web SQL Database, с роутингом на HTML5 особых проблем нету, как и с всевозможными рюшечками типа круглых уголков. Для работы с JSON можно юзать либу (если будете использовать XML, то парсер надо писать самому), своими можно пользоваться. Валидатор на основе регулярных выражений.

Snipe 21.09.2011 12:02

Блин, либо фирма должна быть ну очень крутой, либо такие тестовые задания должны оплачиваться отдельно.
Две недели для тестовго задания - это ну очень много. Даже одна рабочая неделя на тестовое задание, ИМХО, это больно круто.

Да и смахивает оно на рабочую задачку...

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

DreamTheater 21.09.2011 22:32

Цитата:

Сообщение от Snipe (Сообщение 127475)
Блин, либо фирма должна быть ну очень крутой, либо такие тестовые задания должны оплачиваться отдельно.
Две недели для тестовго задания - это ну очень много. Даже одна рабочая неделя на тестовое задание, ИМХО, это больно круто.

Да и смахивает оно на рабочую задачку...

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

Оно не тестовое, оно учебное, я на курсы ходил. По поводу крутости фирмы... ну как по мне да, крутая... мне нравится :)

Триви 21.09.2011 22:53

Цитата:

Сообщение от DreamTheater (Сообщение 127575)
Оно не тестовое, оно учебное, я на курсы ходил.

На какие, если не секрет?

Имя 26.09.2011 17:57

Цитата:

Сообщение от DreamTheater (Сообщение 127470)
Порядка двух недель, пришлось написать свою ORM-ку для Web SQL Database, с роутингом на HTML5 особых проблем нету, как и с всевозможными рюшечками типа круглых уголков. Для работы с JSON можно юзать либу (если будете использовать XML, то парсер надо писать самому), своими можно пользоваться. Валидатор на основе регулярных выражений.

Что означает "написал свою ORM-ку" и что за роутинг на HTML5 ?

DreamTheater 26.09.2011 18:41

Цитата:

Сообщение от Имя (Сообщение 128159)
Что означает "написал свою ORM-ку" и что за роутинг на HTML5 ?

http://ru.wikipedia.org/wiki/ORM
http://ru.wikipedia.org/wiki/Маршрутизация

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

SV0L0CH 26.09.2011 22:06

Цитата:

Сообщение от DreamTheater (Сообщение 127470)
если будете использовать XML, то парсер надо писать самому

Парсить хоть не текст, а DOM?

DreamTheater 26.09.2011 23:37

Цитата:

Сообщение от SV0L0CH (Сообщение 128214)
Парсить хоть не текст, а DOM?

По желанию, но вроде бы текст работает намного быстрее.


Часовой пояс GMT +3, время: 06:21.