ASP.NET MVC e Open Souce
O MVC para ASP.NET já era Open Souce desde a primeira versão 1.0. Devido a isso não entrei no barulho que foi feito quando anunciaram recentemente que o MVC teria sido colocado sobre licença Open Souce. Fiz minha primeira palestra sobre o MVC no Eco Developers em Junho de 2009, na época ouvi comentários: “Não sei se isso vai pegar”, “Isso é voltar ao ASP3”, “Vou ter mais trabalho com o MVC”. Não sei se virou modinha usar MVC hoje em dia mas os comentários positivos e gurus sobre o assunto crescerem bastante.
Independente das mudanças de comportamento vamos ao que interessa:
-
O ASP.NET MVC é open source desde a versão 1.0
-
Outros produtos foram incorporados ao framework, produtos esses também sob licença open source: jQuery, jQuery UI, jQuery Mobile, jQuery Validation, Modernizr.js, NuGet, Knockout.js eJ SON.NET
-
O que foi públicado recentemente é que o ASP.NET Web API e ASP.NET Web Pages (conhecido como Razor) foram liberados sobre a licença Apache 2.0 e que seus códigos fontes estão publicados no codeplex.
E daí? O que ganho com isso? (Uma vez falei isso em uma lista e tomei muita porrada)
O ASP.NET MVC é ainda um produto suportado pela Microsoft e vai ser liberado em suas entregas do .NET Framework e do Visual Studio, seu desenvolvimento vai ser realizado pelo time da própria Microsoft, no entanto podemos baixar atualizações e correções sem precisar esperar a próxima versão ou update, basta estar ligado no projeto pelo codeplex.
Para conhecer o projeto open souce acesse o codeplex:
http://aspnetwebstack.codeplex.com/
[]´s
Lino
Referências:
http://weblogs.asp.net/scottgu/archive/2012/03/27/asp-net-mvc-web-api-razor-and-open-source.aspx
ASP.NET MVC4 Beta – Bundling and Minification – Parte 02 – Final
Outro recurso interessante sobre o Bundling e Minification é a capacidade de explorar recursos do browser do cliente para gerar uma cache local dos seus arquivos de estilo e javascript. Ou seja, quando o cliente acessar nosso site pela primeira vez vamos enviar todo conteúdo necessário para apresentação do site, com esse conteúdo o browser vai armazenar localmente na máquina do cliente a versão dos nossos estilos e scripts para que a próxima vez que o site receber essa visita o desempenho vai ser superior, pois não vai ser necessário baixar novamente esse conteúdo.
O Framework 4.5 do ASP.NET e inclusive o MVC 4 possuem esse recurso, para utilizarmos precisamos colocar:
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/themes/base/css")" rel="stylesheet" type="text/css" />
<script src="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Scripts/js")"></script>
O próprio gerente de produto do ASP.NET comentou que é um pouco grande esse helper: System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl
. No entanto ele é o responsável para que a cache seja criada no browser.
Olhando o código fonte da página vamos observar uma string mágica que é um hash dos arquivos que estão sendo feito o Bundling e Minification, esse hash vai ser gerado automaticamente a partir dos arquivos, ou seja, caso alguma modificação seja realizada em qualquer arquivo de estilho ou de script o hash a ser gerado vai ser outro e automaticamente o browser do cliente ao verificar esse hash vai perceber a modificação e então vai baixar os novos arquivos limpando a cache anterior.
Podemos realizar esses mesmos recursos via código para uma maior customização. Veja mais no blog do Scott Guthrie
Veja mais sobre o assunto em:
Referências:
http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx
Não deixe de ver esse vídeo:
http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2364/player?w=956&h=484
Abraço e até a próxima.
Lino
ASP.NET MVC4 Beta – Bundling and Minification – Parte 01
Pessoal,
O MVC 4 já chegou, está em beta e pode ser baixado e testado publicamente. Para isso aqui vai o link para conhecer mais: http://www.asp.net/mvc/mvc4
Algumas novidades do MVC4 são também novidades do Framework ASP.NET, logo muita coisa que vai vir no ASP.NET 4.5 vai beneficiar tanto os projetos desenvolvidos em MVC ou WebForms.
Um recurso interessante lançado e que podemos já testar é o Bundling and Minification. Uma breve explicação:
Bundling: É o processo de agrupar em apenas um arquivo javascript todos os outros arquivos existentes na solução web, ou seja, se temos dez arquivos javascript que vão ser utilizados no site vamos enviar apenas um com o objetivo de otimizar a solução reduzindo o tempo de envio de arquivos. Serve para folhas de estilo também (css).
Minification: É o processo de remover todos os caracteres em branco (espaços), comentários, quebras de linha. O objetivo para reduzir a quantidade de caracteres e consequentemente o tamanho final do arquivo, com isso otimizar o desempenho de um site reduzindo o tamanho dos arquivos de javascript e estilos (css) enviados ao cliente.
Por que realizar Bundling and Minification?
- Para otimizar o desempenho de recebimento dos arquivos essenciais do site para a máquina do cliente.
Por que otimizar esse envio?
- Para melhorar experiência do usuário e em cenários onde há acessos via smartphones é imprescindível para reduzir o trafego de dados.
Desafios:
-
Automatizar o processo de Bundling and Minification
-
Manter versões reduzidas para o deploy da solução e ao mesmo tempo manter versões em alto nível para facilitar desenvolvimento e manutenção dos códigos pelo time de desenvolvimento.
Com a versão beta do MVC4 já podemos testar e resolver esses desafios de forma nativa. O próprio Visual Studio faz o Bundling and Minification dos arquivos de forma natural e mantêm as versões em alto nível para a equipe de desenvolvimento e desing.
Vamos aos exemplos para demonstrar a otimização de acesso:
O exemplo abaixo foi realizado com o projeto padrão do próprio ASP.NET MVC 4 Beta. Com o novo template que o mesmo trouxe, foi feito acesso a página inicial com o tempo de duração e tamanho dos arquivos necessários para execução da página e estilos. Comparando os resultados observe a melhoria em performance.
![]()
Imagem 01 – Observem a quantidade de arquivos e o tempo de download dos arquivos.
![]()
Imagem 02 – Menor quantidade de arquivos, tempo e dados para baixar o mesmo conteúdo
E como usamos o recurso de Bundling and Minification? É simples basta usar a sintaxe a seguir no momento de referenciar os arquivos de javascript e css:
Ao invés de continuar referenciando as folhas de estilo dessa forma:
![]()
Imagem 03 – Referência Folha Estilo
Faça:
![]()
Imagem 04 – Bundling and Minification com folhas de estilo no MVC 4 Beta
Onde o diretório styles foi mencionado e o conteúdo dele com folhas de estilo css
Da mesma forma para arquivos JavaScript:
![]()
Imagem 05 – Bundling and Minification com arquivos Javascript
Onde o diretório scripts foi mencionado e conteúdo dele com javascript js
É isso aí espero otimizar os sites de vocês. ![]()
No próximo post vou mostrar como fazer Bundling and Minification e ainda explorar recursos do browser do cliente para fazer cache dos nossos arquivos de javascript e css no browser do cliente. Aguardem…
Abraços
Lino
Referências:
http://weblogs.asp.net/scottgu/archive/2012/02/19/asp-net-mvc-4-beta.aspx
Conheça o Microsoft Virtual Academy – Capacitação técnica gratuita
A tecnologia está em constante desenvolvimento, trazendo novas oportunidades de negócios e desafios presentes em todos os departamentos de TI. Estar atualizado sobre as últimas novidades e ser treinado nas soluções de tecnologia que lideram o mercado, irá ajudá-lo a crescer em sua carreira e a estar preparado para mudanças, fazendo melhor uso das tecnologias e garantindo a eficácia do seu trabalho.
MVA (Microsoft Virtual Academy) oferece formação profissional através de carreiras inteiras em diferentes níveis (iniciante, intermediário ou avançado) e cursos especiais em produtos e tecnologias Microsoft. Os participantes também recebem apoio através de fóruns específicos, e uma biblioteca técnica, propriamente dita. Você pode treinar, por exemplo, Windows 7, Implementação de Nuvem Privada, VDI e MED-V, entre outros temas, de forma gratuita e prática.
Conheça o MVA www.microsoftvirtualacademy.com
Dependência de referências para publicar sites em ASP.NET MVC3
Pessoal,
Como todos sabem o Visual Studio 2010, seja com o SP1 ou não, tem por padrão instalado o MVC 2. No entanto, muitos projetos já estão sendo desenvolvidos em MVC 3, devido as várias melhorias e novas funcionalidades (Razor, Global Filters, etc).
Quando precisamos realizar deploy das nossas aplicações encontramos host’s com suporte ao MVC 3, porém esse “suporte” dos servidores não possuem as dll’s globais registradas e utilizadas pelo MVC3.
Para contornar essa situação basta enviar as dll’s com suas versões utilizadas pela versão três e sua aplicação estará funcionando perfeitamente. Incluindo versões mais atualizadas do Entity Framework 4.1.
Você tem duas opções para enviar todas referências necessárias:
1- Tentativa e erro. (Mande as que você acha que são necessárias, colocando “Copy Local = True” e vai evoluindo os erros do server até conseguir, com o risco de enviar coisas desnecessárias e ser considerado um newbie).
2- Ler essa dica e aprender fazer do jeito certo.
Para incluir no seu projeto as “Deployable Dependencies” basta clicar com o botão direito do mouse sobre o seu projeto MVC 3 e selecionar a opção: Add Deployable Dependencies. Ou então no menu do Visual Studio em Project > Add Deployable Dependencies
Imagem01: Opção do Menu
Imagem02: Dependências resolvidas e prontas para o deploy.
Referências:
http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx
2011 in review
Relatório anual do meu blog.
Um metrô de New York tem capacidade de 1.200 pessoas por vez. Esse blog recebeu 4.200 visitas em 2011. Se esse blog fosse um metrô, teria que haver 04 viagens para levar todos visitantes.
The Developer’s Conference
Pessoal,
Gostaria de alertar a comunidade para um grande evento a ser realizado em Goiânia no final do mês de outubro de 2011.
O objetivo desse post é divulgar o evento e também convidar os senhores para minha apresentação no dia 29/10/2011, Sábado. Eu irei falar sobre o Team Foundation Server e especificamente sobre a customização dos templates utilizados pela ferramenta. Esse template pode ser customizado e este será o objetivo da minha apresentação mostrar como a ferramenta é flexível e pode ser utilizada para diversos ambientes de desenvolvimento independente da plataforma utilizada. Não deixe de conferir na trilha .NET a palestra:
14:10 às 15:00 Customizando templates de projetos (MSF, CMMI, Scrum) do Team Fountation Server para adaptação ao processo de desenvolvimento de software.
José Lino Neto (Pensou.NET)
O TDC é um evento muito maior e possui trilhas em diversos segmentos e diferentes plataformas, então não deixe de conferir tudo que o evento vai oferecer e participe.
Esse link é para conferir as trilhas que vão ocorrer:
http://www.thedevelopersconference.com.br/tdc/2011/index.html#goiania
Esse link é para a agenda da trilha de .Net o qual estou envolvido:
http://www.thedevelopersconference.com.br/tdc/2011/goiania/trilha-dot-net#programacao
Lembrando que o TDC é um evento que aconteceu em outras cidades do país e agora chegou em Goiânia, então não fique de fora desse mega evento. Confira esses outros links algumas fotos, vídeos que rolaram em outras cidades:
http://www.thedevelopersconference.com.br/tdc/2011/florianopolis/fotos
http://www.thedevelopersconference.com.br/tdc/2011/saopaulo/videos/
Para fazer sua inscrição acesse esse outro link, no entanto como participante tenho uma entrada para ser presenteada a algum amigo ou cliente, logo me enviem um email até o dia 23 de Outubro que irei sortear entre os interessados. Não percam tempo.













