Знакомство с Visual Studio 2010
Начнем мы с легального получения ключей для Professional версии. Дело в том, что Express версия совершенно непригодна для работы - она даже неспособна выложить откомпилированный файл в некоторую директорию - поэтому результат ее работы никак получен (и использован) быть не может. Express версия предназначена видимо для каких-то экспериментов студентов с программным кодом, но не для программирования.
Конечно, покупать этот мрак за $549 вряд-ли кому-то придет в голову - тем более за эти деньги продается лишь минимум, способный лишь откомпилировать код и выложить скомпилированную DLL в указанную директорию. Более ли менее приспособленная для практической работы версия стоит $11,899 -а это уже напоминает некое мазохитское извращение (на фоне того, что гораздо более продвинутый NetBeans и Eclipse бесплатны совершенно). За такие деньги (тем более если девелопер не один) - проще сменить платформу.
В секте Билла Гейтса это асазнали и асазнали также тот простой и легко проверямый факт, что сайтов на микрософтовсой платформе существует всего 0,4% от общего количества сайтов. Поэтому для истинных мазохистов (любителей заплатить Биллу Гейтсу) рекламный сайт все-таки оставили, но сами стали думать - как бы микрософт с замечательной доли рынка в 0,4% не сьехал бы на долю 0,0004%.
Придумано было несколько вариантов выдавать бесплатные версии Visual Studio 2010 Professional - WebSpark, BizSpark, DreamSpark. Я зарегался в одной из программ и стал счастливым (?) обладателей нескольких лицензионных копий виндузни, MS SQL сервера и Visual Studio 2010 Professional.
Первое что меня удивило после знакомства с установленной VS2010 - отсутствие привычной справки в формате MS HELP 2. Ведь самая полезная фишка справки - позиционирование текущей отображаемой странички справочника в общую иерархию справочных данных - именно так можно просмотреть весь комплекс вопросов, на которые ты ищещь ответ обращаясь к справке. В Web-справке эта синхронизация недоступна, поэтому для меня web-справочник оказывается совершенно бесполезен. Для того чтобы воспользоваться более привычным и полезным форматом справки - я скачал справочники к себе на диск и настроил выдачу справки с локального диска.
Удивила меня и беспросветная тупость Visual Studio 2010. Вот простой пример (она вся так сделана). Я добавляю View в проект MVC. У меня уже есть Master Page. На нем уже лежит ContentPlaceHolder с именем ContentPlaceHolder1. Я выбрал MasterPage, но имя, с которым пытается связать мое View тупая Visual Studio - все равно MainContent. Откуда она берет это имя, если на мастере совершенно явно указано имя ContentPlaceHolder1? Пытаюсь перейти на щадний план, чтобы взять копипастом имя ContentPlaceHolder1 - ан нет, это окно построения вью - модальное. Блин, почему даже в написанном на коленке Notepadd++ можно перейти на задний план (и все окна НЕ модальные, а тут все модальное и немасштабируемое). Что это все за мрак? В бесплатном эклипсе можно даже прибиндится к любому сервису в один клик мышкой, а тут какой-то глючный мастер с модальными окнами, который даже имя PlaceHolder'а вычитать не может... Хм, какой индус все это писал в своем курятнике/свинарнике за доллар в день?
Но чесно говоря, что меня совершенно убило совершенно - отсутствие отладчика. В новой микрософтовской идеологии MVC все-все-все построено на Лямбда-выражениях, но отладчика нет ни для них, ни для LINQ !!! Мда....Вот это да...Ай да студия за 13 тысяч долларов от Билла Гейтса!!!
Далее я посмотрел на механизмы развертывания сайта и полностью выпал в осадок. По мнению разработчиков чудо-технологии от MS на хостинг сайт на ASP.NET возможно развертывать копированием !?! Это вызывает просто шок у тех, кто реально этим занимается. Я как-то не поленился и потратил один вечер, чтобы вспомнить ситуации, вохникшие у меня (скажем в течение полугода) при попытке развертырвания ASP.NET сайтов - Проблемы развертывания ASP.NET сайтов. Иными словам, для людей с ограниченными умственными способностями, не способными асилить много буков в указанной заметке, резюмирую - развернуть сайт копированием невозможно вообще (если это не просто студенческая проделка в десять строчек). Это понятно любому, кто реально занимается программированием, а не разводит народ на покупки у Билла Гейтса.
Тем не менее, эта мысль о возможности развертывания копированием была в новой версии углублена и расширена - теперь оказывается пакет для копирования можно еще и зазиповать и кинуть на хостинг просто зазипованный пакет. Кинуть-то можно - только кто его там примет? И выполнит хоть что-нибудь из вышеперечисленного мною выше (с чем я столкнулся в личной практике - и этот список может быть расширен многократно любым практикующим программистом).
В общем, полный мрак. Но инструменты доступа к FTP хостингов нужны все равно - поэтому вместо дефективных инструментов студии я поставил на девелоперский кампутер сразу же http://filezilla.ru/.
Мдя, но работать-то как-то надо. Поэтому надо ставить среду коллективной разработки. По поводу среды коллективного программирования у меня на сайте написано много, тут повторяться не буду, отсылаю интесующихся к топику - Избавляемся от Team Foundation Server.
Дальше я прикинул, есть ли смысл писать программы в MVC 1 или MVC 2 - когда уже существует MVC 3. Наверное, смысла нет - поэтому я поставил себе сразу MVC3.
Поставил и вздрогнул. Какая Жумла? Какой Друпал? Какая конвертация в PHP? Хотя я еще в 2009-м году написал, что MS сливает ASP.NET - Microsoft начала раcпространять PHP 5 - все что я увидел все равно оказалось для меня неожиданностью.
Ну и дела... Это какое же адское сырье нам подсунули опять из MS под видом "пиридавой технологии"? Где так необходимое и востребованное развитие ASP.NET? Где новые комплекты контролов? Возможности работать с фреймами, возможности нескольких тегов FORMS, полноценнй инcтрументарий изготовления контролов, которые можно было бы ложить в библиотеки и использовать во многих проектах? Нормальные инструменты вместо EVENTTARGET, позволяющие видеть еще в Page_Load от кого идет постбек. Думаю, каждый практикующий ASP.NET программист перечислил бы десятки позиций, которых ему не хватает для комфортной работы в ASP.NET. Если бы эти инструменты были бы реализованы, то технология ASP.NET заняла долю не 0,4% рынка web-приложений, а стала бы полностью конкурентной.
А меньше всего в развитии ASP.NET требовался ASP.NET URLRewriter, тем более он существует во множестве автономных OpenSource пакетов, свободно догружаемых в ASP.NET (и многие их использовали начиная с ASP.NET 1.1). A еще меньше требовалось полное исключение контролов - технология ASP.NET прекрасно позволяла работать и без них - просто по литералам (у меня множество страниц сделано совершенно без контролов). Ожидаемого и востребованного развития ASP.NET не произошло - вместо этого с огромной помпой подсовывают какое адское сырье.
Visual Studio 2010 проигрывает даже полностью бесплатным средам буквально во всем. Вот тут например, я описал некую мелочь - как можно прибиндится в бесплатной Eclipse контролом к вебсервису в один клик мышки - Создание асинхронного прокси для обращения к WCF средствами Adobe flex builder. Увы, даже таких простых вещей в дорогущей Visual Studio 2010 сделать не получается. Это лишь один штрих, мне такие сравнения с полностью бесплатными средами приходится делать постоянно (непроизвольно) - и, увы, они не в пользу Visual Studio.
От всего этого сырья даже до отсталого PHP - ровно как до Луны раком. Только когда в этой "пиридавой тихналогии" появятся ДЕСЯТКИ CMS хотя бы такого качества как JOOMLA и DRUPAL (вот первый попавшийся список из 237 PHP OpenSource CMS) - и когда в каждой из этих CMS появятся по несколько тысяч готовых бесплатных модулей (хотя бы такого качества и функционала как vluemart - где содержится полный готовый электронный магазин) - вот с этого момента (а не раньше) это чудо-пиридавая технология от билла-де-билла хоть как-то сможет вступить в конкуренцию с "отсталыми" технологиями - по цене среды девелопмента, по цене хостинга, по количеству багов в IDE, по количество плагинов в CMS, по цене операционной системы для хостинга сайта, по скорости освоения технологической платформы, по кроссплатформенности технологии, по удобству и бесплатности доступа к дополнительным модулям CMS, по функциональности этих модулей и тд и тд..
В-общем, вздрогнув еще раз от осознания того что все ASP.NET программисты волей Билла Гейтса оказались в гандоне - я приступил к написанию своего первого в жизни сайта на MVC. (А почитать еще о новых возможностях Visual Studio 2010 вы можете здесь - VS2010 package manager).
|