11.05.2012, 15:06
|
Новичок на форуме
|
|
Регистрация: 11.05.2012
Сообщений: 2
|
|
Расскажите пожалуйста о реалиях веб-разработки.
Здравствуйте!
Я начинающий web-программист,точнее хочу им стать. Прочел книжку по html/css и основам JS,сейчас читаю книгу от создателя данного ресурса.Но проблема в том,что я совсем не представляю как выглядит веб-разработка в наши дни. Все эти CMS, фрейворки, шаблонизаторы(плохо понимаю что это,быть может и синонимы)...
Расскажите пожалуйста,как пишутся сайты в серьезных конторах?
Т.е. программист садится,открывает любимую IDE и с чистого листа пишет или все-таки фундамет закладывается при помощи фреймворков(?) и программисту остается лишь допилить? Так же хотелось бы узнать все-таки побольше про CMS,фрейморки и все,что с ними связанно. Я говорю не только про JS,а вообще про все инструменты,используемые при разработке.
И еще такой вопрос - в онлайн учебники дошел до части с замыканиями,статичными методами,фабричными методами и т.д. Там есть несколько,для меня,странных примеров.Например, вызов функции в таком виде sum(a)(b).Используется ли это все в реальной разработке или это просто синтаксический сахар(ужас?)?Вопрос вызван тем,что я пока плохо понимаю,как это можно применить на практике и в тех примерах JS, которые я видел, ничего такого нет.
Какое вообще имеет направление вектор веб-разработки в наши дни?
Буду рад любым ответам,в том числе ссылкам на хорошие ресурсы.
|
|
12.05.2012, 18:16
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
Ну про замыкания я тебя могу успокоить - это дело не для новичка, и тебе не скоро пригодится. В каждой организации свой подход к разработке (фреймворки/не фреймворки, цмс/не цмс). Во всех сайтопишущих конторах используют цмски. В крупных организациях при разработке какого-ниб внутреннего веб-продукта могут использовать какой-нибудь пхп фреймворк (Zend, YII) и чаще всего используют какой-нибудь js-фреймворк (jQuery, ExtJS). В общем фреймворк выбирается в зависимости от типа проекта. Для мобильных устройств могут использовать например Sencha Touch или вообще на чистом JS писать.
Для начала пойди работать стажером в любую фирму что пишет сайтики. Проработаешь пол года (у кого как) поймешь куда развиваться дальше.
|
|
12.05.2012, 19:48
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от cmygeHm
|
Ну про замыкания я тебя могу успокоить - это дело не для новичка, и тебе не скоро пригодится.
|
Это так, только в случае если хочется остаться новичком.
Для JS-разработчика использовать замыкания должно быть также естественно как дышать.
Да и по хорошему делу, 90%+ кода должно находится в замыкании, кроме случаев преднамеренного объявления глобальных переменных и функций
|
|
12.05.2012, 22:16
|
|
Матрос
|
|
Регистрация: 04.04.2008
Сообщений: 6,246
|
|
Сообщение от Maxmaxmахimus
|
если ты конечно не назвал функцию обертку - замыканием.
|
То что я назвал замыкание - это и есть замыкание
(function(){//пример на каждый день. ничего сложного, но очень полезно
var name = null;//перестаем срать в глобальную область видимости, а используем локальные переменные. Попутно обретаем блага в Chrome
})();
А вот функция-обертка - это самостоятельный паттерн, не имеющий отношения к замыканиям.
Как вы могли перепутать эти два понятия - мне очень интересно
|
|
14.05.2012, 11:10
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
Я думаю если человеку в первый же день поставить ультиматум, что если он сейчас же не поймет, что такое замыкание, то он не сможет стать JS-программистом, то я думаю он не сможет им стать! =) А вот когда он задастся вопросом "почему
for(var i = 0; i<10; i++){
document.getElementById('divId'+i).onclick = function(){
alert(i);
}
}
выводит 10 при клике на каждый див?" я думаю будет занятнее узнать что такое замыкание.
|
|
14.05.2012, 11:20
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Shampe
|
Т.е. программист садится,открывает любимую IDE и с чистого листа пишет или все-таки фундамет закладывается при помощи фреймворков(?) и программисту остается лишь допилить? Так же хотелось бы узнать все-таки побольше про CMS,фрейморки и все,что с ними связанно. Я говорю не только про JS,а вообще про все инструменты,используемые при разработке.
|
С "программист садится и пишет код" никогда ничего (кроме фейлов, конечно) не начинается. Сначала идёт стадия проектирования, где определяется, кто, что и как будет делать. Одна большая задача "Сделать заказчику зашибись" разбивается на несколько маленьких, которые раздаются конкретным людям (дизайнеру — нарисовать шаблон, чтобы было зашибись, программисту — написать приличный код). Для программистов проектирование это ещё и определение компонент проекта и их взаимодействия.
Используются ли готовые CMS / фреймворки / библиотеки — зависит от проекта. Если есть возможность использовать существующую CMS, то почему бы и нет? Если существующие CMS не устраивают (перепиливать много и сложно), то можно использовать фреймворк. Иногда программисты в конторках пишут свои фреймворки (а то и CMS).
Библиотеки, по хорошему, надо использовать как можно чаще, чтобы не изобретать велосипеды. Но и использовать библиотеку ради использования библиотеки не стоит (Опять же, если библиотека слишком велика, а нужна лишь её малая толика, возможно, есть смысл написать нужную функциональность самому).
|
|
14.05.2012, 14:58
|
Новичок на форуме
|
|
Регистрация: 11.05.2012
Сообщений: 2
|
|
Всем спасибо за ответы!
По поводу замыканий: я слишком сумбурно сформулировал вопрос. С замыканиями более-менее разобрался,но меня больше смущают экзотические возможности языка,например возможность вызвать функцию таким образом - sum(a)(b)...(n). Собственно, в учебнике этот пример описан ради того,чтобы показать "крутость" языка,или подобные приемы используются в реальных задачах и реальных библиотеках?
И да,какие знания,по вашему мнению,необходимо иметь стажеру JS?Ясен пончик,что конторы разные бывают,и у всех разные требования, но я думаю,что все-таки основные требования у многих похожи.
|
|
14.05.2012, 17:14
|
|
⊞ Развернуть
|
|
Регистрация: 11.01.2010
Сообщений: 1,810
|
|
Сообщение от Shampe
|
этот пример описан ради того,чтобы показать "крутость" языка,или подобные приемы используются в реальных задачах и реальных библиотеках?
|
Код вида fnc(arg1)(arg2)(arg3)(arg4) обычно не встречается в реальных библиотеках. Но знать о таких возможностях языка полезно.
|
|
14.05.2012, 17:23
|
|
Профессор
|
|
Регистрация: 12.10.2010
Сообщений: 196
|
|
Gvozd, я не вопрос задавал =)
Последний раз редактировалось cmygeHm, 15.05.2012 в 14:18.
|
|
|
|