{tecnologia, conceitos, negócios, idéias, práticas, .NET, ruby, osx, ios e algo mais}
12/07/2010
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 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.
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.
Após instalar o WebMatrix abra o mesmo. Vamos selecionar a opção "Site From Folder" conforme a imagem abaixo: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.Selecionando a opção "Files" na parte inferior, vamos então adicionar 2 arquivos conforme mostra a figura abaixo: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>
</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:Na guia "Tables" Selecione "New Table" como mostra a imagem abaixo:Então defina duas colunas para a tabela, como mostra a imagem abaixo: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 ¬¬ ):É 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.