Vinicius Quaiato

{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}

WebMatrix: O que é? Por que e quando usar?


[

WebMatrix

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/splash-2/)Semana passada foi anunciado o lançamento do WebMatrix. Um conjunto de ferramentas que simplificam a vida de quem deseja desenvolver alguns sites utilizando Windows.Atendendo a um pedido da Janynne Gomes(@devnetgomez) estou escrevendo este post para falar um pouco da ferramenta.O WebMatrix integra uma série de ferramentas e componentes que visam facilitar e tornar o processo de desenvolvimento de deploy de um website bastante tranquilos.Para baixar o WebMatrix utilize este link aqui.

O que há no WebMatrix?

O WebMatrix vem com uma versão Express do IIS(IIS Express). Desta forma você não precisa instalar nem configurar um servidor web para criar seus sites com o WebMatrix.Ele também faz uso da versão Compact do SqlServer, que é uma versão embarcada. Mais uma vez, você não precisa instalar e nem configurar um servidor de banco de dados para começar a criar websites. Bastante simples.O WebMatrix faz uso do .Net framework, e você acaba desenvolvendo com C# ou VB e utilizando algo muito próximo do que será o Razor, a nova View Engine para o Asp.NET MVC.

Qual a finalidade do WebMatrix?

Não sei exatamente qual a proposta do WebMatrix. Ele nos permite desenvolver websites utilizando algumas ferramentas open sources já consolidades pela comunidade/mercado.Mas a uma primeira vista, e é muito cedo para dizer com certeza, eu me arrisco a palpitar de que esta é uma ferramenta que tornará simples a criação de websites simples. E quando eu falo de websites eu não estou falando de sistemas, mas sim de pequenos websites.Posso estar muito enganado, e no futuro o WebMatrix pode vir a mostrar um grande potencial e poder para a criação de sistemas (que são complexos por natureza). Mas a uma primeira vista, me arrisco a dizer isso mesmo.Chega de blá blá blá, e vamos ver um pequeno exemplo.

Criando um simples Site bookmark com WebMatrix

Após instalar o WebMatrix abra o mesmo. Vamos selecionar a opção “Site From Folder” conforme a imagem abaixo:[

WebMatrix - Criando site

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/inicial-2/)Com isso criaremos uma pasta e utilizaremos ela para guardar os arquivos de nosso site. Eu criei a pasta no desktop mesmo. Como estamos trabalhando com a versão Express do IIS, não há problemas com isso. Cool han?!Como podemos ver abaixo, está o “Workspace” do WebMatrix. Na parte de cima podemos ver as opções relacionadas com a execução do website. Na parte inferior da tela vemos as opções de acesso aos arquivos e banco de dados do nosso website.[

WebMatrix - Área de Trabalho

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/workspace/)Selecionando a opção “Files” na parte inferior, vamos então adicionar 2 arquivos conforme mostra a figura abaixo:[

WebMatrix - Adicionando arquivos

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/files/)O código destes 2 arquivos é bastante simples, segue nas listagens abaixo:

@{
    var database = Database.OpenFile("Site.sdf");
}

<!DOCTYPE html>
<html>
<head>
    <title>Quaiato's WebMatrix Bookmarks</title>
</head>
<body>
    <ul>
        <li><a href="@Href("/NovoBookmark")">Novo Bookmark</a></li>
    </ul>

    <h2>Bookmarks</h2>

    <ul>
    @foreach(var row in database.Query("select * from bookmarks")) {
        <li>
            <a href="@row.Url">@row.Url</a>
            @row.Descricao
        </li>
    }
    </ul>
</body>
</html>
@{
    var database = Database.OpenFile("Site.sdf");
    var descricao = Request["descricao"];
    var url = Request["bookmarkurl"];

    if(IsPost) {
        if(descricao.IsEmpty()) {
            Validation.AddFieldError("Descricao", "Preencha a descrição do site.");
        }

        if(url.IsEmpty()) {
            Validation.AddFieldError("Url", "Preencha a url do site.");
        }

        if(Validation.Success) {
            var insertQuery = "INSERT INTO Bookmarks (Descricao, Url) VALUES (@0, @1)";
            database.Execute(insertQuery, descricao, url);
            Response.Redirect(@Href("~/Bookmarks"));
        }
    }
}

<!DOCTYPE html>
<html>
<head>
    <title>Quaiato's WebMatrix Bookmarks</title>
</head>
<body>
    <div>
        @Html.ValidationSummary("Erros no cadastro do Bookmark:")
    </div>

    <form method="post" action="">
        <fieldset>
            <legend>Novo Bookmark</legend>
            <div>
                <label>Descrição:</label>
                <input name="descricao" type="text" size="50" value="@descricao" />
            </div>
            <div>
                <label>Url:</label>
                <input name="bookmarkurl" type="text" size="50" value="@url" />
            </div>
            <div>
                <label>&nbsp;</label>
                <input type="submit" value="Adicionar Bookmark" />
            </div>
        </fieldset>
    </form>
</body>
</html>

O código é bastante simples, não vou entrar em muitos detalhes, você pode conferir aqui mais informações sobre a sintaxe e as funcionalidades: http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntaxAgora vamos criar o banco de dados:[

WebMatrix - Criando um banco de dados

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/database/)Na guia “Tables” Selecione “New Table” como mostra a imagem abaixo:[

WebMatrix - criando tabela banco de dados

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/new_table/)Então defina duas colunas para a tabela, como mostra a imagem abaixo:[

WebMatrix - definindo colunas da tabela

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/table_definition/)Feito isso, e com o código que já havíamos criado, já podemos executar nosso website, veja abaixo o resultado (não utilizei CSS para deixar as coisas mais atraentes ¬¬ ):[

WebMatrix - rodando web site

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/rodando_site/)[

WebMatrix - novo bookmark

](http://viniciusquaiato.com/blog/webmatrix-o-que-e-por-que-usar/novo_bookmark/)É isso galera. Espero que tenha conseguido passar como funciona e dado uma idéia inicial de quando utilizar.Vamos ver no que vai dar o WebMatrix, é uma ferramenta interessante. Ainda há muito o que melhorar. Sofri várias lentidões na máquina, alguns “travamentos”, e às vezes algumas funcionalidades pararam de executar (ctrl+z, ctrl+s, etc).Senti falta de um ctrl+k,m para formatar o código, mas tudo bem, isso não faz da ferramenta algo ruim. Se você já testou, deixe seu feedback.

Abraços, Vinicius Quaiato.

Voltar

Fork me on GitHub