analytics

quinta-feira, 24 de janeiro de 2013

Formação JQuery e Knockout Inédita no Brasil

A Alfamídia traz ao Brasil cursos de uma tecnologia que promete mudar a forma como sites e aplicativos para a Web e dispositivos móveis são desenvolvidos.

Formação JQuery e Knockout

Qualquer pessoa que já tenha entrado em um portal de compras ou acessado um banco através da Internet sabe como a maioria dos sites funciona: você navega de uma página para outra e preenche formulários e mais formulários que levam para novas páginas, até conseguir confirmar sua compra ou operação. Quase todos os aplicativos desenvolvidos para a Web funcionam assim.

Agora, quando você está utilizando as ferramentas mais avançadas e populares que existem, sites como facebook e twitter e alguns aplicativos de e-mail, a sensação é muito diferente. A informação simplesmente surge em determinadas partes da página, novos conteúdos aparecem quando você termina de fazer a rolagem da tela, o layout todo vai dinamicamente se ajustando a medida que você interage com a ferramenta. Não parece em nada com aplicações mais antigas.

Esta diferença é porque estes portais utilizam um novo paradigma de desenvolvimento, completamente diferente da programação tradicional em linguagens como PHP, JAVA e C#.NET ou da construção de sites em sistemas de gestão de sites como blogger, wordpress, drupal e tantos outros. Neste novo paradigma, quase toda a programação é feita em novos frameworks, que permitem que o site interaja diretamente com o cliente na própria máquina, comunicando-se com a Internet apenas para trazer novas informações. Não há mais troca de páginas como antigamente.

Para promover este novo paradigma, a Alfamídia reformulou todo seu site, que agora funciona todo ele em uma única página; disponibilizou uma apostila gratuita de uma destas tecnologias – a apostila de introdução ao JQuery que pode ser baixada direto do site da Alfamídia WWW.alfamidia.com.br e agora acaba de lançar uma nova formação que apresenta um dos principais novos frameworks de desenvolvimento do mercado, o Knockout.

Estas tecnologias são tão recentes que a Alfamídia é a primeira empresa no Brasil a lançar uma formação que ensina a desenvolver sites com JQuery e Knockout.

Como suas principais formações, Web Design, Design Grático, Marketing Digital, Java, PHP..., a Formação em JQuery e Knockout está disponível tanto no formato presencial quanto no formato online ao vivo.


Apostila de Introdução ao JQuery

Em votação para definir a nova apostila Alfamídia a ser disponibilizada, na página do twitter da Alfamídia (twitter.com/alfamidia), foi selecionada a apostila de Introdução ao JQuery.

JQuery é uma das tecnologias ensinadas em nossa formação Formação Desenvolvimento com JQuery e Knockout, que, além do curso de introdução, possui módulos avançados não apenas de JQuery, mas do framework Knockout, utilizado no desenvolvimento do site da Alfamídia.

Visite nosso site www.alfamidia.com.br para ver outras apostilas disponibilizadas, bem como nossos eventos e os cursos online ao vivo que oferecemos.

Apostila de Introdução ao JQuery

quarta-feira, 23 de janeiro de 2013

Novo Site Alfamídia: Escolha da Tecnologia

Pretendemos publicar aqui algumas das técnicas e recursos utilizado no desenvolvimento do site da Alfamídia

Contexto
O site da Alfamídia havia sido implementado por uma empresa terceira utilizando a plataforma Drupal. Haviam várias razões que nos levavam a querer trocar de tecnologia, incluindo migrarmos para uma plataforma que fosse mais de domínio de nossa equipe

Problema
O principal problema era selecionar a melhor tecnologia para implantar uma atualização do site.

Como todos os dados estavam em um banco de dados SQL Server, e vários dos sistemas internos da Alfamídia foram desenvolvidos em C#.Net, a escolha óbvia seria desenvolver o novo site em Visual Studio.

Por várias razões, porém, tínhamos dúvidas de ser a melhor escolha para criação de um site. A Alternativa de utilizar uma plataforma como Wordpress remeteria as mesmas questões que já tínhamos com o Drupal.

A Solução
Uma investigação das tecnologias disponíveis hoje no mercado nos levou a um estudo aprofundado dos frameworks Javascript.

Embora javascript puro permitisse já uma flexibilidade muito grande na programação de um site, desenvolver um site que buscasse dinamicamente dados de um servidor sempre foi um trabalho muito complexo. O custo de desenvolver uma solução javascript sempre pareceu anti-econômico. Embora o JQuery reduzisse significativamente este custo, ainda parecia envolver um trabalho grande demais para justificar sua escolha em relação a soluções de CMS.

O surgimento de vários frameworks Javascript, na nossa visão, trouxe novos elementos para este cenário. Estes frameworks implementam no próprio cliente conceitos que consideramos fundamentais para a construção de sites, inclusive a separação entre dados e apresentação, em formatos MVC e similares.

Por fim, optamos pela utilização do framework Knockout, como uma alternativa de equilíbrio entre o poder do framework, seu peso e a curva de aprendizado para a equipe.

Avaliação dos Resultados
Nossa avaliação atual é que o custo total de desenvolver a solução em Knockout não foi particularmente diferente de uma implementação utilizando .Net ou um CMS, com um resultado significativamente melhor de interatividade e recursos no site.



terça-feira, 22 de janeiro de 2013

Novo Site Alfamídia: pesquisando enquanto digita

Pretendemos publicar aqui algumas das técnicas e recursos utilizado no desenvolvimento do site da Alfamídia.

Contexto
Queremos facilitar e agilizar ao máximo o processo do visitante localizar cursos e turmas. Para isto, queremos pesquisar os cursos a medida que o usuário vai digitando sua pesquisa

Problema
Qual a melhor forma de fazer isto, especialmente considerando que as chamadas AJAX são assíncronas e, se o usuário digitar muito rápido, vai embaralhar as 'n' consultas enviadas ao servidor?

A Solução
Utilizando Javascript e Ajax, é perfeitamente possível implantar uma solução. Os passos são, grosso modo:
  • Utilizamos javascript para ler o teclado;
  • Criamos algum tipo de temporizador para aguardar se o usuário já parou de teclar ou vai digitar mais alguma coisa;
  • Decidimos - se passou tempo suficiente sem uma nova tecla pressionada - fazer uma requisição AJAX;
  • Trazemos os dados por JSONP;
  • Apagamos e reconstruímos a estrutura que armazena as informações dos cursos.
  • Exibimos na tela
Neste meio tempo, já arrancamos os cabelos lidando com temporizadores, amaldiçoamos cada versão de navegador já criada para a qual temos que testar o javascript, e passamos boa parte do tempo depurando código.

Felizmente, a solução que tivemos que implementar, e mostramos abaixo, utiliza, além de Javascript, JQuery e Knockout. JQuery nos esconde muitas idiossincrasias dos navegadores, e Knockout cuida de toda a questão de ler teclado e gerenciar temporizadores.

A esta altura, se não está familiarizado com estas tecnologias, vale digitar JQuery e Knockout no www.duckduckgo.com (ou no google, se você ainda usa) para navegar pelos tutoriais destas tecnologias.
Basicamente, faremos, então, os seguintes passos:

Vincular a atualização da variável 'pesquisa' a cada tecla pressionada:

   <input data-bind="value: pesquisa, valueUpdate: 'afterkeydown'" />

Definir a variável pesquisa como "observable" (isto é necessário para que ela seja automaticamente atualizada quando o usuário digita no campo)

   self.pesquisa = ko.observable();

Criar uma nova variável que é atualizada vinculada a variável "pesquisa", porém com delay de 1/2 segundo:


self.consulta = ko.computed(function () {
            return "pesq=" + self.pesquisa() + "&cat=" + self.categoria() + "&calendario=" + self.calendario();
}, this).extend({ throttle: 500 });

No caso específico de nosso site, outros parâmetros fazem parte do código, mas eles não são relevantes ao exemplo. O importante é que a variável consulta será automaticamente atualizada 1/2 segundo após a atualização da variável pesquisa. A vinculação entre variáveis e o delay de 1/2 segundo (throttle:500) são controlados pelo framework Knockout.


Vincular uma função a atualização da variável consulta:



        self.consulta.subscribe(function (newValue) {
            $.getJSON(""+baseSite+"/calendario.aspx?" + newValue + "&callback=?", function (allData)
   {
                self.paginacao = 1;
                var mappedTasks = $.map(allData, function (item) { return new ItemCalendario(item) });
                self.CalendarioCursos(mappedTasks);
                self.AjustaCalendarioAtualizado();
            });
        });


O comando acima basicamente especifica que, na atualização da variável "consulta" (1/2 segundo após a atualização da variável "pesquisa" em função de uma tecla pressionada), uma consulta JQuery usando JSONP é realizada. As funções fazem o mapeamento do resultado para uma estrutura de dados - como mostrado em tutoriais no site Knockout.

Após são chamadas funções que atualizam valores css que foram previamente mudados dinamicamente.







Programa de Afiliação Alfamídia - Ajude a divulgar e ganhe um comissionamento ( confira as regras)



Programa de Afiliação Alfamídia tem semelhanças e diferenças em relação aos programas de Afiliação tradicionalmente oferecidos por sites de comércio eletrônico. Conheça um pouco mais sobre como funciona este programa, e as vantagens que o mesmo oferece.

Sistema de Afiliação Baseado em Cadastros O Portal Alfamídia Online não é um site tradicional de comércio eletrônico. Nosso foco é no entendimento das necessidades do cliente e na identificação, junto com ele, dos cursos que melhor atendam seus objetivos. Queremos ter uma relação próxima com nossos alunos, e isto significa que não temos interesse em vender cursos sem uma interação com nossa equipe pedagógica e nossos professores. Em consequência, a contratação de cursos não é feita - e nem queremos que seja - de forma impulsiva.

Para conciliar a lógica de vendas muitas vezes feitas após interações por email ou telefone, e com ciclos que podem durar dias ou semanas (em quantos casos, o cliente não está buscando um curso para o próximo ano, ou para as próximas férias), nosso sistema de afiliação é baseado em cadastros de emails, e não em vendas imediatas.

Todo cliente que visita o site AlfamídiaOnline a partir de um link de afiliado tem seu acesso registrado. Se, ao longo dos próximos dois dias, ele cadastrar seu e-mail de alguma forma, para baixar uma apostila, pedir uma proposta, enviar um formulário de contato, em qualquer dos sites da Alfamídia, e este for o primeiro cadastro daquele e-mail, ele será registrado e vinculado aquele afiliado.

A partir do cadastro deste e-mail, enquanto o Afiliado participar do programa, ele será comissionado sempre que este cliente realizar qualquer contratação de um curso online. Ou seja, mesmo que o cliente acabe comprando um curso após uma visita na sede da empresa, ou após uma ligação telefônica, a contratação ainda será comissionada para aquele afiliado. Esta comissão permacerá vinculada enquanto o Afiliado estiver no programa de Afiliação Alfamídia.

Valores de Comissão Os cursos Alfamídia Online são geralmente vendidos como formações, contendo 40 ou mais aulas ao vivo, e representando um investimento de valores e de tempo significativos para o aluno, que, por sua vez, também tem um aprendizado diferenciado, com meses de interação direta com professores, como se estivesse em uma aula presencial.

Para toda compra de qualquer curso online Alfamídia, o afiliado vinculado aquele cliente terá um comissionamento de 10% do valor total da contratação, que será incluído em sua conta a medida que os pagamentos forem sendo confirmados. Isto significa que uma única compra por um indicado por um afiliado, mesmo que realizada meses depois da visita ao site, pode facilmente render R$ 100,00, R$ 200,00 ou mais.

Como Participar Para participar, basta cadastrar uma ou mais campanhas em uma conta do portal l3tool.

Visite o portal l3tool em www.l3tool.com e crie uma conta, se já não possuir uma. A seguir, entre no menu OFERTAS->Programa de Afiliação e siga as instruções. Depois, é só incluir o link da afiliação em qualquer site, facebook, blog, twitter ou outro mecanismo que você tenha para gerar indicações para o site Alfamidia Online.

Não apenas você terá uma receita de comissionamento, como também acesso a todos os e-mails de todas as pessoas que tenham feito qualquer tipo de contato ou cadastro a partir de seu link, mesmo que estes e-mails já pertençam a base ou estejam vinculados a outro afiliado. Note, porém, que você só será comissionado se seu cadastro do e-mail foi o primeiro.

Retirada de Valores Sempre que sua conta de comissionamento chegar em R$ 100,00, você poderá solicitar a transferência do valor para uma conta corrente de sua escolha, sendo o pagamento realizado por transferência bancária.

Encerramento do Programa de Afiliados A qualquer tempo, tanto o cliente quanto a Alfamídia podem encerrar sua participação no Programa de Afiliados, bastando para isto uma formalização por e-mail do encerramento da parceria.

Em qualquer caso, toda compra realizada até 3 meses após o encerramento do programa será incluída na comissão.

http://www.alfamidiaonline.com.br/Programa_de_Afiliacao.aspx

segunda-feira, 21 de janeiro de 2013

Novo Site Alfamídia: Lendo dados de outros domínios com JSONP

Pretendemos publicar aqui algumas das técnicas e recursos utilizado no desenvolvimento do site da Alfamídia.

Contexto

   O site Alfamídia utiliza Ajax e JQuery (com o framework Knockout) para acessar diversos dados de um aplicativo rodando em C# em um servidor.
 
Problema

   Para fazermos uma migração suave do site anterior, colocamos a página principal rodando no servidor atual do site alfamídia (domínio www.alfamidia.com.br), e os dados sendo fornecidos por um servidor rodando em outro local da internet e, portanto, com outro domínio.

   O problema é: o acesso aos dados era feito por JSON e leitura simples de páginas html por ajax (em jquery: .load e .getJSON). Ambas, alternativas que não podem ser realizadas se o domínio acessado é diferente do domínio da página em que o Javascript está rodando.

A Solução

   Substituir todas as chamadas AJAX em formatos html puro e JSON para chamadas em JSONP.

   JSONP nada mais é que uma forma alternativa de ler dados em JSON que permite acessar dados de outros domínios. Vale olhar na internet uma explicação mais detalhada, aqui apresentamos apenas a implementação:

Mudanças na chamada do JSON:
   Chamadas: ao invés de

      "$.getJSON(""+baseSite+"/calendario.aspx?" + newValue, function (allData)"

   passaram a ser
 

      "$.getJSON(""+baseSite+"/calendario.aspx?" + newValue + "&callback=?", function (allData)"

   O parâmetro "callback=?" é o suficiente para o JQuery saber que será uma chamada usando JSONP.

Mudanças na entrega do resultado, pelo servidor:

   Abaixo o exemplo de enviar o HTML como JSONP (em C#). O raciocínio é o mesmo se a entrega já era em JSON:

           //Primeiro lemos o parâmetro "callback".  EntradaSaida.Recebe é uma biblioteca interna da Alfamídia para receber parâmetros.
            string strCallback = EntradaSaida.Recebe("callback");

            //JSON não aceitará novas linhas, então transformamos em código HTML
            string strJ = strRetorno.Replace(((char)(13)).ToString(), "<BR>");

            //Criamos um JSON, com um único valor, que é o próprio documento HTML
            string strOut = "{\"html\":\"" + strJ + "\"}";

            //Enviamos o JSON encapsulado dentro de uma função javascript, cujo nome recebemos por parâmetro.
            Content.Text = strCallback + "(" + strOut + ")";


Observações Importantes:

   Se você já está entregando os conteúdos em JSON, não há maiores mudanças.
   Se, porém, estava entregando em HTML, há a necessidade de garantir que o código entregue seja com a sintaxe JSON válida. Isto significa que você deverá substituir novas linhas (como mostrado) e caracteres " (que não está mostrado, mas é igualmente um simples código Replace).


Novo Site Alfamídia

A Alfamídia está com um novo site em www.alfamidia.com.br, utilizando intensivamente Javascript, JQuery e Knockout.

Estamos migrando de um formato em que a programação era desenvolvida no lado do servidor, que enviava páginas html para o navegador, para um formato em que a própria página lê do banco de dados através de javascript e chamadas AJAX, permitindo muito mais interatividade.

As tecnologias e técnicas utilizadas no portal fazem parte de um novo curso que a Alfamídia estará lançando nos próximos dias.

Para saber mais sobre programação com JQuery e Knockout, envie um e-mail para info@alfamidia.com.br

Treinamentos Oficiais Microsoft - Novas turmas


Treinamentos Microsoft

A Alfamídia está ampliando sua presença no mercado de formação profissional em tecnologia Microsoft.

Agora é a hora de você se tornar um profissional Microsoft
O seu objetivo é ser um Profissional Microsoft certificado, qualificado e, consequentemente, requisitado pelo mercado? Você também não tem dúvida que precisa ingressar no formidável mundo da Microsoft para ter sucesso nesta profissão, certo? Neste caso, aproveite está promoção Alfamidia e o calendário de treinamentos.

Para mais informações, entre em contato com a Alfamídia pelo telefone (51) 3073-2100, pelo e-mail info@alfamidia.com.br ou peça uma [PROPOSTA].

Próximas turmas:

21/01/2013 a 25/01/2013 Microsoft 6294: Planning and Managing Windows 7 Desktop Deployments and Environments 40h Diurno

28/01/2013 a 08/02/2013 Microsoft 50331D: Windows 7, Enterprise Desktop Support Technician 40h Manhã

04/02/2013 a 22/02/2013 Microsoft 10174: Configuring and Administering Microsoft SharePoint 2010 40h Noite

04/02/2013 a 08/02/2013 Microsoft 6418: Deploying Windows Server 2008 24h Tarde

18/02/2013 a 01/03/2013 Microsoft 50292C: Administering and Maintaining Windows 7 40h Manhã

18/02/2013 a 01/03/2013 Microsoft 6420: Fundamentals of Windows Server 2008 Network and Applications Infrastructure 40h Tarde

04/03/2013a 15/03/2013 Microsoft 6436: Designing a Windows Server 2008 Active Directory Infrastructure and Services 40h Manhã

04/03/2013 a 15/03/2013 Microsoft 6421: Configuring and Troubleshooting a Windows Server 2008 Network Infrastructure 40h Tarde

04/03/2013 a 08/03/2013 Microsoft 6423A: Implementing and Managing Windows Server 2008 Clustering 24h Noite

11/03/2013 a 15/03/2013 Microsoft 6424A: Fundamentals of Windows Server 2008 Active Directory 24h Noite

18/03/2013 a 22/03/2013 Microsoft 6292: Installing and Configuring Windows 7 Client 24h Manhã

18/03/2013 a 25/03/2013 Microsoft 6427A: Configuring and Troubleshooting Internet Information Services in Windows Server 2008 24h Noite

18/03/2013 a 28/03/2013 Microsoft 50331D: Windows 7, Enterprise Desktop Support Technician 40h Tarde.

01/04/2013 a 12/04/2013 Microsoft 20410A: Installing and Configuring Windows Server 2012 40h Noite

01/04/2013 a 12/04/2013 Microsoft 6294: Planning and Managing Windows 7 Desktop Deployments and Environments 40h Manhã

01/04/2013 a 12/04/2013 Microsoft 6425C: Configuring and Troubleshooting Windows Server 2008 Active Directory Domain Services 40h Tarde

15/04/2013 a 26/04/2013 Microsoft 20411A: Administering Windows Server 2012 40h Noite

Para estar sempre informado das novidades, campanhas, eventos, promoções e concursos, acompanhe o Twitter @alfamidia e o facebook facebook.com/alfamidia.

sexta-feira, 18 de janeiro de 2013

Formações Master 100% Online - Início em Fevereiro

Formações Master Online - Novas turmas


As Formações Master reúnem 2 ou 3 formações em um pacote com preços especiais. É possível adquirir uma Formação Master Online pelo investimento de praticamente uma formação online isolada.

Os Cursos Online Alfamídia são ministrados ao vivo, com encontros periódicos com os professores por vídeo-conferência.

Saiba mais sobre os cursos online no novo portal Alfamídia: www.alfamidiaonline.com.br.

Para mais informações, entre em contato com a Alfamídia pelo telefone (51) 3073-2100, pelo e-mail info@alfamidia.com.br ou peça uma [PROPOSTA].

Conheça as Formações Master Online em promoção:

- Master Web Designer Online
- Master Desenvolvedor Online
- Master Designer Digital Online
- Master Marketing Digital Online

Para estar sempre informado das novidades, campanhas, eventos, promoções e concursos, acompanhe o Twitter @alfamidia e o facebook facebook.com/alfamidia.

quinta-feira, 17 de janeiro de 2013

Apostila de Illustrator CS6

Em votação para definir a nova apostila Alfamídia a ser disponibilizada, na página do Facebook da Alfamídia (Facebook.com/Alfamidia), foi selecionada a apostila de Adobe Illustrator CS6.

Visite nosso site www.alfamidiaonline.com.br para ver outras apostilas disponibilizadas, bem como nossos eventos e os cursos online ao vivo que oferecemos.

Apostila de Illustrator CS6

terça-feira, 15 de janeiro de 2013

Próximos eventos Alfamidia

Próximos eventos da nossa agenda

Alfamidia: Cristovão Colombo 1496- Floresta - POA
19:30 às 20:30 | GRATUITO
PORTO ALEGRE


Alfamidia: Cristovão Colombo 1496- Floresta - Porto Alegre - RS
19:30 às 20:30 | GRATUITO
PORTO ALEGRE

Online - através do livemeeting
15:00 às 17:00 | GRATUITO
ONLINE

19:30 às 20:30 | GRATUITO
ONLINE

Alfamídia: Cristóvão Colombo 1496- Floresta - Porto Alegre - RS
19:30 às 20:30 | GRATUITO
PORTO ALEGRE

19:30 às 20:30 | GRATUITO


Para se inscrever nos eventos Alfamídia:
Entre no portal www.l3tool.com. Se é seu primeiro acesso ao portal, selecione Nova Conta e preencha o formulário. Após preencher seus dados, você receberá um e-mail com uma senha de ativação.
Após ativar sua conta, entre no portal. No menu Eventos -> Eventos Abertos você encontrará a lista de eventos disponibilizados pela Alfamídia e por outras empresas que utilizam o portal. Selecione e matricule-se no evento de seu interesse, que você receberá um contato da Alfamídia ou da empresa organizadora.

segunda-feira, 7 de janeiro de 2013

Qual a melhor linguagem para aprender Lógica de Programação?

Entender lógica de programação é o primeiro e mais importante passo para aprender qualquer linguagem de programação. Mas em que linguagem a lógica de programação deve ser ensinada?

Há correntes que defendem o uso de pseudocódigo, português estruturado ou outras alternativas que não são linguagens reais de programação. Outras abordagens envolvem o ensino direto em uma linguagem de programação comercial.


Um caminho intermediário, sugerido por alguns de nossos clientes no Facebook, é utilizar uma linguagem real, mas que, embora não seja tão utilizada comercialmente hoje, é teoricamente mais adequada ao ensino, geralmente Pascal.

Na Alfamídia, ao longo destes 12 anos, já trabalhamos com diferentes abordagens e conhecemos experiências de inúmeras outras escolas. Hoje defendemos - e praticamos - o ensino diretamente em uma linguagem real, de preferência que seja útil para o aluno, como Javascript, Java, etc.

Qual sua opinião? Qual você considera a melhor linguagem para ensinar lógica de programação?