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?


WebMatrixSemana 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 siteCom 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 TrabalhoSelecionando a opção "Files" na parte inferior, vamos então adicionar 2 arquivos conforme mostra a figura abaixo:WebMatrix - Adicionando arquivos O código destes 2 arquivos é bastante simples, segue nas listagens abaixo:

@{
var database = Database.OpenFile("Site.sdf");
    }
<!DOCTYPE html SYSTEM><html>    <head>        <title>Quaiato's WebMatrix Bookmarks</title>    </head>    <body>                    - <a href="@Href("/NovoBookmark")">Novo Bookmark
                

## Bookmarks
                @foreach(var row in database.Query("select * from bookmarks"))        {             -                 
                    [@row.Url](@row.Url)                    @row.Descricao                
            
        }
               </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 SYSTEM><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 dadosNa guia "Tables" Selecione "New Table" como mostra a imagem abaixo:WebMatrix - criando tabela banco de dadosEntão defina duas colunas para a tabela, como mostra a imagem abaixo:WebMatrix - definindo colunas da tabelaFeito 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 siteWebMatrix - 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