0

HTML 5 + CSS3, C# + Java e Windows Phone 7 em um post!

by Luiz Jr 24. dezembro 2011 10:43

Sim, este post tratará sobre estes três assuntos: HTML5 + CSS3 (+Javascript), interoperabilidade entre sistemas Java e .NET (não necessariamente C#) e Windows Phone 7, mas não, não serão ao mesmo tempo, hehehe. Neste final de ano o pessoal da Microsoft Brasil resolveu suar a camisa e nos entregar uma série de treinamentos gratuitos para capacitar os desenvolvedores de suas plataformas melhor. O post é breve, afinal ninguém quer ficar lendo nerdices em plena véspera de Natal, exceto eu é claro...

HTML5 &  Javascript Center

A Microsoft criou um hotsite chamado HTML5 & Javascript Center, onde dão muitas informações sobre como utilizar HTML5, CSS3 e Javascript juntos para criar páginas web ainda melhores. O site já contém muito material, incluindo tutoriais simples como uso da tag Áudio e Vídeo até coisas mais complexas como manipulação da tag Canvas (o canivete suíço do HTML5). Além disso, boa parte desse material está em Português, e mesmo o material em inglês é fácil de entender (afinal HTML é HTML em qualquer idioma...). O site também contém links de referências e está muito bem organizado por categoprias. Vale a pena conferir no http://msdn.microsoft.com/pt-br/hh442325.

Interoperabilidade entre Java e .NET

Desde que venho acompanhando a comunidade em torno da Microsoft Brasil em 2008, pude notar que uma postura que se instaurou na cia. é a de interoperabilidade de plataformas. Ultimamente a Microsoft tem lançado cada vez mais soluções interoperáveis, como seu Hyper-V e SCVMM para Linux, WebMatrix para PHP, TFS para Eclipse, Azure para PHP, Java, etc; material dedicado a HTML5 + CSS3 (existe algo mais interoperável que uma página HTML?), disponibilização de fontes para o pessoal do projeto Mono e Moonlight e por aí vai. Isto foi uma atitude muito inteligente do novo CEO Steve Ballmer, que tem atraído mais união entre os desenvolvedores de diferentes plataformas.

Dentro desta mesma linha, recentemente a Microsoft Brasil colocou no ar uma nova página dentro de seu famoso Centro de Treinamento (que eu já citei em outro post): Interoperabilidade entre Java e .NET. Todo mundo que está no mercado a alguns anos e já trabalhou em algumas empresas diferentes sabe que hoje Java e .NET são os bam-bam-bams do mercado mundial de software. As maiores cias. de software do mundo desenvolvem em tais tecnologias e os maiores salários do mercado são ofertados para analistas e desenvolvedores das mesmas. Parece que esse panorama não irá mudar nem mesmo com a crescente das aplicações móveis, uma vez que você pode continuar usando Java e .NET para programar para Android e iOS.

Mas voltando ao assunto da página, acesse http://msdn.microsoft.com/pt-br/hh314025, lá você encontra tutoriais em português sobre o funcionamento das arquiteturas (que são muuuito parecidas), sobre como fazer serviços Java conversarem com .NET e o inverso, como utilizar WCF e Glassfish e inclusive como colocar JEE na nuvem do Azure!

Windows Phone 7

E a minha notícia favorita de final de ano: uma página novinha em folha no Centro de Treinamento somente sobre Windows Phone 7 e 100% em português! Lembram-se de meu post anterior sobre Windows Phone 7, onde falei sobre os vídeos existentes no Channel 9, com o Bob Tabor? Pois é, agora temos a nossa versão tupiniquim e com ótimo conteúdo. Acesse http://msdn.microsoft.com/pt-br/hh230679 e veja uma gama completa de conteúdos como instalação do ambiente, Silverlight, XNA, deploy, debug, app lifeycle, gestos, orientação, themes, globalization, SQL Server Compact (toma SQLite!), GPS e por aí vai.

Resta saber se a parceria Microsoft + Nokia vai emplacar o WP7 na terra do Blanka, uma vez que nossa carga tributária é altíssima e fica difícil concorrer com o Android, que possui aparelhos em torno de R$500. Mas já é bom ir se adiantando, não é mesmo?

Tags: , , , , , ,

ASP.NET | Dica | Mercado | Mobile | Web | WP7 | Java

0

TextBox com recurso auto-complete com ASP.NET + JQuery

by Luiz Jr 15. dezembro 2011 20:55

Todos os leitores deste blog já devem ter sido ajudados algum dia por recursos de auto-complete em caixas de texto. Você está digitando sua pesquisa no Google e...PIMBA! De acordo com as primeiras letras que digitou, ele completa o resto da frase. Ou então você está no Mercado Livre escrevendo o nome de um produto e...ZÁZ! Ele lhe sugere o produto certo. Recursos desse tipo nos poupam muito tempo enquanto estamos buscando coisas na web. Masi que o tempo de digitar uma frase, o fato do sistema ter lhe dado uma sugestão de palavra(s) significa que ele retornará algo com a consulta e que provavelmente outras pessoas também já realizaram a mesma.

Entretanto, esse tipo de recurso muitas vezes amedronta jovens programadores, quando o assunto é ELES colocarem esse recurso em suas caixas de pesquisa. Programadores ASP.NET que o digam, pois geralmente estamos acostumados com nosso mundinho perfeito de server-side e nos esquecemos do poder de coisas triviais como Javascript, para fornecer estes recursos extremamente úteis aos usuários. O post de hoje trata de soluções existentes para o problema, uma boa solução e fornece uma solução (quase) perfeita para o problema, que você pode fazer download no final do post.

JQuery

Soluções Existentes

Quando o assunto é Javascript, a onda do momento é falar de JQuery (http://jquery.com). O framework Javascript mais badalado do momento é extremamente poderoso e produtivo, e consequentemente muitas extensões do mesmo surgiram, como o JQuery UI (http://jqueryui.com). Neste conjunto de componentes JQuery prontos, temos o Autocomplete (http://jqueryui.com/demos/autocomplete/), uma caixa de texto que carrega uma coleção de JSONs com as possíveis sugestões. Se você não conhece JSON e/ou se amedronta só em ouvir, esqueça. Para que este Autocomplete funciona você terá de escrever Javascript dinamicamente na página, de acordo com o que o usuário digitar, ou então, escrever toneladas de JSON na tela para todas as possíveis sugestões. Apesar de ser puramente escrito em Javascript e muito completo, ele carece de desempenho...

Outra solução muito comum de ser vista na web, quando o assunto é ASP.NET é utilizando ASP.NET Ajax. Todo mundo que já usou ASP.NET Ajax e Ajax tradicional sabe das diferenças entre eles, principalmente no quesito performance. O ASP.NET Ajax abstrai do desenvolvedor toneladas de conceitos em cima de Javascript e XML em componentes como Update Panel e Timer, porém ao custo de ser mais lento que o Ajax tradicional e emporcalhar toda sua página com Javascript que você não pediu. Geralmente a solução mais encontrada envolve colocar um TextBox dentro de um UpdatePanel, setando uma consulta SQL no evento OnTextChanged do TextBox, ou seja, para cada letra digitada no TextBox, uma consulta SQL será realizada, retornando os resultados em uma DIV e como está tudo dentro de um UpdatePanel, a impressão que dá (não fosse a lerdeza) é de que você fez mágica!

A solução que vou propor a seguir é uma mescla dos dois conceitos e foi a melhor forma que encontrei de fazer isso até o momento. Sinceramente me diverti no processo (ok, eu sou nerd), o que foi um dos motivos de eu não ter procurado mais soluções existentes antes de desenvolver a minha.

SugestBox

Solução Proposta

Minha vida mudou depois que conheci a função 'load' do JQuery (http://api.jquery.com/load/), basicamente você usa os seletores para encontrar uma DIV e carrega pra dentro dela o conteúdo de uma URL que você passa como parâmetro para a função, em uma versão bem simples de Ajax que funciona perfeitamente. Quando você cai na real, percebe que o load é uma forma muito elegante e escalável de carregar trechos de HTML dinamicamente, dando um efeito mágico às suas páginas. Imagine listas de produtos que se carregam sozinhos sem esperar que a página inteira carregue. Ou DIVs que carregam seu conteúdo conforme opções que o usuário escolhe. Ou imagine que enquanto você digita um texto em um TextBox, sugestões aparecem...Ei!

//exemplo de uso do load
$('#div').load('http://minhaurl.com/default.aspx');

O load apenas acessa uma URL assincronamente ao restante da página e devolve o HTML. Ou seja, com ele você pode chamar uma página em sua linguagem de programação favorita (aham...ASP.NET) e colar o resultado da execução em uma div. Com um pouco mais de criatividade, você pode fazer coisas como:

//chamando uma página e passando parâmetros
$('#div').load('http://minhaurl.com/default.aspx?busca=carro');

Enquanto isso, na página Default.aspx, você pode colocar o código que quiser na sua linguagem favorita, bastando dar um Response.Write na própria página, para que o load pegue o conteúdo da página e jogue na DIV. Como exemplificado:

 

//dentro do Page_Load da Default.aspx
if(Request.QueryString["busca"] != null)
{
   if(Request.QueryString["busca"] == "carro")
      Response.Write("");
}

Obviamente este meu exemplo foi bem simplório, mas a idéia é demonstrar que você pode fazer o que quiser, capturando os valores vindos pela URL e utilizando-os em estruturas condicionais, consultas SQL, e por aí vai. E uma vez que no lado do cliente estamos trabalhando com Javascript, basta que a gente manipule os eventos do teclado via Javascript para saber quando um usuário digitou no TextBox (evento OnKeyPress) e devemos fazer o load no servidor, como segue:

//coloque o nome da function abaixo no OnKeypress do seu TextBox
//se estiver usando ASP.NET 4, coloque os IDs em Static Mode
function CarregarSugestoes()
{
   if($('#mytextbox').attr('value').length > 3)
   {
      $('#div').load('http://minhaurl.com/Default.aspx?busca=' + $('#mytextbox').attr('value'));
   }
}

Ou seja, se o usuário digitou mais de 3 letras no TextBox com ID mytextbox, ela enviará a palavra digitada à página Default.aspx para ser usada na busca de sugestões para aquela palavra, jogando o HTML de resultado na DIV. Fácil assim!

Como meu forte não é HTML, CSS e Javascript, mas sei o bastante para sobreviver, não entrarei em detalhes, apenas faça o download do código-fonte e dê uma analisada no que foi feito. Está muito bem escrito e limpo. Basicamente eu criei uma DIV que fica 'grudada' no meu TextBox, que conforme o usuário digita palavras, ela mostra sempre o mesmo conteúdo como sugestão. Você pode experimentar novos conteúdo apenas alterando o conteúdo do evento Page_Load da página Sugestao.aspx, inclusive conectando na sua base de dados favorita. Com um pouco de CSS e Javascript dei uma melhorada na usabilidade manipulando os eventos OnBlur do TextBox, realçando a sugestão selecionada da DIV e até comecei a esboçar o uso das setas do teclado para escolha da sugestão, usando o keyup do JQuery (http://api.jquery.com/keyup/). Nada muito sofisticado, mas muito bem feito. Aproveite e comente!

SugestBox.rar (49,69 kb)

Tags: , ,

Web | JQuery | ASP.NET

0

Curso de Extensão em ASP.NET na TecnoDohms

by Luiz Jr 23. maio 2011 19:20

Encerrou neste sábado na TecnoDohms (Faculdade de Tecnologia Pastor Dohms) a primeira edição do Curso de Extensão em ASP.NET ministrado por mim, em uma parceria entre a referida instituição e a RedeHost. Esse projeto, que já conta com mais de 15 instituições de ensino técnico e superior na região metropolitana de Porto Alegre, visa fomentar o estudo das tecnologias ASP.NET e SQL Server entre os alunos, com grandes chances dos melhores alunos serem contratados pela RedeHost como Aprendizes de Desenvolvimento. Desta vez não tirei fotos (falha minha) mas não deixou de ser mais uma experiência super bacana.

A Parceria

Nossa parceria foi firmada no início do ano, com o prof. Arno Oelrich, responsável pelas Relações Empresariais da instituição, que viu potencial na parceria e abriu as portas da instituição para que déssemos nossa tradicional palestra de Lavagem Cerebral da RedeHost. O auditório estava lotado no dia e embora não tenhamos obtido tantas inscrições para o treinamento quanto eu gostaria, foi uma das melhores palestras que já fiz, tendo o local ajudado muito. Quem dera todas as instituições tivessem um auditório tão bom para este tipo de evento, com um projetor tão bom e uma acústica excelente. Acabei chegando atrasado à palestra (triste, mas verdade) devido a um congestionamento na hora do rush da Cristóvão Colombo, mas os aplausos no final da "performance" me mostraram que valeu a pena. Em pouco tempo depois tivemos a também tradicional prova de lógica, o que diminuiu um pouco os alunos que entraram no curso em 11 alunos.

Novo brinquedo da RedeHost

O Curso

Durante 6 encontros, nos sábados de abril e maio, os alunos viram um pouco de ASP.NET, C#, SQL Server e Engenharia de Software, em um curso com conteúdo tão exaustivo que somente 5 alunos restaram no final do curso. Um parabéns a todos que aguentaram meus inúmeros trabalhos, cobranças, conteúdo em cima de conteúdo, etc. Destes alunos, provavelmente alguns serão contratados (colocarei um update no post quando isso acontecer) e os demais serão aproveitados pelo restante do mercado de trabalho. Foi uma experiência bem gratificante, principalmente por conhecer um pouco da instituição, seu modus-operandi (a idéia dos alunos utilizarem notebooks da escola ao invés de PCs em laboratórios específicos é muito genial), sua estrutura etc. Fiquei impressionado. O curso superior deles é outro ponto interessante, pois ele é um Tecnólogo de Desenvolvimento para Internet, o que é uma tendência mundial.

E Então?

Fico no aguardo dos trâmites de seleção da RedeHost para que sejam escolhidos os novos integrantes da nossa equipe. O pessoal do Pastor Dohms estarão competindo com alguns alunos do curso técnico Dom Feliciano, que encerra o curso de extensão na semana que vem (este eu já tirei fotos). Nesta mesma semana participei de 11 palestras na escola Alcides Maya, no centro da capital, para turmas dos cursos Técnico em Informática, Técnico em Gestão e Especialização em Web, o que deve ter totalizado mais de 200 cérebros lavados, hehehehehe (inclusive de duas pessoas da concorrência, hehehehe).

Só para ilustrar, fiz upload da imagem do novo brinquedo da RedeHost. Se você pensa em fazer seleção conosco (independente de setor) ou se já está em processo de seleção (como os alunos do Pastor Dohms), tenha esta imagem como inspiração, hehehehe.

Tags: , , ,

Experiências | Projetos | Treinamentos | ASP.NET

0

Capacitação em ASP.NET e SQL Server na FAQI

by Luiz Jr 2. março 2011 20:51

Boa noite à meia-dúzia de leitores do blog (sim, acabei de conferir no Analytics e são só 6 mesmo). Já há algum tempo que ando migrando meus esforços e dedicação para a área de docência, seja como coach interno na empresa, mentor de alguns colegas mais inexperientes (não necessariamente mais jovens) e como uma espécie de "porta-voz" da empresa com relação às instituições de ensino na região metropolitana. Minha própria formação está sendo direcionada aos poucos para a docência, com interesse em programas de Mestrado e por aí vai, mas não é disso que venho falar hoje. Venho falar de capacitação em ASP.NET com SQL Server.

Sei que já tratei do assunto em outro post, mas como fazia tempo que queria fazer um jabá dos meus treinamentos neste espaço, o faço agora. Já ha algum tempo deixei de ser um mero desenvolvedor e passei a me dedicar mais em ajudar no crescimento técnico e profissional de meus colegas. Isso me levou à idéia de montar uma capacitação que ajudasse estudantes de nível técnico e superior a se tornarem desenvolvedores. Ok, não formei nenhum Mark Zuckerberg, mas já saíram de meus cursos algumas boas contratações para a empresa, cujos nomes não citarei para evitar represálias, hehehehehe. O projeto surgiu com a idéia de realizar parcerias entre instituições de ensino gravataienses e a RedeHost. Criei um cronograma, organizei o conteúdo a ser lecionado, vesti minha melhor camisa e saí a buscar contatos entre os coordenadores das instituições, isso em Outubro do ano passado (2010).

Case FAQI - Outubro de 2010

Ok, a FAQI (a faculdade da rede de escolas QI em Gravataí, para quem não conhece) não foi o primeiro local onde lecionei. Dentro da própria RedeHost eu iniciei as atividades da capacitação, com colegas que tinham interesse de a) trocar de setor ou b) conhecer ASP.NET. O mesmo conteúdo que seria ministrado semanas mais tarde na FAQI pôde ser testado com meus colegas e ajustado, para que fosse o mais interessante e didático possível. Então, quando dei o start na parceria com a FAQI eu já estava com um conteúdo mais amadurecido.

Para quem não conhece o projeto (motivo central do post), ele inicia com uma visita à instituição, onde conheço o coordenador do curso para o qual quero apresentar a capacitação, neste caso a prof. Aline Riva, que coordena o curso Tecnólogo em Desenvolvimento de Sistemas. Acertada a parceria, onde a instituição fornece a infraestrutura e os alunos, e a RedeHost fornece...eu, marcamos um dia para irmos apresentar a empresa e o projeto aos alunos, para ver se há interesse (como se alguém não quisesse um curso de graça de programação, hsuahusuhas). Este primeiro contato funciona como um "termômetro" da instituição, conseguimos medir várias coisas: a quantidade de alunos, a organização da instituição e por aí vai. Obviamente a FAQI estava de parabéns e fomos muito bem recebidos. Sim, eu não estava sozinho. Geralmente consigo levar nosso CEO, Flávio Eduardo para me acompanhar, afinal, quem melhor para falar de RedeHost do que o diretor-presdidente-dono-manda-chuva da empresa?

Após esse contato inicial com os alunos, a próxima etapa (e que ainda se mantém como crucial neste projeto) é a prova de seleção. Poucos alunos tem a oportunidade ímpar de poder participar desse curso (que moral hein!), selecionados através de uma prova de raciocínio lógico. Para quem ainda está iniciando com computação e ainda não se tocou que lógica é tudo nesse ramo, ainda dá tempo de correr! Os selecionados pode finalmente participar do treinamento que dura pouco mais de um mês, com uma aula por semana de 3h. A cada aula, um novo conteúdo é apresentado ainda mais instigante que o anterior, e entre uma aula e outra os alunos são desafiados a desenvolverem aplicações utilizando os conhecimentos vistos na aula. Tudo muito prático e em um ritmo muito intenso, afinal, eu queria ver até onde os alunos podiam chegar e se eram capazes de se tornarem bons desenvolvedores, o que é tarefa para poucos.

Turma FAQI

Resultado

E não é que deu certo? Tive ótimos alunos (se é que posso me considerar um professor) na FAQI e mesmo os que não se tornaram meus colegas de serviço (cada um com seus motivos) se tornaram bons amigos. Criamos um laço interessante com a instituição e provavelmente repetiremos a dose o futuro. Ao que parece, há interesse da unidade de Porto Alegre em levar o curso para lá, e eu com certeza não recusarei se essa oportunidade aparecer. Acima coloquei uma foto dos sobreviventes, a galera que permaneceu realizando o curso do início ao fim e que espero que se tornem bons programadores (clique para ampliar). Não fosse o bastante ainda consegui alguns colaboradores para o time do Atendimento Ninja da RedeHost, que não se tornaram programadores mas colaboradores do Suporte.

Conclusão

Este post não é apenas para lembrar de como foi a capacitação em ASP.NET na FAQI, mas para criar uma linearidade nos posts dos meus treinamentos, para que em breve eu possa contar aos meus 6 leitores (talvez 7 agora, demorei pra escrever isso) a quantas anda o projeto e até mesmo para divulgá-lo. A RedeHost, e principalmente eu, estamos sempre interessados em novas parcerias com instituições de ensino técnico e superior em informática, se você é diretor/coordenador de uma instituição, entre em contato (pode ser pelo blog mesmo) que nós marcamos uma visita à sua instituição (na verdade eu marco, hehehehe). Mantendo a ordem, o próximo post vai ser sobre o treinamento feito na Facensa, em janeiro deste ano.

Tags: , , ,

Experiências | Projetos | Treinamentos | ASP.NET

Powered by BlogEngine.NET 1.6.1.0
Design por Laptop Geek, adaptado por onesoft e personalizado por mim.