Бета (2) Internet Explorer 8 имеет встроенного профилировщика JavaScript (на панели инструментов разработчика). С этим стоит играть, по крайней мере...
Как давний специалист по ASP.NET, я недавно прошел аналогичный процесс принятия решения, чтобы выяснить, какие еще веб-фреймворки мне следует попробовать. Вот то, что я узнал до сих пор, что может относиться и к вашему случаю:
Лично я выбрал такой подход:
Я встречал настоящие проекты в крутых небольших компаниях, использующих Django, Ruby on Rails и (эйу!) Даже Zope . .NET предназначен для телепузиков - я слышал только, что он используется крупными корпорациями, которые ничего не знают.
Я бы сказал, что знать два или три лучше, чем знать один, который широко используется, потому что вы получите лучшее понимание того, как это работает как концепция. Например, если вы использовали только Java, в вашем понимании ООП, вероятно, чего-то не хватает, потому что вы склонны думать об этом одним способом. Если вы уже знаете Django, хотя Spring, вероятно, будет хорошим дополнением к этому.
Вы пробовали Spring MVC? Многие компании действительно используют Java для веб-приложений (или .NET) и приложений на основе веб-сервисов.
Я бы сказал, наверное, ASP.NET MVC. Я всегда вижу много работы .NET, и это кажется прочной структурой, которая, как мне кажется, фактически поддерживает все семейство stackoverflow. Как разработчик PHP я должен также упомянуть Zend Framework, который используется рядом крупных сайтов, включая bbc.co.uk , и теперь часто упоминается в рекламе вакансий PHP.
Я бы порекомендовал ASP.NET MVC, Ruby on Rails или Python / Django, все они кажутся популярными и успешными и основаны на парадигме MVC что определенно является подходящим инструментом для работы в Интернете.
Я хочу изучить фреймворк, который продвигает хорошие методы программирования и уважается сообществом программистов. Тем не менее, мне также нужна структура, которую я могу использовать для повседневной работы.
Извините за то, что принес здесь плохие новости, но эти два желания имеют тенденцию конфликтовать. ИМХО, большинство бизнес-менеджеров, как правило, идут на (уродливую) быструю разработку поверх CRM или других сторонних кодовых баз более высокого уровня. Создание элегантных веб-сайтов с нуля в основном происходит в стартапах или настоящих веб-компаниях, где веб-сайт является единственным продуктом. Таких компаний не так уж много; и многие из тех, которые кажутся подходящими, на самом деле представляют собой беспорядок внутри, то есть из-за нехватки времени, беспорядочного устаревшего кода и многих других причин, по которым вы все равно часто не можете писать в соответствии с «хорошими методами программирования».
Я согласен с Калебом Брейси в том, что Java и .NET являются двумя основными платформами, когда доступность вакансий является приоритетом.
Каждый рынок труда уникален, поэтому посмотрите на вакансии в вашем районе или позвоните нескольким людям рекрутеров и спросите, в чем они видят потребность / для чего могут легко назначить вас на младшую должность. Я вижу, что Microsoft Sharepoint пользуется спросом, и есть спрос на несколько других региональных CMS (в Дании я регулярно вижу Sitecore).
Я думаю, что ASP.NET MVC 2.0 вместе с MVC Areas и Динамические данные ASP.NET будут хорошей историей, хорошим решением для многих из тех начальников, которые хотят быстрого развития. И я думаю, что результирующий код может быть вполне нормальным или, по крайней мере, неплохим по сравнению со многими существующими сайтами «CMS, перебитыми во что-то еще». Но это совершенно новая вещь для платформы .NET, и ее сначала нужно будет продать лицам, принимающим решения ...
Итог: Если вы хотите в первую очередь безопасность работы, то посмотрите на большие CMS, такие как Sharepoint и работайте над другими технологиями в свободное время. При желании вы можете позже устроиться на работу в стартап / веб-компанию; но посмотрите, прежде чем прыгать.
.NET и Java на сегодняшний день являются двумя крупнейшими платформами, используемыми работодателями, и, следовательно, наиболее востребованными при поиске работы. В Java есть несколько популярных фреймворков, причем спрос на JSF, Spring MVC и Struts примерно одинаков. Я не использую .NET, но из того, что я видел, основными являются ASP.NET и ASP.NET MVC.
Поскольку вы упомянули Ruby on Rails, вы, возможно, захотите изучить Ruby on Rails. В нем есть несколько хороших практик программирования и очень хорошо продуманная архитектура. Само сообщество Ruby также (по моему личному мнению) создало очень инновационные фреймворки и очень отдает предпочтение тестированию и качеству. Вы можете убедиться в этом по инновационной среде тестирования, такой как Cucumber, webrat, shoulda, coulda, rspec, test / spec. Многие стартапы также используют Rails в качестве платформы, поэтому вам должно быть проще найти работу. Вы можете начать смотреть Работа с Rails и доску вакансий 37signals . Итак, внутри сообщества Rails и Ruby существует хорошая экосистема.
Но обратная сторона Rails по сравнению с Django в основном состоит в том, что там слишком много магии (менее явное), а документация не так хороша, как Django.
Я бы сказал, что большинство упомянутых здесь фреймворков продвигают передовой опыт. Но это не обязательно означает, что компании, использующие эти фреймворки, на самом деле следуют этим передовым методам! На самом деле, скорее всего, нет. Так что не ожидайте слишком многого.
Видите ли, такие места, как Stack Overflow, Hacker News и т. Д., Являются отличным способом связаться с людьми, которые действительно заботятся о своем ремесле. К сожалению, это меньшинство. В мире миллионы программистов. Большинство из них - отстой. Код, который они пишут, отстой. Им все равно. Они не заинтересованы в улучшении своих навыков. Они просто хотят выучить минимум, необходимый, чтобы получить свою зарплату, пойти домой, покормить собаку, провести некоторое время с семьей, посмотреть телевизор, пойти спать и сделать это снова и снова на следующий день.
Хорошо, что было немного резковато: Я понимаю, что вам, вероятно, лучше задать этот вопрос некоторым менеджерам компаний, в которых вы хотели бы работать. Я предполагаю, что большинство из них ответят на .NET или Java. Если вы хотите посмеяться, спросите их, почему они выбрали именно эту технологию, а не что-то еще, и посмотрите, сколько модных словечек они вам бросают;)