Mais de um mês inteiro sem nenhuma postagem, estou com um pouco de falta de criatividade. Aliado a isto tive um problema de saúde que me deixou durante uma semana bastante preocupado, mas já me sinto melhor.
Andei estudando Silverlight e WPF, inclusive estou participando de um projeto com ambas as tecnologias e posso dizer com certeza que a curva de aprendizado não é tão grande entre as duas.
Uma das dificuldades que estou sentindo na programação em Silverlight é a falta de algumas (várias) sobrecargas de métodos. Isso não chega a ser um problema, mas incomoda quando se tenta utilizar um código antigo numa aplicação Silverlight.
Vou colocar dois códigos bem simples, que provavelmente você já deva ter usado:
public bool IsConvertible(Type type)
{
return type.GetInterface("IConvertible") != null;
}
public T ConvertEnum<T>(object src)
{
Type type = typeof(T);
return (T)Enum.Parse(type, src.ToString());
}
Pois bem, apesar de bem simples os dois métodos acima não funcionam exatamente como estão. Isso porque exatamente a sobrecarga utilizada não existe em Silverlght. Obviamente que se passarmos outro parâmetro a acessarmos a outra sobrecarga podemos ver que o Silverlight possui apenas uma forma de acesso, conforme abaixo.
public bool IsConvertible(Type type)
{
return type.GetInterface("IConvertible", false) != null;
}
public T ConvertEnum<T>(object src)
{
Type type = typeof(T);
return (T)Enum.Parse(type, src.ToString(), false);
}
A lista de diferenças e bastante grande, inclui também coisas que se costuma usar com muita frequência até em WPF como é o caso do
DependencyProperty.Register que também não tem nenhuma sobrecarga no Silverlight.
É só com o dia a dia é que notaremos todas essas diferenças. Não pode-se culpar a equipe de deselvolvimento do Silverlight pois afinal de contas a diferença no tamanho do plugin para o framework .NET completo teria que estar em algum lugar. Mágica não existe.
Enjoy
Nenhum comentário:
Postar um comentário