Chilá na NET... Ah e no .NET também...

Aqui você encontrará muita coisa (in)útil, código, informação e minha opinião sobre Visual Studio, AJAX, Javascript e ASP.NET.

  • Visual Basic ou Visual C#?

    Ô perguntinha intrigante. Mas vou tentar explicar o meu ponto de vista. Quando o Visual Studio .NET foi lançado em 2002, existia uma linha de pensamento assim:

    “Se você usa o Visual Basic, use o VB.NET, mas, se você vem do C, C++ use o Visual C#!”

    Em parte isso era verdade porquê, além de inovações nas linguagens, também existia a novidade que era o .NET Framework. Não bastava mais saber a linguagem, era necessário dominar o Framework. E seguindo a linha de pensamento acima, temos que concordar que, quando você se depara com muita coisa nova e tem que aprender muita coisa, provavelmente você vai deixar a novidade de lado.

    Então para apressar a curva de aprendizado, todos seguiram a orientação e assim foi, só que hoje em dia eu gostaria de adicionar alguns pontos, sobre essa escolha.

    1. Se você já tem alguma experiência com o .NET Framework, a linguagem escolhida será apenas uma detalhe. Claro que, se você tem alguma experiência com desenvolvimento Web, você já utiliza claramente elementos da estrutura C#, já que o Javascript e o C#, possuem muita semelhança na semântica de sua estrutura.
    2. Se você não tem experiência com o .NET Framework, mas já desenvolveu alguma coisa na vida, escolha o Visual Basic se você já desenvolveu algo em VB e o Visual C# se você utilizou Delphi, Pascal etc etc.
    3. Se você não sabe “nada de nada”, está começando por exemplo, eu não indicaria nem o Visual Basic e muito menos o Visual C#, aqui não tem jeito, é preferência mesmo. Veja você mesmo as duas linguagens e escolha aquela que você quer “falar”.

    Ah, existe um último fator que é sobre o mercado, que pode te ajudar a escolher melhor. A Microsoft por exemplo, tenta seguir uma linha de igualdade, mas, não consegue e você em muitos eventos e apresentações por aí, vê o código Visual C# com mais frequência do que o código Visual Basic.

    Há alguns anos, desenvolvedores VB não eram muito bem vistos, embora necessários. Hoje em dia isso diminuiu mas ainda vemos que as empresas procuram muito mais desenvolvedores C# do que VB.

    Bem, escreví essas poucas linhas, porquê vamos tentar mudar a “linguagem padrão” lá do banco em que trabalho, indo do Visual Basic para o C#. Não vai ser fácil, mas, pelo menos nessa, todos os desenvolvedores estão unidos.

    Abraços e vamos discutir sobre isso…

    Chilá!@!

    Read more...

  • Você desenvolve ou “arrasta e solta”?

    Faz muito tempo que não escrevo nada, e hoje não vai sair nenhuma linha de código, apenas um ponto de vista. Estava eu falando outro dia com meu irmão, Fábio, que é designer, flasheiro etc etc e ele estava me contando que os desenvolvedores ASP.NET que aparecem para os trabalhos em agência de propaganda, só sabem fazer as coisas na base do arrastar e soltar. CARAMBA, quase infartei… Comecei a desenvolver em um tempo em que wizards e assistentes no VB4, BN5 e até no VB6 eram carentes de performance e personalização.

    Mas, para entender melhor, fui dar uma verificada nesses sites e enteder o porquê de tanto arrastar e soltar. Bem, pude conferir que esses sites, geralmente todos em Flash, tem uma tela ou outra para você se cadastrar, receber notícias essas coisas. E nesse ponto tenho que ser sincero, para uma serviço desses qualquer linguagem dá conta e qualquer desenvolvedor, por pior que seja, afinal, gravar UM registro é coisa demais?

    Aí, fui tentar entender o porquê de todos preferirem o bendito “arrastar e soltar”. Bem, eu não gosto, prefiro não usar, mas fiz uns testes com ASP.NET Dynamic Data e com o ObjectDataSource e vou expressar agora, o que achei.

    1. ASP.NET Dynamic Data – Útil para os casos em que não temos tempo para criar as páginas de cadastro de um sistema, desde que essas páginas fiquem sob os cuidados de TI senão, personalizá-las, dá um pouco de trabalho.
    2. ObjectDataSource – Usei e não gostei. Me poupou algumas linhas de código, mas e daí? Tive que criar a classe, os métodos etc etc. Não gostei… e ponto.

    Posso ter usado pouco essas duas e concluído rápido demais, mas, aprendí nesses quase 16 anos de desenvolvimento que não existe sintonia fina em coisa que nasce pronta. Quando preciso de performance e escalabilidade, a coisa fica feia e esse monte de assistentes e wizards são inúteis…

    Há algum tempo atrás, coloquei uma série de quatro artigos no site DEVASP.NET, sobre AJAX, uma fazendo todo o uso de AJAX mas na unha, sem nenhuma biblioteca, chamando o objeto XMLHTTPREQUEST etc etc. E as outras com o uso de da Biblioteca AJAXPro. Você pode conferir aqui.

    Porquê mencionou essas coluninhas sobre AJAX nesse post? Só para que antes de utilizarmos só o que nos é dado pronto, a gente saiba como a coisa funciona, saiba o que é preciso para que funcione. Se você não souber, imagina quando precisar resolver um problema…

    Abraços e vou evitar ficar tanto tempo sem postar nada… mas o dia-a-dia no banco tá bravo…

    Falow!@!

    Chilá!@!

    Read more...

  • “Bloguear” é aprender…

    Enquanto eu preparo o post sobre como utlizar a enterprise library de dentro do Visual Studio, percebí, aliás, não só eu, mas creio que todos que escrevem um blog, vivem o constante aprendizado que é aprender para disseminar…

    E posso dizer que é isso que eu quero, que o pouco que eu sei, que vocês também saibam.

    Lembro que quando começei a trabalhar, como estagiário de uma empresa de consultoria em desenvolvimento de sistemas (A.E.S. – Application Express System), me ensinaram que temos que dividir o conhecimento. Todos, simplesmente todos os sócios da consultoria ensinavam os estagiários tudo que sabiam. Eu passava horas e mais horas ao lado de caras que sabiam muito e tinham mais anos de experiência desenvolvendo sistemas do que eu tinha de idade.

    Deve ser por tudo isso que eu gosto de fazer essas coisas… palestras, eventos, blog etc etc.

    Estou me esforçando para aprender o que eu não sei e colocar aqui, afinal, é assim que eu também aprendo…

    Abraços e até o próximo post sobre Visual Studio + Enterprise Library

    Read more...

  • Enteprise Library (EntLib) – Configurando Ambientes Heterogêneos

    Antes de aprofundar sobre o uso de cada bloco da EntLib, quero mostrar mais um ponto da bilbioteca que faz com que eu cada vez mais recomende seu uso, estou falando da configuração de ambientes heterogêneos.

    Exemplificando, imagine que a Chilá Corp., tem três ambientes nso quais seus sistemas são executados:

    • Desenvolvimento – Servidor de Banco de dados e de aplicativo aonde o desenvolvedor trabalha na sua solução, na sua versão para determinado sistema e/ou problema.
    • Homologação – Servidor de Banco de dados e de aplicativo aonde o usuário final homologa a solução dada pelo desenvolvedor/equipe de desenvolvimento/departamento.
    • Produção – Servidor de banco de dados e de aplicativo aonde os usuários finais trabalham.

    Ao usarmos a EntLib na Chilá Corp., o que teríamos? Três versões do arquivo de aplicativo com as configurações da EntLib para cada ambiente? Cada versão dessas isolada da outra? Necessidade de manutenção em 3 versões?

    Bem por sorte o pessoal da Microsoft pensou na gente e incluiu uma opção chamada de “Environment” (ambiente em inglês). Com isso, criamos toda a nossa configuração da EntLib, pensando como uma única coisa e depois, criamos os ambientes que são os “environments” aonde nossa aplicação irá rodar.

    Para dar mais um exemplo, imaginem que os servidores de banco de dados, tem os seguintes nomes, por ambiente:

    • bd_desen – Banco de dados de desenvolvimento
    • bd_homol – Banco de dados de homolagação
    • bd_produ – Banco de dados de produção

    Para dar mais tempero ao nosso exemplo, imaginem que um banco de dados, por alguma razão, é utilizado por todos os ambientes, seja ele de desenvolvimento, homologação ou produção. Teríamos:

    • bd_estat – Banco de dados de estatísticas (não me perguntem nada sobre isso, acabei de criar isso e dar esse nome somente para efeito didático…)

    Então na nossa configuração da EntLib, temos que:

    1. Configurar nossos 3 ambientes;
    2. Configurar cada conexão de dados para esses três ambientes; e
    3. Configurar a conexão do bd_estat para que seja usado nos três ambientes da mesma forma.

    Pois bem, vamos começar. Após iniciar a Configuração da Enterprise Library, clique com o botão direito sobre “Enterprise Library Configuration” e escolha “new Application”, conforme a imagem abaixo:

    nova aplicação entlib

    Após, criar a aplicação, vamos criar nossos ambientes. Veja na imagem abaixo como criar um novo “environment’, botão direito em “Environments”, “New”, “Environment”:

    EntLib Configurações de Ambiente

    Depois isso, vamos dar nome aos bois. Vou chamar esse nosso primeiro ambiente de Desenvolvimento, conforme imagem abaixo:

    ambiente de desenvolvimento

    E agora vou criar o ambiente de homologação, repetindo os passos que efetuei para criar o ambiente de desenvolvimento. Ficando assim:

    ambiente de homologacao Agora vamos criar o nosso bloco de acesso a dados e aí sim, personalizar cada conexão de banco de dados para cada servidor de nossos ambientes. Para criar o bloco de acesso a dados da nossa aplicação, vamos clicar com o botão direito em “Application Configuration”, “New”, “Data Access Application Block”, conforme imagem abaixo:

    criacao do data access blockApós esse passo, a nossa configuração deve estar parecida com a imagem abaixo:

    tela após daab

    Reparem no bloco “Overridden values per environment”. É esse bloco em que vamos configurar nossa string de conexão diferenciada por servidor. Chamarei a conexão de “conexaoUm”, ficando mais ou menos assim a nossa configuração:

    conexaoUm

    Reparem na área destacada em vermelho. É nela que iremos indicar se essa configuração pode ou não ser sobreescrita por ambiente. É aqui que está o pulo do gato. Para configurações homogêneas entre servidores, deixamos marcado a opção padrão que é de não sobreescrever a propriedade “Don’t Override Properties”. Quando a configuração mudar de ambiente para ambiente, iremos selecionar sobreescrever propriedade “Override Properties”. Vejam como ficou a configuração ajustada por ambiente:

    image

    Para finalizar, vou criar uma nova conexão, chamada “conexaoEstat” para o nosso banco de dados db_estat que é o mesmo para todos os ambientes e que não terá a opção de sobreescrever por ambiente marcada, conforme imagem abaixo:

    imageE para finalizar, para gerar os seus arquivos de configuração por ambiente, basta clicar com o botão direito no ambiente e escolher “Save Merged Configuration”, conforme imagem a seguir:

    image

    Bem, é isso, no próximo post, mostrarei como configurar seu web.config ou app.config para aí sim, começar a utilizar e ter todas as vantagens da Enterprise Library. Até aqui, o trabalho que demonstrei ficaria a serviço da área de infra da sua empresa, uma vez que envolve servidores e strings de conexão que muitas vezes são desconhecidas pelos desenvolvedores, seja propositadamente ou por ser uma política de segurança corporativa.

    Abraços…

    Chilá!@!

    Read more...

  • O que é Enterprise Library??

    Bem, após um ou dois dias desenvolvendo no .NET, seja ele 2001, 2003, 2005, 2008 ou até o 2010 CTP, você já deve ter se perguntado: "Porquê algumas tarefas, são sempre repetidas e eu tenho sempre que reescrevê-las?". Bem isso acontece porquê provavelmente Você não desenvolveu o SEU PRÓPRIO framework, simples não...

    Read more...

  • Enterprise Library (ou simplesmente EntLib)

    Pessoal, há muito tempo atrás, escreví um artigo conceitual (tá bom, com um pouco de código), abordando a Enterprise Library, que então estava em sua versão 3.1. Achei o arquivo e vou colocá-lo no meu skydrive para download. Clique aqui para baixar.

    Abraços.

    Read more...

  • Office 2007 salvando como PDF

    Vocês já devem saber que o SP2 para o Office 2007 virá com essa opção, de salvar em PDF mas para quem não quer esperar, basta acessar aqui e baixar o add-in.

    Read more...

  • blogs.msdn.com fora do ar!!!

    Caraca, e eu sempre digo por aí, para amigos e nos eventos em que vou que os blogs do MSDN são uma grande fonte de informação!! Olhem o erro:

    Read more...