Fujiy

Blog sobre .NET, C#, ASP.NET entre outras tecnologias de desenvolvimento de software

ASP.NET MVC, Web API, Razor agora são realmente Open Source

27/03/2012 22:24:30 Por Fujiy

Com o apoio do Phil Haack, o ASP.NET MVC é Open Source desde a primeira versão, sendo usado inclusive no Mono. Isso parece ter aberto as portas pra uma Microsoft muito mais Open Source, que hoje além de ter vários projetos Open Source, como MVC, DLR, IronPython, IronRuby, Web Pages/Razor, WebAPI, etc. também está usando vários projetos Open Source em seus produtos, como o jQuery, jQuery UI, Modernizr, recentemente o JSON.NET, entre outros.

Hoje o ScottGu anunciou grandes notícias. Teremos o ASP.NET Web Pages e Web API disponibilizados com a licença Apache 2.0, permitindo que também sejam incluídos no Mono. Além disso, pela primeira vez, qualquer desenvolvedor poderá enviar patches e códigos que serão avaliados pela equipe da Microsoft e se aprovado será integrado ao código fonte oficial dos produtos. Isso é uma grande mudança nos conceitos da Microsoft, ainda não imagino como será o processo para garantir que o código é legitimo e não foi copiado de algum outro produto protegido por copyright, que era uma das preocupações em relação a aceitas códigos do público.

Os códigos fonte serão disponibilidados no Codeplex pelo projeto http://aspnetwebstack.codeplex.com/ usando o recém anunciado suporte para Git, sempre que algum desenvolvedor da Microsoft fizer um checkin teremos o código disponível imediamente.

ASP.NET MVC 2 Preview 2

01/10/2009 06:40:00 Por Fujiy

Mais dois meses e já temos o Preview 2 do ASP.NET MVC 2. Algumas das novidades deste Preview:

  • Validação Client-Side - Agora também é possível ter validação baseada nos metadados das propriedades, graças ao jQuery validation library que agora também vem no pacote.
  • Areas - Agora você pode criar Areas sem precisar ter um projeto separado para cada uma.

Roadmap

O download  está disponível apenas pro Visual Studio 2008 SP1, quem quiser usar no VS 2010 deve esperar o Beta 2,que já virá com o MVC 2 Preview 2, assim como o RTM virá com o MVC 2 RTM

Extensões Telerik para ASP.NET MVC

12/08/2009 10:05:00 Por Fujiy

Foi liberado o primeiro preview públicos das extensões para ASP.NET MVC do Telerik. É um framework leve para desenvolver os componentes visuais que conta com Accordion, DataPicker, ProgressBar, Slider, Message Box, e Tab.

A principal novidade é que eles disponibilizaram o código fonte sob a licença MS-PL, é o primeiro projeto Open Source do Telerik. Porém só será grátis durante o tempo de desenvolvimento da plataforma comercial que eles estão desenvolvendo.

Os componentes suporta várias View Engines, como NHaml e Spark e são baseados em jQuery.

Para mais informações acesse a página Telerik Extensions for ASP.NET MVC

ASP.NET MVC 2 Preview 1 Released

31/07/2009 08:29:00 Por Fujiy

Sim, 4 meses e meio depois da versão 1.0 ser liberada, já temos o Preview 1 do ASP.NET MVC 2.

O RoadMap também foi atualizado. Entre as novidades estão Templated Helpers, Areas, novo Action Filter HttpPostAttribute, Model Binder agora suporta os atributos do namespace DataAnnotations, além de correções de bugs e melhorias gerais.

O ASP.NET MVC 2 pode rodar junto com a versão 1.0 então instale sem preocupação. O Visual Studio 2010 já virá com a versão 2, o que quer dizer que logo teremos a versão final do ASP.NET MVC 2.

Html Helpers fortemente tipados com T4 Templates

01/07/2009 09:07:00 Por Fujiy

Já há algum tempo o David Ebbo vem criando algumas soluções para os Html Helpers que hoje são baseados em strings.

Para quem não sabe do que estou falando, vai um exemplo: <%=Html.ActionLink("TextoLink", "Acao", "Controller", new{param1 = "abc", param2 = "def" }, null) %>

Assim quando você muda o nome do controller ou da ação, o seu ActionLink para de funcionar, e não é gerado erro em tempo de compilação, já que é tudo string, você só percebe quando seu site gera um erro.

Até hoje ja apareceram várias soluções, as que pareciam mais simples de usar, com Expression Trees, eram também muito lentas, gerando um grande overhead. Exemplo de utilização: <%= Html.ActionLink<NomeController>(x => x.NomeMetodo(param1, param2), "TextoLink") %>

A solução do David é um template T4, que gera algumas classes e Extension Methods para os Html Helpers, a chamada fica assim:

<%=Html.ActionLink("logout", MVC.Controller.Acao(Param1)) %>

Tudo fortemente tipado, limpo e sem impacto na performance. Já estou usando no meu projeto e recomendo. Para usar basta colar o arquivo tt na raiz do projeto, e cada vez que atualizar seu projeto, basta re-salvar o arquivo tt pra forçar o Visual Studio a gerar o .cs novamente

 

Update:  O Template foi incluído na página de download do MvcContrib no Codeplex

Livros sobre ASP.NET MVC

18/06/2009 08:55:00 Por Fujiy

Já estão disponíveis alguns livros sobre ASP.NET MVC.

O primeiro a ser lançado foi o ASP.NET MVC Framework Preview e o ASP.NET MVC 1.0 Quickly. Li ambos e fazem uma bela intrução ao MVC. O primeiro é bem curto, 100 páginas, já o Quickly tem 256.

Mas se você ainda está procurando um livro pra ler, aproveite os novos que estão saindo, mais completos, até porque foram escritos pelos criados do ASP.NET MVC. Recomendo o Professional ASP.NET MVC 1.0 e o ASP.NET MVC in Action, pretendo ler ambos também. Eles custam por volta de U$30,00

 

ASP.NET MVC 2.0

07/06/2009 00:44:00 Por Fujiy

Enquanto começamos nossas aplicações em ASP.NET MVC, a Microsoft já planeja a versão 2.0. Sim, e pelo que parece pra esse ano, ja que o VS2010 virá com ele.

As novidades são boas, sendo que algumas já estão disponíveis no assembly Futures, como os Helpers fortemente tipados.

O foco será aplicações "enterprise":

"The goal with this release of MVC is to target Enterprise needs both in the area of productivity and requirements. Features such as Areas and AsynchronousController address various needs for enterprise apps, while Paging Helpers, and Strongly Typed helpers address productivity.

Runtime
ASP.NET MVC 2 will take a runtime dependency on ASP.NET 3.5 SP1 as we plan to ship project templates and tooling for both Visual Studio 2008 and Visual Studio 2010. The next major version of ASP.NET MVC after version 2 will likely drop support for Visual Studio 2008 and require the ASP.NET 4 framework.

Visual Studio 2010 
Visual Studio 2010 Beta 1 support as an add-on (Sometime in June) 
Included in Visual Studio 2010 Beta 2 and post Beta 2

Visual Studio 2008 
Will continue to ship a standalone installer for MVC for Visual Studio 2008

ASP.NET MVC 2 Features 
Areas - Provide a means of grouping controllers and views to build out subsections of a site in isolation.
Asynchronous Controller Actions - Provide an asynchronous programming model for controller actions for improved scalability. 
Strongly-typed input helpers – Expression-based helpers for generating form fields against the model. 
Strongly-typed link helpers – strongly typed helpers for generating action links
Support for Data Annotations - The default model binder will include support for Data Annotations attributes (a la Dynamic Data). 
Caching Improvements - Improve various caching scenarios. 
Misc - Various improvements"

http://aspnet.codeplex.com/Wiki/View.aspx?title=Road%20Map

ASP.NET MVC v1 Final

18/03/2009 11:24:00 Por Fujiy

Conforme o blog do Jeffrey Palermo, saiu a versão 1 do ASP.NET MVC.

A versão do jQuery foi atualizada pra 1.3.2 e um bug relacionado ao Silverlight foi corrigido

ASP.NET MVC no IIS 6.0

09/02/2009 09:25:00 Por Fujiy

Agora com a versão Release Candidate do ASP.NET MVC resolvi começar a estudar sobre o assunto.

Como ainda sou usuário e fã do Windows XP, já imaginei que poderia ter problemas com o IIS 6.0. Acontece que o IIS só passa pro ASP.NET as chamadas que estão configuradas para isso, usando a extensão do arquivo. Então quando você chama a página /Home/About o ASP.NET nem fica sabendo, o IIS logo fala que a página não existe.

Você tem duas opções pra resolver o problema. Uma é adicionar um redirecionamento pro ASP.NET usando o wildcard *, isso faz com que todas as chamadas sejam enviados pro ASP.NET, o que terá impacto no desempenho geral do seu site.

A outra opção, que considero melhor, apesar de alterar sua URL é usar a extensão .aspx nas URLs, /Home/About será /Home.aspx/About. Além de não impactar no desempenho, na maioria das vezes é sua única opção pra quem usa hospedagem compartilhada e não tem acesso ao servidor.

Como o ASP.NET MVC cria os links quando você usa o Html.ActionLink, a única alteração necessária é no Global.asax, onde você vai apagar a rota padrão, e adicionar as seguinte:

routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { action = "Index", id = "" }
);

routes.MapRoute(
"Root",
"",
new { controller = "Home", action = "Index", id = "" }
);

A segunda é apenas para o diretório raiz funcionar.

Depois de mudar o Global.asax basta compilar e atualizar o servidor que já vai funcionar!

ASP.NET MVC 1.0 Release Candidate Disponível

27/01/2009 21:26:00 Por Fujiy

Hoje foi lançado o ASP.NET MVC 1.0 RC, disponível pro Visual Studio 2008 e Visual Web Developer 2008. Para fazer o download clique aqui.

Este deve ser o último lançamento antes da versão final, que deve sair no próximo mês. O RC contém várias correções de bugs além de novos recursos. Para mais informações acesse o Blog do Scott Guthrie