Filosofia no JavaScript – Funções são declaração ou expressão?

Capa

Primeiro, de maneira simples e clara a resposta da pergunta acima é: Tanto faz… Funções em Javascript funcionam tanto como Declaração ou Expressão. O que nos leva a segunda pergunta: Então para que este post se é algo tão simples? Assim como na filosofia alguns dos temas mais complexos se escondem na simplicidade (não que este seja o caso).

O certo porém, é que uma função em Javascript pode ser utilizada de maneiras diferentes, como nos seguintes casos:

  • Expressões – Expression
  • Passar valores – Passed as value
  • Retornar valores – Returned as value
  • Declarações – Statement

Contudo é bom observar alguns aspectos, já que dependendo do uso as funções podem sofrer limitações ou adquirir novos comportamentos.

Continuar lendo

#AzureSummitBR 2014 – Azure Mobile Service e os backends Node.JS e Web API

Primeiro gostaria de agradecer a todos os que participaram desta palestra,  e por todos  os feedbacks. Como o prometido vou estar disponibilizando a DEMO principal, as referências e um vídeo de como criar o seu serviço e consumir o Jogo da Forca.

03

O #AzureSummitBrasil é o maior evento de Microsoft Azure do Brasil, organizado pela BR Soluções Integradas e este ano rodou sua segunda edição. Para os que ainda não conheciam o evento, sugiro apenas que entre no site e leia a grade de palestras… é um evento realmente imperdível!!!

Em relação a minha palestra, a primeira demo foi o jogo TicTacToe MAMS, que é um jogo da velha com o backend no Microsoft Azure Mobile Service com Node.js. Basicamente você informa o nome do jogador, faz a sua jogada e o vencedor recebe uma pontuação randômica, que se for maior que a maior pontuação atual, envia uma notificação aos usuários indicando o novo campeão.

capa

A segunda demo foi o Jogo da Forca MAMS. Este exemplo utilizou o backend .NET Web API, que faz basicamente o mesmo que o jogo anterior. Neste caso também demonstrei como forçar a utilização da autorização (IDENTITY), e algumas possibilidades de utilização para armazenamento de dados, testes locais e publicações.

Capture

Continuar lendo

Cloud Computing–Como entrar no mercado de trabalho

Recentemente durante um evento me fizeram uma pergunta que penso ser pertinente compartilhar neste post. A questão era o que fazer para conseguir o primeiro emprego ou entrar no mercado de trabalho de Cloud Computing.

employers

Para ilustrar estou utilizando o gráfico acima que mostra as 15 empresas que mais estão demandando profissionais de Cloud Computing hoje (clique na imagem para ampliar). Este é um dado da Forbes e segue nas referências ao final do post.

Continuar lendo

Azure Mobile Service–Gerenciando Logs, deploy e o projeto Kudu

Esta semana recebi um pergunta em relação ao post anterior Azure Mobile Service–Logging local e na nuvem com backend .NET WebAPI. A pergunta era como deletar os logs gerados.

Se você já utilizou o Azure Mobile Service e precisou dos LOGS, sabe que via portal não conseguimos fazer a gestão dos mesmos. Levando em consideração que Serviços Móveis são criados com suporte a utilização em massa, essa se torna uma necessidade real.

Sendo assim este POST é ao mesmo tempo uma dica e também serve de introdução ao Projeto Kudu, com o qual vamos fazer o backup e deleção dos LOGS.

capa

O primeiro ponto é relembrar do anuncio do deploy no Azure Web Sites utilizando GIT. Isso foi realmente bacana mas qual a ligação com o nosso assunto? O que poucos sabem é que a engine que suporta este recurso é o projeto Open Source codinome Kudu.

Continuar lendo

Azure Mobile Service–Logging local e na nuvem com backend .NET WebAPI

Um dos pontos de maior adoção ao backend .NET WebAPI para o serviços mobile do Microsoft Azure, é a facilidade de testar localmente. Fora isso, Se comparado a arquitetura do backend NodeJS temos muito mais capacidade em realizar debug e auditoria em nossa aplicação.

fig04

Neste post vou exemplificar como utilizar o mecanismo de log do Microsoft Azure Mobile Services com backend .NET WebAPI local e na nuvem de forma rápida e simples.

Continuar lendo

ETBS 2014 – Cloud Computing, Serviços e Mobilidade com Microsoft Azure

Como o prometido estou postando o material e referências utilizados na minha palestra de Cloud Computing e Mobilidade no #ETBS 2014.

O EBTS 2014 ou 1º Encontro Metropolitano de Tecnologia, foi realizado nos dias 2 e 3 de setembro, na região da Baixada Santista, em São Paulo. Este foi um evento gratuito, sediado na cidade de São Vicente com mais de 30 palestrantes de diversas áreas da tecnologia em dois auditórios.

IMG02

Continuar lendo

Azure Mobile Service – Primeiros passos com backend .NET WebAPI

O Microsoft Azure Mobile Service (MAMS) é um serviço que oferece backend escalável, seguro e multiplataforma, e teve como origem o NodeJS para backend server-side. Um dos pontos mais interessantes do MAMS é a capacidade de dar ao programador o poder de customizar e adicionar lógica ao backend.

A ideia neste post é trazer uma primeira visão sobre o Microsoft Azure Mobile Service com backend .NET.

FIG015

Assim que a Microsoft anunciou o backend .NET para o MAMS, ouve uma  grande aceitação da comunidade, principalmente dos desenvolvedores .NET.

Minha primeira impressão em relação ao backend .NET era que isso se dava apenas pela falta de familiaridade dos desenvolvedores .NET com o código JavaScript server-side, e tiro isso por mim, porém isto não é de todo verdade

Continuar lendo

TDC São Paulo 2014–Conhecendo o WinJS para WinPhone e Win8

Olá pessoal. Como o prometido estou disponibilizando o material utilizado no TDC 2014 edição São Paulo da minha palestra Conhecendo o WinJS para Windows Phone e Windows 8.

Como o citado na palestra, o WinJS é a biblioteca JavaScript criada pela Microsoft a fim de permitir o desenvolvimento de aplicações HTML5 e JS acessando os recursos do WinRT. A premissa da palestra foi que o WinJS é muito mais que um Wrapper de acesso ao WinRT…

Estou disponibilizando o PPT e as demos utilizadas e as que não deram tempo de concluir. Vale notar que os exemplo estão disponíveis para para o WinJS 2.0 (Windows 8) e WinJS 2.1 (Windows Phone 8.1).

fig01

Continuar lendo

HTML5 Game Development–High Performance o início

Falando em games, existe um elemento que provavelmente seja mais importante que uma boa ideia e gráficos extraordinários: a fluidez e continuidade. Não tem nada pior que um jogo cheio de pausas e lags. Estudos recentes de usabilidade mostram um grande nível de frustração dos usuários em jogos onde há delay aparente. Mesmo um jogo realista e com uma ótima arte vai ser tornar chato e desinteressante se for lento e sem "fluidez".

Levando isso em consideração é importante ter em mente que mesmo aquela super ideia, arte ou conceito pode se perder se não for bem  implementada.

Dito isto, é fundamental para o desenvolvimento de games que você se preocupe com a performance, e já que estamos falando de games em HTML5 e JavaScript, precisamos entender como o JavaScript funciona, o que gera a falta de performance e as possíveis técnicas a serem utilizadas a fim de garantir games mais performáticos e com ótima fluidez.

capa

O que você consegue fazer em 16 milissegundos? Quando falamos de games essa pode ser a diferença entre o sucesso e fracasso. Nesta série sobre High Performance vou abordar alguns dos assuntos fundamentais para construção de games com HTML5 & JavaScript. Como este é um assunto longo, vou dividir os temas para abordar com mais detalhes e testes práticos referentes a performance.

Agenda deste artigo:

  • FPS
  • Gestão de memória em JavaScript
  • Garbage Collected (Coleta de lixo)
  • Memory Leak (Vazamento de memória)

Continuar lendo