rbfigueira
Tudo sobre a plataforma .net em Português ;)

Thursday, March 13, 2008


Video: TechDays 2008 - PontoNetPT

É fácil quando tudo já está criado e a funcionar... o difícil é ter a ideia, criar e dar a "camisola" por ela!
Alguns acabaram por se tornar MVPs, outros oradores de eventos da Microsoft e muitos são reconhecidos pelo seu empenho e trabalho. Nada como ver os frutos de vários anos de trabalho e dedicação!! :)

Obrigado Zé Tó (Microsoft) pelo reconhecimento e importancia dada à Comunidade
PontoNetPT !
 
[Cross-Posted de http://rbfigueira.net]
posted @ 10:55 PM | Feedback (0)

Tuesday, December 04, 2007

Qual a principal plataforma de forum que desejam ter na Comunidade PontoNetPT ?
Mailing List:
(66,7%)
Forum Web:
(11,1%)
Newsgroups:
(7,4%)
Mailing List e Forum Web:
(13%)
Outro:
(1,9%)
Votou em:
Total de votos: 54

Sem qualquer margem para dúvidas, a Mailing List é a vencedora :)

posted @ 1:42 PM | Feedback (1)
 

Por defeito uma instancia do controlo Silverlight tem o parâmetro (IsWindowless = false), também conhecido como windowed.  Poderemos alterar o valor do parâmetro para (IsWindowless = true) através dos métodos javascript  (createObject e createObjectEx) ou directamente usando os elementos OBJECT/EMBED.

IsWindowless = false (Windowed)

  • opção com mais performance;
  • o controlo Silverlight reside sempre por cima;
  • mesmo que esteja atribuída a transparência ao parametro background, o fundo será sempre preto.

IsWindowless = true

  • perda de performance;
  • respeita o “HTML z-indexing”, logo poderemos sobrepor conteúdos HTML (ou algo mais rico como a ASP.NET AJAX, Flash, etc) por cima do controlo Silverlight e vice-versa. O Microsoft Popfly é um excelente exemplo prático disso mesmo;
  • suporta transparências (background e conteúdos). 

Existe uma perda visível de performance só no facto de se utilizar transparências e cores com “alpha channel”, especialmente visível no browser safari – Mac, por este motivo deveremos evitar a sua utilização.

Apesar do IsWindowless = true ser o mais utilizado devido à sua grande flexibilidade, caso a vossa página tenha só conteúdo isolado, utilizem sempre a opção IsWindowless = false (Windowed).
 
[Cross-Posted de http://rbfigueira.net]
posted @ 1:39 PM | Feedback (0)

Monday, December 03, 2007

 
Recomendo darem uma olhadela :)
 
[Cross-Posted de http://rbfigueira.net]
posted @ 1:54 PM | Feedback (0)

Thursday, November 29, 2007

Não sei se já repararam mas temos um update para o Silverlight v1.0.

Uma das melhorias é:
"Loading XAML from a script tag will now work on all supported browsers."

sound great!! :)

Não esquecer de alterar o valor do parâmetro version:

Exemplo:
 
   1:  Silverlight.createObjectEx({
   2:   
   3:  source: "Page.xaml",
   4:  parentElement: document.getElementById("SilverlightControlHost"),
   5:  id: "SilverlightControl",
   6:  properties: { width: "100%", height: "100%", version: "1.0.21115" },
   7:  events: { /*...*/ } 
   8:   
   9:  });
 
Referências:
[Cross-Posted de http://rbfigueira.net]
posted @ 1:50 PM | Feedback (3)
 

Em resposta a alguns pedidos, aqui está a forma de como instanciar o controlo silverlight utilizando os elementos OBJECT e EMBED.

Exemplo utilizando o elemento OBJECT:

<object type=“application/x-silverlightid=“silverlightControlwidth=“1024height=“768“>
<param name=“backgroundvalue=“white“/>
<param name=“sourcevalue=“myFile.xaml“/>
</object>

Nota: Atenção que o browser safari da Apple actualmente não suporta o elemento OBJECT.

Exemplo utilizando o elemento EMBED:

<embed type=”application/x-silverlightid=“silverlightControl
 width=”1024height=”768background=”blacksource=”myFile.xaml”/>

O problema é que o utilizador só poderá interagir com a página depois de activar o controlo. Em ambos os casos aparece a tooltip "Click to activate and use this control"

A Microsoft utiliza Javascript (métodos createObject() e CreateObjectEx()) para contornar esse problema e para detectar automaticamente o browser envolvido, utilizando a técnica mais adequada (browser) para instanciar o controlo Silverlight.
 
Se não querem ter problemas com diferentes browsers e futuras versões do Silverlight, utilizem os métodos Javascript para instanciarem um controlo Silverlight.
 
Mais informações em:
Activating ActiveX Controls
http://msdn2.microsoft.com/en-us/library/ms537508.aspx
 
[Cross-Posted de http://rbfigueira.net]
posted @ 12:41 PM | Feedback (0)

Wednesday, November 28, 2007

Os métodos Silverlight.createObject() e Silverlight.CreateObjectEx() são usados para criarem uma nova instância de um controlo Silverlight e encaixá-lo (embutido) em uma página web.
 
Na prática, se virem o código javascript (Silverlight.js), o método CreateObjectEx() não é mais do que um "override" ao método createObject(). O método CreateObjectEx() apenas usa as "características" de JSON (JavaScript Object Notation) para instanciar o controlo. :)

É utilizado o método “cross-browser” que detecta automaticamente o browser envolvido e utiliza a técnica mais adequada para instanciar o controlo Silverlight. Se o plug-in (Silverlight) ainda não estiver instalado, o método fornecerá ao utilizador a informação necessária de como proceder à sua instalação.

Digamos que tudo isto foi criado para termos uma boa experiência UX (User eXperience) e evitarmos alguns problemas. Não precisamos destes métodos "Javascript" para criarmos uma nova instância do controlo Silverlight! Vocês podem utilizar directamente os elementos OBJECT e EMBED, mas sinceramente não os recomendo. O elemento OBJECT com o controlo Silverlight não se dá muito bem com o browser Safari  - Mac. O elemento EMBED funciona em todos os browsers mas.... Em ambos apareceria aquela "tooltip" para activarmos o controlo. Não faz sentido!! Usem as funções :)

Continua em [http://rbfigueira.net/Post.aspx?postID=203]

posted @ 6:58 PM | Feedback (0)

Tuesday, November 27, 2007

No sentido de responder a vários emails com dúvidas sobre a utilização de um Virtual Path Provider, aqui vai mais umas dicas :)

A framework ASP.NET 2,0 permite-nos "virtualizar" ficheiros que contenham recursos de navegação.
Desta forma é possível chamar os recursos utilizando o mecanismo "VirtualPathProvider", ou seja, recuperar páginas e/ou recursos de um "sistema de arquivo virtual".

As páginas/recursos podem estar guardadas em:
- Base de dados
- Ficheiros de diferentes formatos (ficheiros Zip, embutidos numa dll, etc)

Para a criação de um "Custom Virtual Path Provider" a class deverá ter este aspecto básico:
   1:  public class MyVirtualPathProvider : VirtualPathProvider
   2:  {
   3:      public static void AppInitialize(){
   4:          HostingEnvironment.RegisterVirtualPathProvider(new MyVirtualPathProvider());
   5:      }
   6:   
   7:      public override bool FileExists(string virtualPath) {...}
   8:      public override bool DirectoryExists(string virtualDir) {...}
   9:      public override VirtualFile GetFile(string virtualPath) {...}
  10:      public override VirtualDirectoryGetDirectory(string virtualDir) {...}
  11:  }
 
Continua em [http://rbfigueira.net/Post.aspx?postID=202]
 
posted @ 1:15 PM | Feedback (1)

Monday, November 26, 2007

Ao contrário da maioria dos providers, um Virtual Path provider não é registado através do ficheiro web.config.
Podem registar o vosso VPP através do evento Application_Start do global.asax ou adicionado o método static AppInitialize a uma classe que esteja na directória App_Code.

 1: public static class WebAppStart
 2: {
 3: public static void AppInitialize()
 4:  {
 5:  MyVirtualPathProvider vpp = new MyVirtualPathProvider();
 6:  HostingEnvironment.RegisterVirtualPathProvider(vpp);
 7: 
 8:  }
 9: }

Obtem um erro de compilação se possuirem múltiplos métodos estáticos com o mesmo nome (AppInitialize) em diferentes classes na directória App_Code.

[Cross-Posted de http://rbfigueira.net]

posted @ 11:56 PM | Feedback (2)

Wednesday, November 21, 2007

 
Fica a pergunta, para quando um em Portugal ? ;)

[Cross-Posted de http://rbfigueira.net]

posted @ 6:19 PM | Feedback (0)
 

Existe uma “Consulta à comunidade”, e voçês têm um papel importante na "discussão".
Penso que será bom continuarem a participar pois estão a escolher o rumo a dar à comunidade PontoNetPT.

Será necessário escolherem entre manter a mailing list ou manter o forum web.
Também sou da opinião que manter as duas opções não será a melhor solução e que uma "condena" a outra. Neste momento temos as duas opções activas e o forum web não teve muito sucesso.

Como sempre terão a possibilidade de participar na escolha.

A escolha é vossa, votem !

Qual a principal plataforma de forum que desejam ter na Comunidade PontoNetPT ?

1 - Mailing List                     
2 - Forum Web                     
3 - Newsgroups
4 - Mailing List e Forum Web
5 - Outro

Votem utilizando o Link: http://www.rbfigueira.net/poll/poll_forum.aspx

Nota: Caso alguém escolha a opção "outro", por favor, comente.

posted @ 2:15 PM | Feedback (3)

Monday, November 19, 2007

"A Universidade de Coimbra, em conjunto com Carnegie Mellon, lançou recentemente o Professional Master of Software Engineering (MSE). Este é um programa de formação avançada em Engenharia de Software, sendo actualmente reconhecido como um dos melhores do mundo. É o programa que muitas empresas de topo enviam os seus project managers e engenheiros fazer antes de os colocarem em posições chave na organização. É também o programa que muitos engenheiros decidem fazer quando querem passar a posições de liderança de equipas, gestão de projectos ou de arquitectos de software.
 
O programa dura 16 meses, em regime de formação intensiva. 4 meses são passados na CMU, 12 em Portugal. Sendo um grau duplo, os formandos ficam com um grau de Professional Master de Carnegie Mellon e outro da UC. Note-se que este programa não é direccionado a recém-licenciados mas a engenheiros com um mínimo de 2 anos de experiência de indústria. É potencialmente muito, muito interessante para quem quer dar um salto em termos de progressão de carreira.
 
Posto isto, gostaria também de mencionar o seguinte. O programa tem tanta relevância para a indústria que neste momento temos um conjunto de empresas que o apoiam directamente. Esse apoio reflecte-se da seguinte forma:
  • Aos candidatos aceites no MSE, existe a possibilidade de financiamento integral dos seus estudos, cobrindo não só o pagamento de propinas como também despesas de subsistência, tanto em Portugal como nos Estados Unidos, durante os 16 meses.
  • No final da formação garantem a inserção dos graduados nos quadros da empresas.
Nós iremos fazer duas sessões de apresentação do programa em Lisboa, duas no Porto e uma em Coimbra. A de Coimbra é já no dia 26 de Novembro, pelas 15:00. Relativamente às de Lisboa e Porto a informação encontra-se em anexo. Estão desde já convidados a participar. "
 
Mensagem de Paulo Marques (Coordenador do MSE - http://mse.dei.uc.pt)
 


Gostaríamos também de vos pedir auxílio na divulgação do programa passando esta mensagem a potenciais interessados
posted @ 5:21 PM | Feedback (1)

Thursday, November 15, 2007

O João Cardoso está a fazer uma “Consulta à comunidade”, e penso que está na altura de expressar a minha opinião. No final o que conta é a opinião de todos (votos a mais ou a menos em determinados assuntos).

Primeiro que tudo quero dar os meus parabéns à comunidade PontoNetPT, fez 6 anos de existência (nasceu em 2 de Novembro de 2001). Estes 6 anos são claros do esforço de muitos de nós que trabalhamos para que tudo isto fosse possível.

Quando criei esta comunidade sempre tive em mente esta frase:
 
A comunidade foi criada com o objectivo de unir todos os programadores que falem Português, que pretendam aprender ou que já estejam a desenvolver aplicações com esta nova plataforma .NET

Segundo, gostaria de dizer que nestes últimos meses não tenho sido muito participativo porque como devem entender todos nós temos as nossas prioridades. Uma das principais razões é a falta de tempo e outros motivos que me desmotivaram e que não vêm agora para o caso.... Neste momento não tenho qualquer tipo de disponibilidade para fazer upgrades, migrações e afins, pelos motivos já mencionados.  Acredito e não tenho qualquer dúvida que todos os esforços serão feitos no sentido de dar um novo fôlego à comunidade. Não podem é ser sempre os mesmos, tudo requer muitas e muitas horas de trabalho e a responsabilidade não pode recair sempre nas mesmas pessoas. Nestes últimos 6 anos dei centenas e centenas de horas, organização, dedicação, força e motivação à comunidade. Para muitos a comunidade PontoNetPT nunca será esquecida e ainda é um marco importante para os programadores de .NET. Como é obvio vou continuar a estar atento ao que se passa e desta forma agradeço que as pessoas envolvidas me informem de qual o rumo que estão a tomar, um C/C no email é o que basta :)

Passando à frente... :
1 - O principal objectivo da comunidade é unir os programadores, logo a minha opinião será sempre contra a separação de qualquer grupo, esteja ele ou não a fazer muito “ruído”. É claro que existem regras e elas deverão ser cumpridas, aqui os moderadores têm um papel muito importante e ao mesmo tempo ingrato. A comunidade tem que encontrar ferramentas (agregadores, tags, etc) de forma a isolar o barulho e manter todos os programadores unidos. A ideia de criar um “planeta” não é de deitar fora, e neste momento é importante e fundamental encontrar novas ferramentas adequadas para esse tipo de efeito. Muitos têm o seu blog noutro local e se existir um agregador a comunidade só terá a ganhar com isso.

2 – Seria óptimo e fundamental que existisse uma equipa com responsabilidades definidas em que cada um desempenharia um papel. Não estou a falar de apenas duas ou três pessoas (que é o que existe actualmente)... isso é impossível, todos têm a sua vida.

3 – É importantíssimo que a comunidade volte a ser uma comunidade de referência técnica. È necessário um sistema de artigos como deve ser!! Será que o Community Server têm isso ? Existem muitos que querem publicar artigos! É necessário organizar as dezenas de artigos que já existem...

4-  Sou contra a abolição da maling list em substituição pelo forum web. Para a maioria dos programadores ainda é a "ferramenta" mais utilizada.

5 – Os off-topic não devem ser permitidos, salvo raras excepções. O tema já é extenso (podem falar de todos os produtos Microsoft e derivados). Deveremos ter em mente o objectivo principal se queremos uma comunidade técnica com qualidade. Penso que aqui o Community Server tem caractisticas uteis que poderão ajudar nisso.

Por fim para não me alongar mais...

Seja ou não um erro estratégico, a Microsoft está a apostar fortemente nos MSP´s e temos que respeitar isso. Uma coisa é certa,  é importante que a Microsoft apoie mais a Comunidade PontoNetPT, lhe dê mais valor e canalize forças no sentido de dar um novo fôlego à comunidade. Estamos a falar de uma comunidade que publica diariamente experiências relacionadas com os seus produtos.

Por favor, continuem a comentar no post "Consulta à comunidade".

posted @ 1:51 PM | Feedback (0)

Tuesday, September 11, 2007

 
Note: Using "Safari 3 Public Beta"
 
Continua em : [ http://rbfigueira.net/Post.aspx?postID=194 ]
 
posted @ 2:11 PM | Feedback (0)
 

Não se tem falado muito sobre o Silverlight para o Windows Mobile e ainda nem existe uma versão beta! ://

Fica aqui este vídeo para abrir o "apetite" :

YouTube - Silverlight for Windows Mobile
www.youtube.com/watch?v=LA3LlpClFko

Algumas imagens da aplicação:




Mas pensem bem, será mesmo interessante executar um aplicação Silverlight no mobile browser ?

 
posted @ 2:09 PM | Feedback (1)