Nuno Filipe Godinho

Tudo sobre .NET e Arquitectura
 
posts - 133, comments - 33, trackbacks - 20

Friday, October 17, 2008

(PT)

    De forma a ajudar cada vez mais os Web developers a Microsoft disponibiliza um novo site, o Microsoft Web Platform que contem diversos elementos com o objectivo de facilitar a vida a estes mesmos developers, sendo que alguns dos conteúdos são:

    Ainda não se encontra completo, mas é uma boa ideia e que de certo irá crescer bastante num futuro próximo.

    Neste site encontramos disponibilizados 2 pacotes de instalação, que são:

  • Microsoft Web Platform Installer
    • Um pacote completamente grátis que irá servir de “rampa de lançamento” para o desenvolvimento de soluções Web utilizando a plataforma Microsoft, pois instala o IIS7, Visual Studio Web Developer 2008 Express Edition, SQL Server 2008 Express Edition e como não poderia deixar de ser, também a .NET Framework.

 

    Sem dúvida uma boa forma de centralizar todos os conteúdos para quem desenvolver ou quer desenvolver para a Internet.

(EN)

    With the purpose of helping the Web developers Microsoft launched a new site called, Microsoft Web Platform that contains several elements with the goal of simplifying the life of those developers, with some of the contents being:

    This is not yet completed, but it’s a good idea and I’m certain that it will grow a lot in the near future.

    On this site we find 2 installer packages, that are:

  • Microsoft Web Platform Installer
    • This package is completely free and serves as a “Launcher” for the development of Web Solutions using Microsoft platform, because it installs IIS7, Visual Studio Web Developer 2008 Express Edition, SQL Server 2008 Express Edition and also .NET Framework
  • Microsoft Web Application Installer
    • This package will allow us to create easy installers for Web Applications in PHP or ASP.NET that will be installed on IIS.

    Without any doubt this is a good way to centralize contents for whoever develops or wants to develop solutions for the Web.

Feedback (0)

(PT)

   No seguimento dos desenvolvimentos que têm vindo a ser efectuados no ASP.NET esta nova MVC Framework é importante pois em alguns casos será a melhor escolha para o processo de desenvolvimento. As primeiras versões apresentavam alguns problemas no que respeita à integração com AJAX e também um conjunto de controlos fracos, quando comparados com a veesão ASP.NET Web Forms, mas com esta nova versão muita coisa mudou, como:

  • Melhor suporte no Visual Studio
    • Funciona com o VS 2008 com e sem o SP1
    • Disponibiliza uma nova opção de “Add View” no Menu de contexto aquando do desenvolvimento de uma classe Controller.
  • Suporta jQuery
    • Este foi um excelente progresso para o ASP.NET e não se encontra apenas disponível para o ASP.NET MVC Framework
  • Strong Types
    • Alterações de forma a usar Strong Types como:
      • UpdateModel
      • TryUpdateModel
  • Melhorias nos Testes Unitários
  • Validação de Erros
    • Suporte ao IDataErrorInfo
    • Suporte para os Dynamic Data Attributes
  • Integração entre o Silverlight e projectos ASP.NET MVC

   Estas são algumas das novidades que são disponibilizadas com esta versão Beta, mas poderão ter mais informações no Blog do Scott Guthrie’s que fez o lançamento deste assunto.

    Para iniciarem o processo de utilização basta fazerem o download desta versão aqui.

(EN)

   Following the ASP.NET development this new MVC Framework is important because in some cases will be the right choice for the development process. The first releases had problems regarding AJAX integration and also poor set of controls, when compared to the ASP.NET Web Forms version, but with this version a lot has changed, and things like:

  • Better Visual Studio Support
    • Works with VS 2008 with and without SP1
    • Provides a new “Add View” option in the context Menu when developing the controller class
  • Supports jQuery
    • This has been a great progress for ASP.NET and it’s not only possible with ASP.NET MVC Framework
  • Strong Types
    • Changes in order to use Strong Types like:
      • UpdateModel
      • TryUpdateModel
  • Improved Unit Testing
  • Validation Errors
    • Adds support to IDataErrorInfo
    • Adds support for Dynamic Data Attributes
  • Integration between Silverlight and ASP.NET MVC Projects

 

   This are some of the new stuff in this new Beta release, and you can see more about it on Scott Guthrie’s Blog post that presents this subject.

    To start using it just download this version here.

Feedback (0)

(PT)

    Finalmente já foi disponibilizada a versão final do Silverlight 2.0, conforme o Scott Guthrie no seu post relativo ao assunto. Esta é uma notícia bastante interessante e que irá proporcionar a todos os que estão a apostar neste tecnologia Microsoft um significativo aumento da produtividade no desenvolvimento de soluções ricas.

     Para iniciar o que é necessário efectuar é o seguinte:

  1. Instalar a versão RTM do runtime de Silverligth 2.0
  2. Instalar as ferramentas para o Visual Studio
  3. Instalar o Microsoft Expression Blend 2.0 SP 1
  4. Instalar o Deep Zoom Composer

     Para aprender:

    Não se esqueçam também de consultar o meu blog e se quiserem saber mais entrem em contacto comigo.

(EN)

    Finally the RTM version of Silverlight 2.0 is already available, as Scott Guthrie wrote on his subject related post. This is a very interesting news and that will allow all that are using and believe in this Microsoft technology can now improve their productivity in developing rich solutions.

     To get started you need the following:

  1. Install the RTM version of the runtime for Silverligth 2.0
  2. Install the Silverlight 2.0 Tools for Visual Studio
  3. Install Microsoft Expression Blend 2.0 SP 1
  4. Install Deep Zoom Composer

     To Learn:

    Don’t forget to check also my blog and if you want to know more you can get in-touch with me.

Feedback (0)

Saturday, September 27, 2008

(PT)

    Com escrevi anteriormente, o Prism 2.0 está a tomar forma e algumas das suas primeiras peças já se encontram disponíveis no CodePlex. Claro que ainda é apenas uma pequena parte mas já trás boas noticias, como:

  • Multi-targeting quick starts, que explicam a estrutura que dos projectos Prism 2.0 deverão ter de forma a que possa ser efectuado o Multi-target para WPF e Silverlight, e neste caso trata-se de uma solução de imobiliárias.
  • Multi-targeting Visual Studio Templates, de forma a tornar possível a criação de projectos Prism 2.0.
  • Project Linker Tool, que proporciona um guia relativamente à forma de estruturar uma aplicação de forma a que seja possível que a mesma seja linkada a outra de forma a torná-la Multi-target.

    Leiam mais sobre o assunto neste ficheiro Readme que define o que se encontra nesta primeira disponibilização, e também no blog post do David Hill que fala sobre este mesmo assunto em detalhe.

(EN) 

     As I previously posted, Prism 2.0 is shaping up and some of the new Code Parts are already available on CodePlex. Of course this is only a small part but it brings good news like:

  • Multi-targeting quick starts, that explains the structure that a Prism 2.0 project will have in order to be Multi-target for WPF and Silverlight, and in this case is a real state solution.
  • Multi-targeting Visual Studio Templates, in order to be possible to create the Prism 2.0 projects.
  • Project Linker Tool, that provides a guidance on how to structure an application in a way that is possible to link it to other applications in order to make it Multi-targeted.

    Read more about it in the Readme file that defines this first drop, and also David Hill’s blog post about this subject.

Feedback (0)

Friday, September 26, 2008

(PT)

   Mais um passo foi dado hoje em direcção da versão RTM do Silverlight 2.0 conforme foi anunciado aqui por Scott Guthrie. Com esta versão podemos esperar diversas alterações, sendo que na maior parte não são criticas pois já existia para a Beta 2 a licença Go-Live, mas mesmo assim algumas trazem impactos interessantes a esta tecnologia. De forma a saberem mais sobre as alterações que existem entre versões devem ver o blog post por Mike Snow e este documento que explica quais foram essas alterações. Este é um elemento bastante importante de forma a que possamos começar a actualizar e preparar as soluções para a versão final.

    Algumas das melhorias são:

  • Novos Controlos
    • PasswordBox – Semelhante á Textbox mas apenas como mais capacidades em termos de segurança de forma a que possa funcionar com passwords.
    • ProgressBar – De forma a que possamos fornecer feedback ao utilizador final relativamente ao estado do trabalho que está a ser executado.
    • ComboBox
  • Segurança
    • Diversos construtores foram tornados como internal 
  • Animações
    • Resolvidas algumas questões no que respeita à alteração de propriedades com animações activas

    Estamos por isso a caminho para a versão RTM e por isso mesmo esta fase é de enorme importância pois permite analisar que todas as questões que existiam anteriormente se encontra solucionadas.

    Não esquecer de ler os elementos fornecidos neste post de forma a obter mais informações.

(EN)

   One more step towards the RTM version of Silverlight 2.0 was made today with the announcement of the Release Candidate by Scott Guthrie. With this version we can expect several changes, where the major part are not critical since there was already a Go-Live licence for the Beta 2 version, but some of them will impact in important points of the technology. In order to check what has to be changed from one version to another, you can check this blog post by Mike Snow and this document that explains the changes. This will be important in order to start updating the solutions and preparing it for the final version.

    Some of the enhancements are:

  • New Controls
    • PasswordBox – Like a textbox but only with the capabilities and security elements that are needed to work as passwordbox.
    • ProgressBar – Allow us to give feedback to the customer about the status of the work that’s being done
    • ComboBox
  • Security
    • Some constructors are now made internal
  • Animations
    • Solve some issues with changing properties in active animations

   We are on the road for the new RTM version and so this is great to check if all issues that were present on previous releases are solved.

    Don’t forget to read the elements provided in this post for more informations.

Feedback (1)

(PT)

    Já se encontra disponível online a nova versão 6.2 do Virtual Earth que fornece algumas funcionalidades bastante impressionantes e que iremos descrever resumidamente:

    • Primeira release dos Virtual Earth Web Services, que irão fornecer aos developers a possibilidade de utilizarem as funcionalidades do Virtual Earth através de Web Services. Podemos pensar neles como uma alternativa ao Map Point Web Service. As funcionalidades disponibilizadas pelos Web Services são:
      • Imagery Metadata – Informação sobre os tiles do mapa que são servidos.
      • Geocoding and Reverse Geocoding – Proporciona aos developers efectuarem pedidos de Geo-referenciação com base num endereço
      • Static Map Generation – Capacidade de desenvolver o seu próprio mapa através do acesso a todas as tiles e informações das mesmas, utilizadas pelo Virtual Earth.
      • Search – Possibilidade de efectuar pesquisas relativas ao onde e o quê no Virtual Earth.
      • Routing – Calculo de rotas
      • One-click Directions – Direcções imediatas sem necessitar de colocar o ponto de partida.
    • International Reverse Geocoding – Muito importante devido a ter sido melhorado a geo-referenciação não apenas nos estados unidos.

      • Rooftop geocoding para algo como 85 milhões de localizações
      • Improved the near matched – A pesquisa por pontos de interesse nos arredores foi bastante melhorada.
    • Maps for Mobile Devices – Através da utilização dos Virtual Earth Web Services simplifica-se o processo de desenvolvimento de soluções de mapas para dispositivos móveis com uma maior performance.
    • Localized Maps – Uma grande melhoria pois apartir deste momento poderemos ver as informações presentes no mapa em diversas linguas.
    • Localized Directions – Uma melhoria importante pois agora poderemos ver as direcções em diversas linguas. Cerca de 15 linguas diferentes.
    • Imagery Metadata – Importante pois agora poderemos saber quando é que os elementos foram actualizadas.
    • 3D Import capabilities – Melhorias no processo de importação de elementos 3D.
    • 3D Imagery – Melhor qualidade nas vistas 3D.
    • Pushpin clustering – Possibilita a alteração dos pushping por outros.
    • Weather Integration – Na vista 3D agora poderemos ter informações relativas ao estado do tempo, através da disponibilização de nuvens em caso de tempo nubelado, e sem núvens em causo de ceu limpo. Não suporta para já: Chuva e Neve.

    Para mais informações verifiquem o anuncio oficial efectuado por Mark Brown e Chris Pendleton, e também uma WebCast Técnica com Mark Brown.

(EN)

    There’s already online the new 6.2 release of the Virtual Earth that has some awesome new features that will be briefly described here:

    • First release of the Virtual Earth Web Services, that wil allow developers to use Virtual Earth features by using only the Web Services. Can be thought as an alternative to the Map Point Web Service. The features made available by the Web Service are:
        • Imagery Metadata – Information about the map tiles that are served.
        • Geocoding and Reverse Geocoding – Allows developers to request the Geocode based on an address
        • Static Map Generation – Provides the capability of developing our own map because it provides access to all the tiles and data used by Virtual Earth.
        • Search – Allows developers to provide access to search option about where and what  on Virtual Earth.
        • Routing – Provides access to calculate routes by using the Service
        • One-click Directions – Provides one-click directions without having to provide the start point.
    • International Reverse Geocoding – this was an important because it improved the geocoding not only in the US but also in other countries.

    • Rooftop geocoding for something like 85 million locations
    • Improved the near matched – The interest point search in the nearby areas were improved.
    • Maps for Mobile Devices – by using the Virtual Earth Web Services will be easy to develop high performance maps applications for mobile devices.
    • Localized Maps – A major improvement because now we can see the Map information in several languages.
    • Localized Directions - A major improvement because now we can see the directions in several languages. Something like 15 languages.
    • Imagery Metadata – Important because now we can have information about when the information was updated.
    • 3D Import capabilities – Improvements in the process of custom 3D elements import.
    • 3D Imagery – Higher quality in 3D views.
    • Pushpin clustering – Allows to change the pushpin clustering to custom ones.
    • Weather Integration – The 3D view now has the weather information, by having clouds in case of a cloudy weather, and without clouds in case of sunny sky. Doesn’t support for now: Rain, Snow.

    For more information check the official announcement from Mark Brown and Chris Pendleton, and also a Technical WebCast by Mark Brown.

Feedback (0)

Saturday, September 13, 2008

(PT)

    Como escrevi no post anterior este post irá fazer parte de um ciclo de WebCasts em Português e neste caso o tópico é o seguinte:

            “Desenvolvimento de Soluções RIA – Tópicos Avançados”

    Esta sessão teve como objectivo analisar com maior detalhe os Controlos, Integração com o Browser, Isolated Storage e Adaptive Streaming

    1. Controlos

               Este foi um dos grandes defeitos que foram associados ao Silverlight 1.0 e por isso mesmo nesta versão diversos controlos foram colocados por default e são disponibilizados com o código fonte e são passiveis de serem extendidos. Eles permitem 2 formas de alteração da sua aparência e elas são:

      • Styling
        • Alteração da aparência através da utilização de apenas as propriedades disponíveis
      • Skinning
        • Alteração de todos os componentes da aparência dos controlos com uma completa libertade criativa e inclusivamente alterando os elementos que compoem internamente o controlo.

               Os controlos são compostos por duas partes, que são:

      • Lógica
        • User Controls: public partial class MyUserControl : User Control
        • Custom Controls: public class MyCustomControl : Control
      • Visual
        • User Controls: <User Control> (Ficheiro XAML)
        • Custom Controls: <ControlTemplate> (não têm qualquer XAML associado sendo que por isso o seu layout será colocado no local em que o mesmo seja utilizado através da especificação do ControlTemplate.

               Os controlos são compostos por, Partes, Estados e Tansições sendo que os objectivos são:

      • Estruturar o controlo
      • Fazer a separação entre as partes Lógica e Visual do Controlo
      • Partes
        • Elementos que fazem parte do Template
      • Estados
        • Diferentes formas de aparência do Controlos
        • Utiliza as classes VisualState e VisualStateGroup do VisualStateManager
      • Transições
        • A forma como é efectuada a passagem de um estado para outro
        • Utiliza a classe VisualTransition do VisualStateManager

    2. Integração com o Browser

               Tem por objectivo é permitir uma interacção perfeita entre o Silverlight e o Browser considerando o mesmo um cidadão de primeira tendo a capacidade de:

      • Disponibilização de código .NET para o Browser de forma a poder ser chamado via JavaScript.
      • Possibilidade de chamadas ao HTML ou a código JavaScript a partir do Silverlight.

               O namespace onde se encontram todos os elementos relacionados com a integração com o Browser é o System.Windows.Browser com elementos como:

      • HtmlPage – que proporciona o acesso á página na qual se encontra colocado a solução Silverlight
        • System.Windows.Browser.HtmlPage.RegisterScriptableObject(identificador, elementovisualbase)
      • ScriptableMemberAttribute – Este atributo permite marcar os métodos que poderão ser acedidos via Browser
        • [ScriptableMember]

    3. Isolated Storage

               O Isolated Storage, conforme acontece com outros tipos de soluções .NET, é um local seguro em que poderão ser efectuadas diversas alterações de Input/Output, como as seguintes:

      • Ficheiros
        • Abrir, Criar, Apagar, Verificar a sua existência
      • Directórios
        • Criar, Apagar, Verificar a sua existência, Listar os conteúdos
      • Site
        • Remover, Verificar os directórios existentes
      • Quota
        • Verificar a quota actual, Aumentar a quota, verificar o espaço livre

               Este Isolated Store existem em dois níveis:

 

    4. Adaptive Streaming

               O Adaptive Streaming permite aos developers efectuarem o encoding dos elementos multimédia com diversos bit rates, tirando desta forma partido das capacidades de rede e CPU da máquina cliente da solução.

               Uma das grandes vantagens desta funcionalidade é a extensibilidade permitida pela mesma, pois poderemos utilizar qualquer outro mecanismo para efectuar o Streaming Adaptativo e não apenas o que nos é fornecido com o Silverlight.

 

    Para finalizar gostaria apenas de disponibilizar os recursos apresentados:

     Disponibilizo desde já também a apresentação e os exemplos efectuados.

 

(EN)

    As I wrote in the previous post this post will be part of a Portuguese WebCasts Cycle  and in this case the topic is:

            “Developing RIA Solutions – Advanced Topics”

    This session had the goal to provide a deep dive on the Silverlight Controls, Browser Integration, Isolated Storage and Adaptive Streaming

    1. Controls

               This is one of the most talked issued about Silverlight version 1.0 since in this version there were lacking several important controls and that in this version 2.0 are placed by default also with the source code made available. They allow 2 ways to change their looks and they are:

      • Styling
        • Changing the looks by using only the available properties
      • Skinning
        • Changing all the elements that represent the control appearance giving a complete creative freedom by change also the elements that are part of the internal of the control.

               These controls are made by two parts, that are:

      • Logic
        • User Controls: public partial class MyUserControl : User Control
        • Custom Controls: public class MyCustomControl : Control
      • Visual
        • User Controls: <User Control> (Ficheiro XAML)
        • Custom Controls: <ControlTemplate> (Don’t have any associated XAML and for that reason the layout will be place whenever the control is used by specifying the ControlTemplate.

               The controls are also composed by Parts, States and Transitions and their purposes are:

      • Create the structure of the control
      • Make a clear separation between the Logic and Visual parts of the control
      • Parts
        • Elements that are part of the Template
      • States 
        • Different ways the controls can look
        • Uses VisualState and VisualStateGroup classes from VisualStateManager
      • Transitions
        • The way that this change is made is by changing from one State to another
        • Uses the VisualTransition class from VisualStateManager

    2. Browser Integration

               The purpose is to allow a perfect interaction between the Silverlight application and the Browser, by considering it as being a first class citizen, with the capabilities to:

      • Provide .NET code to be accessed by the Browser by using JavaScript.
      • Provide the necessary access, in order that call can be made to the HTML or JavaScript code from Silverlight.

               The namespace were all the integration related elements can be found is System.Windows.Browser that contains elements like:

      • HtmlPage – allows access to the page in where the Silverlight solution is placed
        • System.Windows.Browser.HtmlPage.RegisterScriptableObject(identifier, baseVisualElement)
      • ScriptableMemberAttribute – This attribute allow you to mark the methods that can be accessed from the Browser
        • [ScriptableMember]

    3. Isolated Storage

               O Isolated Storage, as it occurs in other types of .NET solutions, it’s a sage place where there can be made IO several changes, like the following:

      • Files 
        • Open, Create, Delete, Exists
      • Directory 
        • Create, Delete, Exists, List contents
      • Site
        • Remove, Verify existing directories
      • Quota
        • Check actual, Raise, Check available space

               The Isolated Store exists in two levels:

 

    4. Adaptive Streaming

               Adaptive Streaming allows developers to encode all media elements in several bit rates, allowing it to depend on the network and CPU capabilities of the client machine.

               One of the big advantages is the possibility of using any other Adaptive Streaming mechanisms other them the provided by Silverlight.

 

    To finalize I would only place the resources presented:

     Here is also available my presentation and the samples made.

Feedback (0)

Friday, September 12, 2008

(PT)

    Durante esta semana está a ter lugar um ciclo de WebCasts em português que faz parte da iniciativa WebCasts4Share da Microsoft Portugal e que é relacionado com o tópico “Silverlight 2.0” ao longo deste ciclo iremos falar sobre os seguintes temas:

    Todas as sessões estarão também on-demand por isso poderão consultar as mesmas sempre que necessitarem e as apresentações, exemplos e resumo das mesmas serão colocados aqui brevemente.

    Gostaria também de saber quais os tópicos que gostariam de ver falados em futuras WebCasts ou se necessitarem de ajuda estarei á disposição.

(EN)

    During this week it’s taking place a WebCast Cycle in Portuguese that is part of the WebCasts4Share initiative delivered by Microsoft Portugal and that’s related with the topic “Silverlight 2.0”, and across this cycle we will talk about the following topics:

    All the sessions will be also available on-demand but don’t forget that they are in Portuguese, but all the presentations, samples and summaries will be placed here in English also in order to make it available for all of you.

    I would also like to know your thoughts about interesting topics for WebCasts and also if you need some help I’ll be delighted to help you.

Feedback (1)

Thursday, September 11, 2008

(PT)

   Durante a próxima semana terão lugar um conjunto de eventos dedicados ao SCRUM sendo eles os seguintes:

   Estes eventos serão da responsabilidade da FullSix e são bastante interessantes num momento em que o SCRUM está a dar muito que falar, por isso não percam.

Feedback (0)

(PT)

   O projecto PhotoSynth está cada vez mais interessante e neste momento já tem uma versão cliente disponível que permite colocar as nossas próprias imagens de forma a conseguirmos “viajar por locais como se estivessemos mesmo lá a olhar para eles” criando uma visão 360º através das fotos que as pessoas vão submetendo. Parece-me ser uma excelente ideia, mas pensei o que seria ainda ver tudo isso integrado com o Virtual Earth e foi isso mesmo que fiz e disponibilizei aqui (Os pins maram os locais onde existe photosynth. coloquem o rato em cima dos pins e vejam esses mesmos elementos do photosynth) para que possam ver o que podemos esperar daqui a uns tempos. É claro que para já ainda estamos a falar de um mashup entre os dois, mas o poder de tudo isto será muito grande, não concordam?

(EN)

  The PhotoSynth project is getting a lot more interesting and a consumer versions is already available and this will allow us to place our own images in a way that see can “travel to places as if we were there” and get a 360º view that is generated with the photos submitted by the users. This seems to me a very good idea and I thought that I would like to see this integrated with Virtual Earth and that’s what I did and made available here (The pins mark the places where photosynth information exists, and by placing the mouse on top of them will allow you to see the photosynth elements) in order to get to know what we can expect in a while. Of course this is a mashup now, but a huge power will came with the integration of both, don’t you agree?

Feedback (0)

Friday, September 05, 2008

(PT)

   O tão falado projecto Prism está a fazer bastantes alterações no espectro das aplicações WPF, com a primeira versão do mesmo a ser renomeada para “Composite Application Guidance for WPF”, e agora está a preparar-se para fazer a sua entrada no espectro do Silverlight.

  A importância deste tipo de Guia para Silverlight é bastante elevada pois irá ajudar os programadores a ficarem orientados a questões de negócio, pois neste momento muito trabalho tem de ser desenvolvido que não diz respeito ao negócio como é normal acontecer numa fase inicial de uma tecnologia, mas isto será resolvido com o Prism 2.0.

   E por isso mesmo aqui ficam algumas das funcionalidades que poderemos experar para a próxima versão do Prism:

  • Capacidade de funcionar para WPF e Silverlight
  • Reutilização de Componentes
  • Guia para desenvolvimento de Aplicações Silverlight
  • Guia para o desenvolvimento de soluções de negócio com Silverlight
  • Desenvolvimento modular em aplicações Silverlight

   Estas são algumas das funcionalidades, mas poderão ver a lista completa e o âmbito desta nova versão no Blog do Blaine Wastell nest post.

(EN)

   So known Prism project is making some changes on the spectrum of WPF Applications, with the first version being named  “Composite Application Guidance for WPF”, and now is preparing to make is entrance on the Silverlight Applications spectrum.

   The importance of having this kind of Guidance for Silverlight is very high because this will help developers take care of some more Business oriented issues that presently, because now much as to be made that is not Business oriented because of the early days of this technology, but this will be solved by Prism 2.0.

   And so here are some of the features we can expect in the next version of Prism:

  • Multi-targeting for WPF and Silverlight Applications
  • Component Reusability
  • Guidance for Silverlight Applications
  • Guidance for building Silverlight LOB applications
  • Modular development in Silverlight Applications

   These are some of those features, but you can check the complete scope of this version in this Blaine Wastell blog post.

Feedback (1)

Tuesday, September 02, 2008

(PT)

  Este tem sido sempre um tópico importante quando falados de Silvelight e muito tem sido dito sobre o mesmo e por isso mesmo vamos então avaliar as nossas opções.

   Em primeiro lugar necessitamos de pensar que o Silverlight não foi construído para ser uma tecnologia para suportar soluções “Ocasionalmente Conectadas”, mas sim para suportar aplicações RIA (Rich Internet Applications), e por isso mesmo foi desenvolvida para funcionar Conectada e não Desconectada. Será isto um problema? 

  Em segundo lugar, o Silverlight é uma subparte do Windows Presentation Foundation (WPF), e por isso mesmo a minha questão é a seguinte: Será que necessitamos mesmo que o Silverlight suporte o cenário Ocasinalmente Conectado ou necessitamos que tudo o que fazemos em Silverlight também funcione em WPF?

  Tendo isto em conta os meus pensamentos sobre as minhas próprias questões são os seguintes:

     Não há qualquer problema com o facto de o Silverlight não ter sido pensado em termos de necessitar de suportar o cenário de Ocasionalmente Conectado pois esse é o propósito do WPF, mas deverá ser melhorado com algo como um cenário de Ocasinalmente Disconectado, pois por vezes a nossa ligação á Internet falha, e por diversos motivos, e não queremos que todo o trabalho que foi efectuado na Aplicação Silverlight seja perdido. Ainda para mais se pensarmos que o Silverlight 2.0 foi construído de forma a trazer não apenas as ilhas de riqueza, que nos foi fornecido pela versão 1.0, mas também de forma a fornecer uma plataforma para o desenvolvimento de Soluções de Negócio, então esta situação ganha ainda mais importância.

     Ainda sobre o Silverlight necessitar de um cenário Ocasionalmente Conectado apenas direi que não penso que isso seja realmente necessário pois isso é na realidade uma decisão da Arquitectura da solução que será tomada no momento do planeamento do produto, pois se necessitarmos de um cenário Ocasinalmente Conectado então iremos escolher o WPF, e caso contrário iremos escolher o Silverlight.

     OK isto é muito interessante mas existe aqui um aspecto que nos estamos a esquecer, que é o facto de que os produtos evoluem durante o seu ciclo de vida e que de repente poderemos passar a necessitar de um cenário Ocasionalmente Conectado e então, o que faremos? Será que necessitamos de construir toda a solução novamente? Claro que não, aqui é onde a interação entre o WPF e o Silverlight necessita de aparecer, pois é necessário que todas as funcionalidades e até controlos que funcionam no Silverlight funcionem bem em WPF, pois isto é como as verdadeiras subpartes das frameworks funcionam. E será que isso é verdade neste momento com o Silverlight e WPF? A resposta é que nem tudo funciona, mas está a ser trabalhado.

  Por isso, bastante ainda necessita de ser efectuado nestas duas excelentes tecnologias que trazem uma fantástica Experiência de Utilização ás aplicações, mas necessitamos de pensar também que elas são relativamente recentes pois o WPF com a disponibilização do Service Pack 1 da .NET Framework sofreu a sua Terceira Versão Principal, e o Silvelight vai agora para a Segunda. Com isto dito, ainda muito pode ser esperado em ambas estas áreas.

  Em termos de quais as opções actuais para tornar aplicações Silverlight em aplicações para o Desktop / Ocasionalmente Conectadas, elas são as seguintes:

    1. Coloque tudo com uma versão light de um Web Server Pack, como por exemplo o Cassini Web Server
    2. Coloque tudo com um Serviço de Windows customizado que irá ser o responsável por servir os pedidos Http necessários pelas aplicações Silverlight. Isto parece-me bastante complexo pois muito tem de ser feito.
    3. Transformar-la numa solução WPF. Para isso teste a ferramenta Desklighter que irá fazer essa conversão, não na totalidade mas fará com que a aplicação de Silverlight passe a ser possível de utilizar como uma solução de Desktopt.

  Este é um tópico bastante interessante e sobre o qual gostaria de ter o vosso feedback sobre este assunto, por isso mesmo sintam-se á vontade para dar a vossa opinião.

(EN)

  This has always been an issue when we talk about Silverlight and so much as been said about it, and so let’s look at the options.

   First of all we need to think that Silverlight was not built to be a technology to deliver Occasionally Online applications, it was built to deliver RIA, and so it was made to use Online and not Offline. Is this a problem? 

  Secondly, Silverlight is a subset of Windows Presentation Foundation (WPF), and so my question is: Do we really need the Occasionally Online approach in Silverlight or do we need to be able to run everything we do in Silverlight in WPF also?

  And so my thoughts about my own questions are:

     There’s no problem with Silverlight not having been thought in terms of needing the Occasionally Online approach because this is the purpose of WPF, but it must be enhanced with something like the Occasionally Offline approach, because sometimes our Internet connections go down, for several different reasons, and we don’t want to lose all our work done in the Silverlight apps. And if we think that Silverlight 2.0 was built to bring the ability not only for the islands of richness, that was brought by the version 1.0, but also to provide a platform to build Line-Of-Business Applications this will take a lot more importance.

     Still about Silverlight having the need to support the Occasionally Online approach I would say that this isn’t really a must have because this is really an Architectural choice to be made during the product planing, and so if we need a Occasionally Online approach we use WPF, and if we need an Online approach we’ll use Silverlight.

     OK this is nice but there’s one important aspect that we are forgetting and that is that a product will evolve and suddenly it can turn to need an Occasionally Online approach and so, what will we do? Will we need to build the application again? Of course not, this is where the interaction between WPF and Silverlight needs to appear, because it’s needed that all the features and even controls that work in Silverlight work well in WPF, because this is how real subset frameworks work, and is this now true in Silvelight and WPF? The answer is not everything works, but it’s being worked on.

  So a lot still needs to be done in this two awesome technologies that bring great User Experience for applications, but we need to think also that they are relatively new because WPF with the release of .NET 3.5 SP1 just had it’s Third Major Release, and Silvelight is only going for it’s Second. This being said a lot should be expected in both this areas.

    In terms of what choices do we have today for making Silvelight a Desktop application / Occasionally Online Applications, they are the following:

    1. Pack it with a lightweight Web Server like Cassini Web Server
    2. Pack it with a custom build Windows Service that will serve the Http Requests needed by the Silverlight App. This seams to me a lot harder because to much as to be done.
    3. Transform it to a WPF like Application. Use this Desklighter tool that will convert your Silverlight App into a Desktop App.

   This is a very interesting topic and I would like to ear your thoughts about this subject, so feel free to comment.

Feedback (2)

Thursday, August 28, 2008

(PT)

   Com a disponibilização do novo Service Pack 1 para a .NET Framework 3.5 bastantes alterações foram efectuadas em diversos níveis da framework, e anteriormente falei nas alterações que entravam no âmbito do WPF, mas muito mais foi efectuado e por exemplo o CLR também sofreu alterações como escreveu Kevin Frie no blog sobre CLRCodeGeneration.

   Outras pessoas como o MVP de C# Patrick Smacchia olharam mais aprofundadamente e neste caso ele explicou gráficamente onde é que as alterações foram efectuadas e efectuou um and post no seu blog, e os resultados são bastante interessantes de analisar.

   Outra alteração é o facto de agora com o Service Pack 1 a .Net Framework 3.5 permitir que código Managed sejam lançado através de uma partilha de rede, e isto será uma grande alteração para todos aqueles que estão habituados a desenvolver aplicações nas quais os executáveis são colocados num servidor e posteriormente os clientes irão correr esses mesmos executaveis. Vance Morison tem a história completa relativamente a este assunto neste post efectuado no seu blog. Ou seja, isto não era possível e agora é e isso é Excelente. A minha questão é a seguinte, “Mas para que necessitamos disto no mundo e arquitecturas actuais?” mas porque foi um enorme pedido, a Microsoft ouviu e resolveu. É excelente ser-se ouvido.

   E por isso mesmo sabemos que grandes alterações foram efectuados nesta versão mas muito importante é o facto de as mesmas teram por base o feedback fornecido por aqueles que realmente utilizam as tecnologias. Por isso Excelente.

(EN)

   With the release of the new Service Pack 1 for the .NET Framework 3.5 several changes were made on several levels of the framework, and previously I talked about the changes that were made on the WPF scope, but much more as been done, and things like the CLR were changed as Kevin Frie wrote on the CLRCodeGeneration blog.

   Other person like the C# MVP Patrick Smacchia made a much deeper look and explained graphically where the changes were made and posted it on his blog, and this was a very interesting result to see.

   Another change was that now the .Net Framework 3.5 with the Service Pack 1 allows managed code to be launched from a network share, and this will be a big change for all of those that were used to have a executable on a server and then all the client machines were to run that executable. Vance Morison as the full story about this on this post. This didn’t work but now it does. Great. My question is, “Why is this needed in the current world and Architectures?” but because it was a huge request, Microsoft eared it and fixed it. It’s Great to be eared .

   And so we know great changes are being made and very importantly changes that came from feedback provided from those who use the technology. Excellent.

Feedback (0)

(PT)

    Para todos aqueles que desenvolvem ou gostariam de desenvolver soluções de ASP.NET com integração com o Virtual Earth utilizando o novo controlo para ASP.NET aqui fica um link interessante em que são disponibilizados uma série de videos e exemplos sobre a utilização do controlo de Virtual Earth para o ASP.NET.

    Não percam esta excelente oportunidade de saberem mais sobre este controlo que tanta facilidade fornece ao desenvolvimento de soluções ASP.NET com integração com o Virtual Earth.

 

(EN)

    For all of those that develop or would like to develop ASP.NET solutions with integration of Virtual Earth using the new ASP.NET control here is the link for a very interesting series of videos and samples about how to use the ASP.NET Virtual Earth control.

    Don’t miss this fabulous opportunity to know more about this control that brings a easy way to develop ASP.NET solutions with integration of Virtual Earth.

Feedback (0)

(PT)

   Com a disponibilização do Service Pack 1 da.NET Framework 3.5 o WPF sofreu a terceira grande release da sua até agora curta história.

   As principais áreas afectadas foram:

  • Disponibilização / Instalação

     Agora ao invés de necessitarmos de fazer a instalação completa da framework foi desenvolvida uma versão light de forma a correr todos os elementos necessários para esta tecnologia, e esta versão foi chamada de Client Profile e é consome cerca de 25 MB e incluí o seguinte:

  • CLR (bases da .NET Framework)
  • Click Once (Utilizada no processo de instalação de aplicações WPF)
  • Windows Forms (Runtime utilizada para correr soluções Windows Forms que podem também ser colocadas dentro de aplicações WPF através da utilização da classe WindowsFormsHost)
  • Windows Presentation Foundation (Runtime utilizada para correr soluções WPF que podem também ser colocadas dentro de aplicações Windows Forms através da utilização da classe ElementHost)
  • Windows Communication Foundation (Runtime utilizada para correr e consumir serviços de WCF que normalmente são utilizados pelas soluções Windows Forms e WPF)
  • Gráficos

     Esta versão inclui melhorias poderosas no que respeita á parte gráfica do WPF e maioritáriamente no âmbito do 3D em controlos como o UIElement3D e o Viewport2DVisual3D (que é responsável por tornar objectos 2D visiveis em ambiente 3D).

     Fornece também os HLSL shaders através da classe ShaderEffect, sendo estes inteiramente implementados ao nível do GPU, o que os torna bastante mais rápidos, no caso de possuirmos um hardware com suporte a Pixel Shader 2.0).

    Outra classe que também sofreu melhorias foi a WritableBitmap que agora permite uma manipulação mais eficiente das imagens, pois fornece a possibilidade de disponibilizar imagens que se encontram mapeadas na memória do sistema que irá permitir-nos alterações em runtime á mesma fazendo com que os efeitos sejam imediatamente visiveis no ecrã.

  • Performance

    Alterações ao cold start (a primeira vez que é efectuado o arranque da solução) das aplicações que foi melhorado em cerca de 45% dependendo do tamanho da aplicação.

    Foram efectuadas também optimizações no que respeita á virtualização de controls em elementos como o TreeView, colunas que agora podem ser virtualizadas e que permitirão por isso mesmo um melhor e mais fácil  desenvolvimento de um controlo género DataGrid.

  • Novos Controlos

     O mais pedido foi sem dúvida o DataGrid que agora faz parte dos controlos disponibilizados pelo WPF, mas que no entanto não se encontra nesta release mas será disponbiilizado posteriormente á release da .net framework 3.5 SP1.

     O controlo Office Ribbon faz também agora parte dos controlos de WPF mas que da mesma maneira que no caso da DataGrid será disponibilizado numa release posterior .

      Um controlo com funcionalidade ricas de Browser como é o caso do WebBrowser, que nas versões anteriores funcionava via Frame, sendo que agora permitirá o uso de javacript e outras funcionalidade que existem habitualmente nos browsers, trazendo também a possibilidade de disponibilizar conteúdos Silverlight dentro de aplicações WPF.

  • Outras Melhorias

     Suporte para a formatação de Strings no momento do databind de texto sem que para isso tenhamos de implementar o interface IValueConverter.

     O Suporte XBAP para o Firefox foi extendido fornecendo também suporte nativo para o ClickOnce.

     Melhorias ao nível do designer de WPF presente no Visual Studio 2008 resolvendo assim problemas que aconteciam em casos de render de elementos maioritáriamente quando os mesmos era baseados em controlos customizados.

     Existe também uma alteração que é necessária efectuar ao Blend 2.5 Preview de forma a resolver os mesmos problemas e que podem efectuar o seu download aqui.

  • Integração

     Melhorada a integração com o DirectX através da disponibilização da classe D3DImage que permite aos developers efectuar a subreposição de conteúdos de Direct3D e de conteúdos WPF.

   Em conclusão, tudo grandes notícias para aqueles que se encontra a fazer desenvolvimentos com esta poderosa tecnologia da Microsoft denomidada de WPF que também mudou a sua comunidade principal para o site WindowsClient.net/WPF.

   Para mais informações consultem os seguintes links:

(EN)

   With the release of the .NET Framework 3.5 SP1 the WPF suffered the third major release of it’s short history.

   This major areas that were affected were:

  • Deployment

     Now instead of needing the full framework installation it was made a lightweight version in order to run only this technology, and  this is called the Client Profile. This lightweight version that consumes 25 MB includes the following:

  • CLR (bases of the .NET Framework)
  • Click Once (Used in the installation of the WPF applications)
  • Windows Forms (Runtime used to run the Windows Forms solutions that can be held also inside WPF applications using WindowsFormsHost class)
  • Windows Presentation Foundation (Runtime used to run the WPF solutions that can also be held inside Windows Forms Applications using the ElementHost class)
  • Windows Communication Foundation (Runtime used to run and consume WCF services that are normally used by Windows and WPF applications)
  • Graphics

     This versions includes powerful enhancements on the WPF graphics primarily on the 3D scope in controls like UIElement3D and Viewport2DVisual3D (that is responsible for making 2D object viewable in 3D).

     Also brings the HLSL shaders with the ShaderEffect class, that are entirely implemented on the GPU level, which makes it a lot faster, in case you have the Pixel Shader 2.0 support on your hardware).

    Another class that was also enhanced was the WritableBitmap class that now enables a very efficient image manipulation, by giving the ability to provide bitmap images mapped in the system memory that will give us the ability to change it on runtime and have the effects immediately on the screen. 

  • Performance

    Changes to the cold start on the application that are now improved in 45% depending on the application size.

    Virtualization optimizations such as in TreeView, columns that can now be virtualized and that will enable a better and easier creation of DataGrid controls.

  • New Controls

     The much asked Datagrid control is now part of the WPF controls that are made available, but that will be released after the .net 3.5 SP1 release.

     The Office Ribbon control is also part of the new WPF controls and will also be released after the .net 3.5 SP1 release as the DataGrid Control.

      A Rich functionality WebBrowser Control, that in the previous versions worked via a Frame Element, and now will permit javacript and other funcionalities that exist on the normal browsers, and also will provide the ability for WPF applications to host Silverlight contents.

  • Other Enhancements

     Support for String formatting on the databinding of text without having to implement the IValueConverter interface.

     Extended support for the XBAP for the Firefox by providing the ClickOnce native support inside it.

     Improvements in the WPF Designer of the Visual Studio 2008 solving some problems that existed with the rendering of elements majorly when they were based on other custom controls.

     There’s a change that needs to be made on the Blend 2.5 Preview in order to solve some of this problems and that can be downloaded here.

  • Integration

     Improved DirectX integration by having the D3DImage class that enabled the developer to overlay or blend the Direct3D contents with the WPF contents.

   In conclusion, all great stuff for those who develop using this powerful Microsoft Technology called WPF that changed the main community site to the WindowsClient.net/WPF.

   For more information’s check the following links:

Feedback (0)