Пользователь
0,0
рейтинг
17 августа 2010 в 13:31

Разработка → Microsoft WebMatrix — Reloaded

.NET*
Все новое — это хорошо забытое старое. Видимо, руководствуясь этим принципом, спустя 7 лет Microsoft решила вернуть к жизни одну из своих старых идей — но в новом облачении. Речь идет о WebMatrix — платформе для web-разработки, бета которой стала доступна недавно. Бета включает в себя много всего вкусного — обещанный IIS Express, SQL Server CE 4 и движок представлений для MVC — Razor. А так же — галерею приложений (интегрировано с WebPI), инструменты мониторинга и анализа сайта, средства публикации. Но хватит вступлений, давайте посмотрим что же есть собственно внутри WebMatrix.

Однако, для начала давайте посмотрим как установить WebMatrix. Все, что нужно сделать — обновить Web Platform Installer до версии 3.0, выбрать в списке продуктов WebMatrix и нажать Install.

image

Затем пара минут ожидания, установка всех зависимостей — и теперь мы уже точно готовы начинать. Пойдем по порядку.

Оболочка


Собственно, первое, что видит пользователь после запуска WebMatrix:

image

Для быстрого создания сайта WebMatrix предлагает использовать галерею веб-приложений, создать сайт из предустановленного шаблона или открыть уже существующую папку, содержащую сайт. Если о создании сайта на основании папки сказать, по большому счету, нечего — обычный web site из Visual Studio будет успешно открыт в WM, то шаблоны и галерея представляют особый интерес. Для начала, посмотрим какие готовые шаблоны предлагают нам для быстрого создания сайта. В текущей бете есть 5 шаблонов

image

Сразу оговорюсь, что шаблоны — самые простые — и это одновременно их достоинство и недостаток. Каждый созданный по шаблону сайт будет содержать — набор .cshtml страниц (использующих Razor для рендеринга), базу данных SDF (SQL Server CE 4) и CSS файл. Пока нет шаблонов MVC приложения, ASP.NET WebForms приложений и т.п. — думаю, все это появится в будущем. Cshtml файлы представляют собой страницы, содержащие разметку для нового движка Razor, но сейчас не будем останавливаться на этом — интересующиеся могут почитать перевод записи из блога ScottGu. Пока же чуть подробнее остановлюсь на очень важном компоненте WebMatrix…

Галерея


Галерея Web-приложений — это возможность за 3 клика и за пару минут установить любое из множества популярных web-приложений на базе платформе Microsoft — CMS, eCommerce системы, блоги, галереи, порталы и многое другое. Приложение будет установлено и развернуто без лишних телодвижений, сложных настроек — и самое важное, что для установки не потребуется долгих и запутанных установок связанных продуктов — все может быть установлено и настроено через WebMatrix с небольшой помощью Web Platform Installer (если потребуется установка Sql Server Express, например). В процессе установки нужно будет лишь указать данные для подключения к SQL Server (если приложение не умеет работать с SQL Server Compact) — и после загрузки приложения и всех его зависимостей оно будет открыто в WebMatrix и готово к работе.

image

Редакторы и инструменты


Оболочка, помимо доступа к галерее и шаблонам, предоставляет набор встроенных редакторов и средств для управления созданным сайтом — это и редакторы коды, разметки, дизайнеры и редакторы данных для БД, средства публикации сайта и некоторые средства анализа веб-приложения.

image

Редактор поддерживает подсветку синтаксиса C#, VB, HTML, XML, CSS, CHTML (Razor), ASPX etc — но, на данный момент, не поддерживает Intellisence — поддержка появится в поздних версиях. Поддерживается создание структуры и наполнение данных таблиц БД с помощью встроенных редакторов.
В качестве дополнительных инструментов, входящих в WebMatrix можно выделить следующие:
1. Поддержка миграции на SQL Server. Когда возможностей SQL Server Compact не достаточно, можно легко мигрировать БД на SQL Server — достаточно сделать два клика (или один, если сервер уже установлен), указать параметры подключения и немного подождать.

image

2. Средства публикации. Стремясь упростить не только разработку, но и весь жизненный цикл веб-приложения, Microsoft добавили в WebMatrix инструменты для публикации сайта и, кроме того, даже возможность подобрать хостинг. Поддерживаются три модели публикации — FTP. FTP/SSL и Web Deploy — используя специальные средства от Microsoft. Так же, доступна инкрементальная публикация — т.е. WebMatrix строит список измененных локально файлов и позволяет в один клик обновить их на сервере.

image

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

image
image

Компоненты


Разобравшись с внешним видом и возможностями WebMatrix, заглянем «под капот». WebMatrix лежит на трех китах — IIS Express, SQL Server Compact Edition 4 и движок представлений Razor.

a. IIS Express

О нем было сказано уже не мало — можно почитать обзор от ScottGu (перевод) — или любой из множества обзоров, появившихся на профильных ресурсах. Если коротко подытожить, что же представляет из себя IIS Express получим следующее:
• Легкий и маленький сервер для разработки и тестирования приложений, а так же для использования в качестве embedded web-сервера
• Полная совместимость с модулями полноценного IIS
• Integrated Pipeline и Classic режимы
• Поддержка CGI (возможно разворачивать PHP приложения, например)
• Совместимость с конфигурационными файлами IIS (applicationHost.config, web.config)
• Поддержка SSL
Некоторые недостатки так же имеются, как то — невозможность управления через IIS Manager, только через консольную утилиту appcmd, либо редактированием applicationHost.config, пока (в бете) некоторые сложности с поддержкой WCF, нет интеграции с VS (хотя это исправимо) — но многое будет исправлено и улучшено в релизной версии.

b. SQL Server CE 4

Новая версия Embedded СУБД от Microsoft. Эта версия сделала очень качественный рывок вперед, которые открывает перед ней совершенно новые перспективы. А именно – наконец-то реализована работа с СУБД в многопоточном режиме. Если до этого приходилось писать свои уровни абстракции, которые занимались управлением доступом к БД, то теперь SQL Server CE лишен этого серьезного ограничения. Таким образом, его становится возможно использовать даже в веб-приложениях. Более того, SQL Server CE 4 не требует установки! Т.е. чтобы добавить в веб-приложение поддержку этой СУБД достаточно скопировать в папку bin набор необходимых сборок – и все. Так же, SQL Server может успешно функционировать в Medium Trust окружении, т.е. ему открыта дорога на большинство shared-хостингов.
Так же из плюсов SQL Server CE можно отметить – доступный провайдер для Linq2Sql, Entity Framework, совместимость синтаксиса со взрослым SQL Server и, соответственно, легкая миграция на полноценный сервер – с минимумом переписывания кода. Словом, SQL Server CE 4 – идеальный выбор для быстрого прототипирования или использования в небольших, ненагруженных проектах – с возможностью быстрого перехода на полноценный SQL Server.

c. Razor

С появлением MVC Framework у разработчиков ASP.NET появилась мощная, мейнстримовая альтернатива WebForms. Она приносила некоторые новые парадигмы и в целом – смотрелась «легче» чем WebForms. В эту концепцию лаконичности и изящества идеально вписался новый движок для генерации представлений – Razor. Он войдет в состав ASP.NET MVC Framework версии 3 (которая даже позоволит выбирать движок на этапе создания View), сейчас же он доступен для ознакомления в рамках WebMatrix. О нем можно подробнее почитать и посмотреть примеры использования в статьях (1,2) на хабре, в блоге Скота Гатри.

Заключение


Итак, подводя итог всему описанному выше – что же такое Microsoft WebMatrix:
1. Легкая, интегрированная, «все-в-одном» среда разработки веб-приложений на базе технологий от Microsoft
2. Приятный и легковесный интерфейс для разработчика
3. Средства для разработки, оптимизации, анализа веб-приложений и для их публикации
WebMatrix идеально подойдет для разработчиков, только знакомящихся с веб-технологиями Microsoft, или желающих перейти с других платформ. Она может быть использована, например, в школах – на занятиях с углубленным изучением информатики, которые подразумевают разработку веб-приложений. Так же – на младших курсах университетов или на курсах, где веб разработка не является профильным предметом – или для начинающих разработчиков, свято верующих в миф, что все, кроме PHP является «сложным и ООП». А с развитием платформы – кто-знает – может стать хорошей альтернативой Visual Studio Express Web.
alek_sys @alek_sys
карма
39,9
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (35)

  • 0
    Ну и кому же нужен этот зверь?
    • 0
      Ну я в заключении постарался показать — кому и зачем. Для небольших проектов, для знакомства с технологией — избежав кучи взаимосвязанных установок, новых продуктов и технологий — все собрано в одном месте и объединено.
      • –2
        А не думаете, что потом будут плеваться на этот Web-Matrix и с опаской смотреть на ту же Visual Studio?
        • +2
          А почему они будут плеваться на WebMatrix? Сделано красиво, удобно. Visual Studio — все таки профессиональный инструмент, а WebMatrix идеально подойдет чтобы посмотреть что к чему.
          • –1
            Потому, что если понадобится что-то выходящее за рамки шаблонов и модулей, то начнутся большие проблемы.
            • +1
              Не совсем понимаю логики. Там же есть обычный редактор кода, HTML, CSS — чем это сложнее и проблематичнее, чем редактирование того же в Visual Studio Express?
              • –1
                Просто обычно универсальные WYSIWYG all-in-one продукты хороши для стандартных приложений, как только надо сделать что-то оригинальное — тупик.
                • 0
                  Речь не идет о WYSIWYG. Это скорее ближе к xampp / Denver etc — когда разработчик получает готовую платформу, без необходимости ставить по частям IIS, SQL Server, IDE и т.п. Web Matrix ни коим образом не освобождает от необходимости писать код, просто делает это доступнее и проще для начинающих
                  • –2
                    Тогда время покажет выживет он или нет, а также принесет пользу или головную боль :)
    • 0
      Например моему сыну, которому 13 лет и он хочет изучать web-программирование.
  • +2
    Думаю, что с выходом поддержки IIS Express в VisualStudio, WebMatrix забудется также быстро, как и его предыдущая версия.
  • 0
    А когда оно все зарелизится?
    • 0
      Пока, к сожалению, нет точной даты — будем смотреть за анонсами.
  • –5
    В народ.ру Microsoft увидели колоссальный недостаток — его придумали не они.
    • +3
      Вы путаете, Web Matrix — это не «конструктор сайтов + хостинг». Это в первую очередь IDE — включающая в себя web сервер и СУБД, «младший брат» Visual Studio.
  • 0
    я бы сказал что это эдакий xampp только с встроенными редакторами и аналитическими софтинами, выглядит весьма многообещающе, особенно если будет разворачиваться легко и быстро
    • 0
      Да, интегрированная платформа для «быстрого старта». А разворачивается в несколько кликов )
  • 0
    Мне кажется хорошая вещь, так как требует от разработчика лишь знания английского (для чтения документации) и прямых рук.

    Я пользуюсь похожим решением от Oracle — APEX. Устанавливается бесплатный сервер XE и… и все. Среда быстрой разработки сетевых приложений уже встроена в БД.

    Я достаточно далек от программирования и от профессиональной разработки, занимаюсь курированием проектов в инвестиционно-строительном холдинге. Так вот высшему руководству требуется много информации, которую они не могут доверить айтишникам (имею в виду КИСы), и эти данные приходится вести как попало доверенным лицам.

    Вот и мне приходится вести достаточно специфической информации. Раньше использовал excel, но возникли известные проблемы. Потом пересел на access, но тут грабли с файл-серверной архитектурой. Потом вот решил попробовать APEX… Конечно знания нужны выше офисного, но зато у меня теперь в локалке вертится полноценное веб-приложение и мой шей может даже из дома отчеты смотреть. Но вот APEX все же немного трудноват для обычного приложения. А вот этот продукт, возможно, легче в освоении и разработке.
    • 0
      "… мой шеФ..." еонечно же
      • 0
        … слишком много кофе =)
    • +1
      Я думаю, в качестве замены APEX пойдет грядущий LightSwitch — который даст возможность строить Silverlight приложения основываясь на данных (как делает, например, Access). В случае с WebMatrix придется осваивать и HTML / CSS и C# — хотя это и объединено в единую среду.
    • 0
      Быстро просмотрел что такое APEX. Можете пояснить, чем конкретно он отличается от MS SharePoint?
      Я так понял он идет в нагрузку к уже купленной Oracle DB. За APEX нужно платить?
      • +1
        Быстро просмотрел, что такое SharePoint =) SharePoint все-таки более комплексная система, у которой есть конкуренты от Oracle более серьезного содержания, типа BI и тучи других решений. APEX же, это скорее замена excel и access, причем именно так эту систему позиционирует сам Oracle. По-поводу условий распространения, у Oracle есть аналог MS SQL Express, называется Oracle XE (express edition). Эта БД распространяется бесплатно, в нее уже встроена среда разработки APEX версии 2, сейчас уже есть APEX 4, обновится не сложно. Вче это бесплатно, но у БД есть стандартные ограничения на память и процессор, а так все бесплатно. Причем бесплатно в таком плане, что можно свои произведения продавать.
        Вобщем, мне нравится, для корпоративной управленческой базы вполне хватает, только если хочется выйти за пределы возможностей access, то придется изучать достаточно упорно plsql и js, что для обычного пользователя достаточно трудно.
  • 0
    А что, очень даже. Причем главная кнопка там «залить на хостинг». Не для домохозяек, но для тех кому нет желания сильно увлекаться деталями. Взял, выбрал, попробовал, наваял, залил, радуйся.

    Конечно, отдельное спасибо за то, что не ограничились .NET + MSSQL. Тот же Drupal или WordPress поднять на виндовой машине, погонять, набить контентом. Ну если бы конечно к Denver были такие плагины… но :)
  • 0
    Не знаю, кто целевая аудитория WebMatrix, но видимо MS прозондировала рынок, если выпустила этот продукт.
  • –1
    Строить решения на базе SQL CE CTP это разве для пионеров или камикадзе. У них в 3.5 движке после двух сервиспаков AccessViolation примерно после двух часов нагрузочного однопоточного тэста. А 4-ую версию должны были основательно переколбасить, сколько там багов одному Скоту Гу исвестно. Хотите перезапускать веб-сервер каждых два часа и подработать тэстером в свободное время для Майкрософта you are welcome.
    • +2
      Как вы категорично клеймите позором SQL CE. У меня CE 3.5 SP2 работал в полне себе продашн системе — нагрузки конечно были смешные — вялые запросы раз в 10-20 секунд, но большего же от него и не требуется. Никто не позиционирует SQL CE как решение для enterprise платформы. Но для блога «пацанов из 11-а» — отличный вариант, позволит взять более дешевый вариант хостинга (без SQL Server).
      • 0
        Так случилось что нашу програму рещили приспособить для контроля одного процеса который продолжается две недели. Програма падает примерно на второй день работы с AccessViolation, нагрузка сохнанение 50 байт раз в 5 минут, проблема полностью совпадает с описанным здесь debuggingblog.com/wp/2009/02/18/memory-access-violation-in-sql-server-compact-editionce/ На простом проэкте который кидает пачку в 1000 строк дефект восспроизводится через 10-15 минут 100%. Как такое может остаться в продукте после выхода 3.0, 3.5, SP1, SP2? Ответ очевиден сэкономили на тэстировании. А я убил на отладку 2 месяца, переписал Database access layer трижды потому что Майкрософт говорит AccessViolation бывает при исспользовании одного конекта разными потоками и если в системе есть конфликтующие версии, потом изучил Windbg и всё безтолку.
        Веб-сервер это как раз тот случай когда такая ситуация с регуларными падениями недопустима. Но учитывая что аудитория пользователей движка увеличится в разы, есть надежда что к релизу таких грубых косяков не будет, хотя Enterprise Library 5.0 в чуть более сложном конфиге регулярно роняет приложение и ничего в релизы ушло. А я лично переехал на SQL Server Express и радуюсь жизни, надоело быть бесплатным тестером.
        • 0
          Приложение, которое я описал, работает без перезапусков по 1-2 недели (сейчас может и больше) — Access Violation не было. Проблемы с доступом из разных потоков — да, были — писал свой менеджер для доступа к базе. Но в новой версии как раз это и пофиксили.
          Я не хочу вас расстраивать, но и в SQL Express могут быть баги :). А вообще — если есть возможность, то можно изначально выбирать SQL Express, просто иногда все же нужна embedded СУБД. И выбирая SQL CE просто нужно понимать, что это такие и какие проблемы он может принести.
        • 0
          А я лично переехал на SQL Server Express и радуюсь жизни,

          Я не оправдываю MS за эту багу, но вы сделали абсолютно логичный и предсказуемый шаг — как только вас (по какой-то причине, не только из-за этой баги) перестала устраивать версия SQL Server, вы просто сделали апгрейд с минимальными изменениями. Следующим шагом будет полноценная версия MS SQL Server, а потом вы пойдете в облако.

          В этом-то вся и прелесть — приложение эволюционирует по мере необходимости ресурсов и без особого напряга для разработчика. Т.е. проект вполне может зародиться «на коленках», а потом держать 1К хитов в секунду.
  • 0
    Черт возьми, опять Microsoft сделала конфетку для тех, кто хочет с нуля склепать нечто, исключительно методами drag-n-drop.

    Но движение у них все же правильное. От «все для создания первого прототипа» к «все для развития своего продукта».
    • 0
      Просто они хотят предоставить инструменты для различных целевых групп. Не каждый, чтобы посмотреть на что похоже ASP.NET или оценить какую-либо ASP.NET CMS захочет ставить Visual Studio, IIS (который вообще доступен только в Pro и выше редакциях ОС), SQL Server и соединять все это воедино.
      Так что движение — да, правильное.
      • 0
        Есть еще интересный продукт web platform installer, именно для того чтобы быстро поставить у себя какой-либо CMS и поиграться с ним.
        • 0
          Да, и Web Matrix по сути, использует галерею приложений из WPI. Однако WPI не избавляет, например, от необходимости иметь IIS, конфигурировать его и т.п. А при желании заглянуть в исходники / поправить что-то — еще и ставить Visual Studio
          • 0
            Ага. спасибо за разъяснения. Мне казалось, что WPI сам может поставить IIS. Хотя я никогда и не пробовал так с ним жестоко обойтись :)

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