logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Jul 23

A Ascensão do Teste de Software

Escrito por Edgard Davidson em 1, 6, Air, AR, auto, BI, bug, C#, cliente, cultura, Desenvolvimento, Desenvolvimento de Software, empresas, err, erro, Flex, for, IE, if, int, jogo, Mac, NaN, O, on, Opinião, Outros, processo, produto, Qualidade de Software, RIA, Ria’s Geral, S+S, Software, Tema, Teste, UI @ 07 23rd, 2011 | via http://edgarddavidson.com | Sem comentários
Edgard Davidson
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Por muito tempo o teste de software foi visto como uma atividade do processo de desenvolvimento de software que no papel era extremamente importante e necess?ria para atingir a qualidade do produto de software, mas na pr?tica, por muitas empresas, tornou-se uma das atividades mais negligenciada. Por esse motivo enraizou-se uma p?ssima cultura em rela??o ? atividades de testes, que, quanto a import?ncia, ficou ? margem da constru??es do software e que, se desse tempo, era executada. A neglig?ncia, por muito tempo da referida atividade gerou algumas “afirma??es” que hoje soam como piadas:

  • “…Implemente, se der tempo agente testa.”
  • “o importante ? entregar… os testes, deixa que o cliente faz pra gente…”
  • “o prazo vai estourar…Ent?o sacrifique os testes…”
  • “entregue com bugs, mas entregue em dia, depois agente arruma…”
  • “sabemos que nosso software est? cheio de bugs, ent?o vamos cobrar uma manuten??o mensal do nosso cliente para consert?-los…”
  • “testar n?o ? uma atividade importante…”
  • ”…como vamos testar se n?o temos tempo?”
  • “…testar pra que? perda de tempo.”
  • “pra desenvolver sem teste ? X, com teste ? X2…'“

Fico impressionado! D? at? medo! Imagine se a ind?stria de avia??o fosse igual a de software. Quantos avi?es cairiam por dia? Imagine se a ind?stria farmac?utica fosse igual a de software. Voc? confiaria nos rem?dios? Imagine se o projeto do modelo do seu carro fosse constru?do como esses softwares? Voc? andaria em um elevador que foi constru?do com essa mesma metodologia? “Instale o elevador a?… depois o cliente testa pra gente…”

Quando fala de teste, estou me referindo tamb?m a qualidade do software. Apesar de n?o serem sin?nimos, mas com certeza o n?vel de qualidade dos teste de software ? um fator, entre v?rios outros que definem a qualidade do produto final.

Por outro lado, do ponto de vista do profissional, o teste de software possuia alguns PRE-conceitos:

  • “testar ? uma atividade chata e cansativa…”
  • “testar paga mal…”
  • “n?o gosto e n?o sei programar… logo vou trabalhar na ?rea de teste…”
  • “minha empresa n?o valoriza a ?rea de testes…”
  • “testar ? ficar encontrando erros dos outros…”
  • “maus programadores viram testadores…”
  • “…subatividade?”
  • “qualquer um pode testar…”

Hoje, no entanto, o teste “virou o jogo” com a populariza??o de processos emergentes de desenvolvimento de software como eXtreme Programming. Pr?ticas como TDD e BDD fornecem uma novo paradigma no desenvolvimento. Hoje, com a ascens?o do teste de software, novas “afirma??es” foram geradas:

  • “a qualidade do produto ? inegoci?vel…”
  • “primeiro escrevemos nossos testes unit?rios, depois implementamos…”
  • “entregar software sem um boa cobertura de teste unit?rio tornou-se amadorismo…”
  • “aus?ncia de teste unit?rio ? anti?tico… “
  • “n?o consegue executar teste de carga, performance e seguran?a no seu sistema? Sua equipe est? com d?bito t?cnico…”
  • “nossa integra??o ? cont?nua e automatizada…”
  • “nossos testes s?o automatizados…”
  • “temos cada linha de c?digo da aplica??o, temos tr?s linhas de teste…”
  • “nos preocupamos com a cobertura dos testes, com casos de teste que refletem os requisitos de neg?cio…”
  • “enquanto os testes n?o passarem 100% o produto n?o ? entregue…”
  • “entregue menos, mas entregue funcionando…”
  • “quem quebrar o deploy paga dez flex?es…”


Jun 17

Novidades da versão Mango – Parte 1

Escrito por Alexandre Tadashi em .NET, 1, 2.0, 3.5, 4, 6, Air, api, Aplicativos, AR, arte, Artigo, audio, auto, back, Banco de Dados, Beta, BI, bing, Blend, botão, browser, busca, C#, código, control, Controles, Curso, Cursos, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, developer, Dica, Diversos, Download, DRE, empresas, err, event, Evento, Eventos, Excel, exemplo, Exemplos, explorer, expression, Expression Blend, facebook, Ferramenta, for, framework, Geral, html, html5, ide, IE, if, image, imagens, int, interface, internet, library, linkedin, lista, Livro, mg, Microsoft, MIX, mobile, monitor, motion, movimento, MSDN, mudanças, NaN, novidade, Novidades, O, on, Outros, Partilha, processo, progress, Redes Sociais, rest, RIA, Ria’s Geral, S+S, serviço, silverlight, Silverlight 4, SmartPhone, Software, TAT, Tecnologia, Tema, tool, Twitter, UI, UX, Ved, Vídeo, Vídeos, Visual Studio, Visual Studio 2010, vs, window, windows, Xna, XP @ 06 17th, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

imageÉ grande a expectativa pelos desenvolvedores .net para a chegada e comercialização do Windows Phone no Brasil, a plataforma chega bem completa e robusta, atendendo diversas necessidades dos usuários e desenvolvedore e permitindo a criação de aplicativos utilizando as mais modernas tecnologias Microsoft.
Apresentada no evento MIX 11 da Microsoft, a versão com o codinome Mango, chegou com mais de 500 novidades, são tantos recursos que não é possível cobri-los em um único artigo, podemos destacar algumas melhorias como sendo essenciais para o crescimento da plataforma, como o suporte a multitarefa, a atualização da versão do Silverlight para o Silverlight 4 e a atualização do Browser para a versão do Internet Explorer 9 com suporte ao HTML5, essas são sem dúvidas grandes mudanças tanto para o desenvolvedor como para o usuário.

Para os desenvolvedores foram diversas melhorias e para os usuários não foi diferente, houve uma melhor integração com o Skydrive, possibilitando compartilhar fotos por e-mail e SMS, podemos também compartilhar vídeos realizando o upload em background, navegar pelas pastas no Skydrive, realizar pesquisas de conteúdo, entre diversos outros recursos de integração com esse excelente serviço da Microsoft.

Outro recurso interessante é o Bing Vision, que é uma ferramenta que usa a câmera do telefone para reconhecer imagens, por exemplo, ao focar a capa de um determinado livro ele apresenta uma lista de resultados onde o livro é citado, já o Bing Áudio, é um mecanismo inteligente de busca de áudio, ele pode até reconhecer uma música que está sendo tocada e apresentar resultados sobre a música, esses são somente alguns exemplos, mas houve melhorias e atualizações em diversos HUBs, sensores e recursos do sistema operacional, além de uma forte integração com redes sociais como facebook, twitter e linkedIn.

As ferramentas de desenvolvimento para a versão Mango já estão disponíveis para download em versão Beta, muitas informações e recursos podem ficar diferentes na versão final, mas geralmente são mudanças pequenas. Com as ferramentas já é possível criar e testar todo o aplicativo com o Visual Studio 2010 e utilizar todo o poder do emulador que está integrado totalmente com o Expression Blend for Windows Phone ou com o Visual Studio 2010.

Download: Windows Phone Developer Tools 7.1 Beta tools

Os programadores Visual Basic .net agora podem criar aplicativos para o Windows Phone tanto em Silverlight como no XNA Framework, o Visual Basic é totalmente integrado com o Windows Phone Developers Tools 7.1 Beta, não sendo necessário instalar nenhuma ferramenta a parte. No Mango houve melhorias internas no sistema operacional que resultou em uma melhor performance na execução dos aplicativos em geral, alguns recursos agora rodam em threads background, deixando a interface do usuário com uma resposta mais rápida, essas melhorias são refletidas em sua aplicação e você não precisa codificar nada para usar desses benefícios, além dessas melhorias internas ouve também a inclusão de recursos essenciais para a criação de aplicações, como o suporte a OData e a inclusão de um banco de dados local.

O Windows Phone Marketplace também está em constante crescimento, com poucos meses de lançamento, a loja de aplicativos do Windows Phone 7 é constantemente atualizada com dezenas de novos aplicativos, o número de desenvolvedores e aplicativos podem aumentar significativamente com está atualização com codinome Mango, é previsto que o Marketplace esteja disponível para que os usuários possam comprar aplicativos em um total de 35 países, inclusive o Brasil e com suporte a 16 novas línguas, contando com o Português do Brasil.

Se você é um desenvolvedor da plataforma Microsoft .net e ainda não começou a desenvolver para o Windows Phone, é importante saber que a curva de aprendizado não é muito grande, principalmente se você já tem conhecimento na plataforma Silverlight ou XNA, o Windows Phone pode se tornar competitivo nos próximos anos, principalmente com a entrada e comercialização de equipamentos pelas operadoras no Brasil, somado com a recente parceria com a Nokia, umas das mais importantes empresas do setor, e a compra do Skype pela Microsoft, que vai trazer esse aguardado software para a plataforma .net, além de novas parcerias com fabricantes, tudo isso está fortalecendo a tecnologia mais recente da plataforma mobile da Microsoft.

Modelo de execução – Estado dormant

Houve uma pequena modificação no modelo de execução de aplicativos no Windows Phone Mango, nesta versão temos um novo estado da aplicação chamado dormant, para entendê-lo, vamos relembrar como funciona o ciclo de vida de uma aplicação no Windows Phone, temos quatro eventos que são acionados como apoio durante o uso do aplicativo, são eles, launching, closing, activated e deactivated, e junto com esses eventos podemos ter dois estado da aplicação, running e tombstoned, e para auxiliar com a manipulação de estados podemos utilizar os métodos OnNavigatedTo e OnNavigatedFrom. Quando você inicia uma aplicação, por exemplo, através do botão Start clicando em algum Tile, automaticamente uma nova instância do aplicativo será criada na memória, neste momento o evento Launching é acionado, ou seja, sempre que uma nova instância é criado, o evento Launching será chamado, neste evento temos que evitar a utilização de códigos que possam ser demorados e atrapalhar a experiência de uso do usuário da aplicação, além de que o Windows Phone Marketplace também informa limites de tempo para que a sua aplicação inicie. Após o evento Launching ser acionado, a sua aplicação entra em um estado chamado Running, neste momento sua aplicação está em execução e você poderá realizar tarefas e o usuário poderá navegar em sua aplicação. Neste momento se o usuário apertar o botão Start, por exemplo, ele estará acionando um evento chamado Deactivated e sua aplicação deverá salvar qualquer estado do aplicativo que você deseja restaurar caso o usuário retorne para sua aplicação através do botão Back, é neste ponto que houve um mudança com a versão Mango, agora existem dois
estados utilizados neste processo, o dormant e o tombstoned, sua aplicação entre em estado dormant antes de entrar em tombstoned, o que não acontecia na versão anterior, onde o aplicativo entrava direto em tombstoned. Quando o usuário navega para fora da sua aplicação , o Windows Phone coloca o aplicativo no estado dormant, neste momento todo o processamento, ou seja, todas as threads, são paradas, mas a aplicação ainda está na memória do aplicativo, este estado permite retornar a aplicação utilizando o máximo de performance, pois não é necessário recriar qualquer estado pois todos foram preservados. Se um aplicativo está no estado dormant e o usuário iniciar outro aplicativo, o sistema operacional vai verificar se esse novo aplicativo iniciado precisa utilizar mais memória do que o device disponibiliza como livre no momento,se isso ocorrer, a sua aplicação poderá ser escolhida para sair do estado dormant e entrar no estado tombstoned.

Mais informações : http://msdn.microsoft.com/en-us/library/ff817008(v=vs.92).aspx

Background Agents

Com os Background Agents podemos realizar algumas tarefas mesmo que a aplicação não esteja em execução, existem duas formas de realizar esse agendamento de tarefas, através de scheduled notifications ou scheduled tasks.

Uma scheduled notification é um aviso, que pode ser do tipo Alarm ou Reminder, o tipo Alarm permite que você especifique um arquivo de som para tocar quando a notificação é acionada, o tipo Reminder, você pode especificar uma URI para sua aplicação, quando o usuário clicar na notificação, a aplicação será executada e a URI será passado com parâmetro.

Já um Scheduled Task permite que você execute uma tarefa em background, mesmo quando a aplicação não está sendo executada, cada aplicação pode ter um único agente, que será registrando em sua aplicação e você pode especificar o tipo de scheduled que será executado, existem dois tipos, o PeriodicTask e o ResourceIntensiveTask, o primeiro é indicado para tarefas onde o tempo de execução será curto, como por exemplo, armazenar uma pequena quantidade de dados, e pode ser utilizado regularmente, já o ResourceIntensiveTask, tem sua utilização mais rara, pode ser utilizado para tarefas mais demoradas e que utilizam mais dos recursos do smartphone, com por exemplo a sincronização de um grande volume de dados.

File Transfers

Na versão mango temos disponíveis algumas APIs para a manipulação de uploads e downloads de arquivos no Windows Phone, esses arquivos podem ser enfileirados e executados em segundo plano (background), o Windows Phone fornece meios de verificar o status da transferência dos arquivos e ainda fornece meios de monitorar o progresso do download ou upload.

Áudio Background

Tocar um arquivo de som rodando em background, mesmo que a aplicação não esteja em foreground, se tornou uma tarefa fácil e gerenciada pelo sistema operacional, o suporte ao áudio em background é fornecido pelo namespace Microsoft.Phone.BackgroundAudio, com ele é possível acionar uma música e mesmo que o usuário inicie outros aplicativos, a música continuará em execução e o usuário ainda terá o acesso aos controles de aumentar e diminuir o volume.

Mais informações: http://msdn.microsoft.com/en-us/library/hh202978(v=vs.92).aspx

Sensores

Os smartphones estão ficando cada vez mais sofisticados e uma série de sensores estão sendo disponibilizados com esses modernos aparelhos, na versão mango temos disponível além do conhecido acelerômetro, mais dois sensores igualmente importantes, como a bússola e o giroscópio.

A bússola permite obter o ângulo pelo qual o smartphone é girado em relação ao polo magnético da terra, sua aplicação pode realizar a leitura dessas forças magnéticas e utilizar para realizar alguma ação, o sensor bussola não é um item considerado obrigatório para os fabricantes de equipamentos utilizarem com o Windows Phone, portanto se a sua aplicação for utilizar o recurso , ele precisa informa-lo e ainda verificar se o recurso está presente através de recursos do sistema operacional. Eventualmente a bussola pode ficar descalibrada, os smartphones com o sensor possuem recursos para a calibração da bussola, onde um movimento em formado de infinito é realizado.

O Giroscópio é outro sensor disponível para o desenvolvedor utilizar em suas aplicações, com ele podemos medir a velocidade de rotação do smartphone dos eixos X, Y e X. Todos os equipamentos com Windows Phone possuem o acelerômetro como sensor obrigatório, o acelerômetro consegue medir a aceleração do smartphone em movimentos mais intensos, no caso de uma simples e leve rotação de eixos, esses valores não podem ser lidos através do acelerômetro, já com o giroscópio é possível obter os valores quanto a velocidade de rotação do celular.

Juntos, o giroscópio, acelerômetro e a bussola, forma um conjunto completo que pode ser utilizado para formar um sofisticado sensor de movimentos, para simplificar essa integração, a versão Mango disponibiliza através do Microsoft.Devices.Sensors.Motion, um conjunto de recursos que facilitam a leitura dos resultados gerados pelos sensores para que você possa utilizar em sua aplicação.

continua…

Jun 10

AUG FlexDuck – Boas vindas aos novos managers

Escrito por Stefan Horochovec em 1, 2.0, 2009, 4, 6, Adobe, Adobe Flex, AR, AUG, BI, C#, camp, Catalyst, comunidade, Curso, demo, eduardo Kraus, email, empresas, encontro, err, event, Evento, Eventos, Ferramenta, flash, Flash Catalyst, Flex, Flex 4, FlexDuck, for, gratuito, IE, if, Mac, mobile, novidade, Novidades, O, on, online, Outros, Palestra, Palestras, Pessoal, Projetos, RIA, Ria’s Geral, S+S, site, Software, TAT, Tecnologia, UI, UX, XP, zend @ 06 10th, 2011 | via http://www.horochovec.com.br/blog | Sem comentários
Stefan Horochovec
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Olá pessoal!

Recentemente eu me desliguei da coordenação do AUG FlexDuck e resolvi fazer esse post para comunicar a todos da comunidade, explicar meus motivos e desejar uma boa sorte aos novos coordenadores.

O AUG FlexDuck para quem não se lembra ou não sabe foi fundado no dia 23/03/2009, na época a pessoa de contato foi a querida Rachel Luxemburg. Fiquei muito feliz quando eu abri meu email naquela manhã e vi que tinha um email com o título: “Flex Duck (I love that name!)”. O email continha as informações sobre como configurar o site do groupo no Adobe Groups.

A partir desta data, foram 2 anos e 3 meses a frente do grupo, aonde tivemos cerca de 12 eventos presenciais, aonde visitamos diversas universidades da região sudoeste do Paraná, tivemos encontros realizados em parceria com núcleos de tecnologia da região. Também realizamos um curso gratuito de Adobe Flex 4 para acadêmicos do estado do Paraná, ficamos muito felizes que tivemos mais de 60 alunos no curso, realizados em 4 sábados no período da tarde no final do ano passado. Esse ano, realizamos dois encontros onlines trazendo duas palestras para a comunidade, a primeira com Eduardo Horvarth sobre o Adobe Flash Catalyst, e a segunda com Igor Costa sobre Adobe Flex Mobile.

O FlexDuck iniciou como um grupo regional e hoje vive um misto. Reuniões presenciais nas cidades aonde ele está representado, Pato Branco, Francisco Beltrão e Dois Vizinhos, e reuniões online trazendo palestrantes para demonstrar o uso da tecnologia Flex em conjunto com outras ferramentas.

Com essas iniciativas, chegamos a um número de 150 usuários cadastrados no Adobe Groups e vinculados ao grupo, um número que me deixa muito feliz.

Vocês não sabem como é difícil convencer as pessoas a se cadastrarem no site do grupo, criando um perfil na Adobe, etc, etc, etc. A pessoa não perderá 5 minutos da vida dela com essa atitude, mas mesmo assim, não faz. O FlexDuck chegou a sortear em reuniões do grupo, mais de R$ 5.000,00 em prêmios, entre licenças de softwares (cedidas pela Adobe USA e FDT) e bolsas de estudos (cedidas pela RIACycle e Eduardo Kraus), e inclusive ganhadores de prêmios não fizeram sua vinculação ao grupo, o que me deixou muito chateado (nunca foi obrigatório que alguém se cadastrasse no grupo, mesmo ganhando algum prêmio).

Mas enfim, devido a novos projetos pessoais, estou me afastando da coordenação do AUG. E com isso, duas novas pessoas estarão a frente do grupo. A primeira delas, é o Diego Maehler (Dois Vizinhos), que irá atuar como Manager, e nosso Co-Manager será o professor Roberto Padilha (Francisco Beltrão).

Espero que todos recebam os novos managers com muito carinho, são pessoas que estão abrindo tempo de sua vida pessoal por acreditar que vale a pena fazer esse trabalho pela comunidade. Eu digo com toda a sinceridade, vale muito a pena sim, é muito legal esse trabalho, e realmente só estou deixando o posto por estar me envolvendo com outros projetos (em breve novidades virão).

Quero agradecer a todos que confiaram em mim a frente do grupo, principalmente a Rachel no primeiro momento, que era a pessoa que acompanhava os grupos aqui no Brasil, depois ao John Koch, que é o atual Community Manager aqui na América Latina, que eu tive um enorme prazer de conhece-lo no Flash Camp Brasil em Macéio.

Também quero agradecer as empresas que acreditaram no trabalho do grupo e nos patrocinaram, são elas: RIACycle, PowerFlasher e ao Eduardo Kraus, pelas bolsas de estudos e licenças de softwares.

Também quero agradecer a todos da comunidade, nesse caso, não irei citar nomes porque senão o post vai ficar muito extenso e não quero correr o risco de esquecer de ninguém que me ajudou nessa jornada. Um muito obrigado a todos que fizeram favores pelo AUG!

Esse é somente um “até breve” meu a comunidade. Não estou me afastando, muito pelo contrário….

Um forte abraço a todos os membros do AUG FlexDuck!

Mai 19

10 coisas que um bom programador flex deve saber

Escrito por Daniel Schmitz em .NET, 1, 2.0, 2009, 3.5, 4, 6, action, Action Script, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, Air, api, Aplicativos, Apresentação, AR, Arquitetura, arte, Artigo, as3, BI, Bindable, blog, bug, builder 4, C#, Cairngorm, class, classe, classes, código, código fonte, Componente, Componentes, components, control, Controles, css, Curso, Cursos, custom, dados, Data Binding, DataGrid, Debug, demo, desempenho, Desenvolvedor, desenvolvedores, Design, developer, development, dispatch, dispatchEvent, DRE, empresas, err, Estilo, event, EventListener, Evento, Eventos, eventos customizados, events, Excel, explorer, Ferramenta, flash, flash builder, Flash Builder 4, Flash Player, Flex, Flex 3, Flex 4, Flex Examples, fonte, for, framework, Frameworks, Google, Gráfico, handle, html, HTTPService, ide, IE, if, int, interface, Java, layout, lista, live, Livro, lógica, map, Mate, MAX 2009, mvc, MXML, O, on, oop, opensource, Outros, player, polimorfismo, problema, problemas, programação, Projetos, pt, RIA, Ria’s Geral, ruby, S+S, site, skins, Sun, tag, TAT, Tech, Tecnologia, tv, UI, uint, utf8, Ved, Vídeo, vs, web, Webservice, XML, XP @ 05 19th, 2011 | via http://flex.etc.br | Sem comentários
Daniel Schmitz
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Esta é uma tradução do seguinte artigo: 10 Things A Good Flex Developer Should Know

Para ser um bom programador Flex é preciso mais que simplesmente saber como usar alguns componentes nativos do Flex. É preciso muito mais.

Aqui está minha contribuição sobre o assunto… juntamente com alguns recursos ou algumas palavras-chave que você poderá pesquisar facilmente através do Google.

Por favor, comente no blog se você achar que esqueci algo (o que é inevitável) ou se quiser sugerir alguns recursos interessantes que devo acrescentar.

1- Programação orientada a Objetos (OO)

O Flex se baseia na linguagem ActionScript3, que é totalmente orientada a objetos. Embora não seja um conceito fácil de aprender, programação orientada a objeto é um pré-requisito para aprender Flex. Se já possui experiência com OO (Java, C#, Ruby, etc), então você está pronto. Se não, você precisará pegar um livro sobre OO e começar a aprender o mais rápido possível.

· Head First Java (Java? Sim, Eu sei. Mas confie em mim.)

· Object-oriented programming with ActionScript 3.0

Nota: Alguns de vocês poderão perguntar – “O que são padrões de projetos?”. Vamos dar um passo de cada vez? Preocupe-se em entender classes e objetos, interfaces, herança, composição, polimorfismo, encapsulamento, etc. Só então considere estudar padrões de projetos. De fato, se eu escrever um post intitulado “10 coisas que um GRANDE programador Flex deve saber”, padrões de projeto estará nessa lista.

2- ActionScript/MXML

ActionScript é a linguagem de programação usada juntamente com MXML para criar aplicações Flex. MXML é uma linguagem de marcação baseada em XML. Cada tag MXML é mapeada diretamente para uma classe ActionScript correspondente. MXML é usado pelos desenvolvedores Flex principalmente para apresentar a interface do usuário, enquanto que, o ActionScript é usado para a lógica de negócio. Com exceções, é claro.

O Framework Flex inclui centenas de classes ActionScript e interfaces usadas para desenvolver aplicações Flex. Seu nível de habilidade como um desenvolvedor Flex está diretamente ligado ao seu conhecimento em relação ao ActionScript e MXML.

· Flex in a Week

· Tour De Flex

· Essential ActionScript 3.0

Nota: Fique ? vontade com a API do Flex. Como um desenvolvedor Flex, você vai usá-la diariamente.

3- Debugging

Boa parte do tempo de qualquer programador é gasto no debugging. Obviamente, é necessário debugar para rastrear a causa de bugs. No entanto, também é uma ótima maneira de conhecer o código fonte.

Felizmente, existem muitas ferramentas disponíveis para ajudá-lo com o trabalho de debugging. Invista algum tempo para aprender essas ferramentas. Seu investimento irá proporcionar retorno imediato.

· Flash Builder 4.5 Debugger

· De MonsterDebugger

· Kap Inspect

4- Programação orientada a eventos

Aplicações Flex são orientadas a eventos. Toda ação é o resultado de um evento assíncrono.

Como um desenvolvedor Flex, você deve saber como responder a eventos e como criar e disparar eventos. Para isso, é necessária uma sólida compreensão da arquitetura de eventos do Flex, incluindo familiaridade com os seguintes conceitos:

· Eventos nativos (Flash Player ou Framework de eventos Flex)

· Eventos customizados (Eventos criados pelo desenvolvedor, que estende a classe Event ou uma de suas subclasses)

· Disparar eventos, propagação de eventos (ver classe EventDispatcher e seu método dispatchEvent)

· Event listeners, event handlers (ver classe EventDispatcher e seus métodos addEventListener e removeEventListener)

· Fases do evento (capture, target & bubbling phases; target vs. currentTarget)

· Objetos do evento, tipos de eventos (ver classe Event e subclasses)

· Comportamento do evento default (ver classe Event e subclasses e seu método preventDefault)

5- Data binding

Aparentemente, data binding é um “no brainer”[1]. É só vincular o valor de uma propriedade ao valor de outra propriedade usando chaves. Quando o valor da propriedade de origem for alterado, o valor da propriedade de destino também é alterado.

No entanto, existe uma sobrecarga associada ao uso indiscriminado de data binding, podendo haver implicações no desempenho. Uma sólida compreensão de data binding ajudará a determinar quando é apropriado o seu uso e quando não é.

· Flex Tips – Using Bindable Metadata Events

· Michael Labriola’s presentation entitled Diving in the Data Binding Waters

6- Item renderers

Uma característica de uma aplicação Flex bem projetada é a apresentação dos dados de uma forma visualmente atraente. O Flex oferece uma série de controles baseados em listas (DataGrid, List, TileList, HorizontalList, etc) responsável pela apresentação dos dados. Portanto, pode-se personalizar a exibição dos dados com a ajuda de item renderers.

Você irá consumir muito tempo trabalhando com item renderers. Então é melhor saber bem como ele funciona.

· Flex Examples – Item Renderers in Practice

· A Deep Dive into Flex 4 Lists and Layouts

7- Acesso remoto a dados

Você conhece muitas aplicações que não interagem com os dados? Eu também não. Saiba como recuperar dados através de HTTPServive, WebService e RemoteObject. A arquitetura do framework Flex também poderá ajudá-lo com isso (ver #9).

· Retrieving and handling data with HTTPService

· Retrieving and handling data with WebService

· Retrieving and handling data with RemoteObject

8- Styling / Skinning

Não vamos nos esquecer que o Flex é uma tecnologia de interface e, como tal, certamente há expectativas em relação ao design. Como um desenvolvedor Flex, você deve ser capaz de personalizar a aparência de seus aplicativos usando estilos CSS, gráficos e/ou skins.

Com o Flex 4, não há mais desculpas. Use um pouco do seu tempo para conhecer de uma vez o lado direito do seu cérebro. É uma excelente mudança de paradigma, e vai ajudá-lo a diferenciar-se dos outros desenvolvedores Flex.

· Flex Style Explorer

· ScaleNine

· Introduction to Flex: Part 3 – Styles & Skins

9- Pelo menos um framework de arquitetura Flex

A maioria dos frameworks de arquitetura Flex impõe uma separação de camadas através da implementação do MVC (model-view-controller). Além disso, esses mesmos frameworks especificam como seu código deve ser organizado dentro do projeto Flex.

Embora muitos argumentariam que os frameworks são desnecessários, acredito que os desenvolvedores Flex se beneficiam em muitos aspectos da experiência de usá-los. Basta assistir ? s técnicas (boas ou más) empregadas por um framework para resolver problemas complexos de arquitetura. Isso contribuirá para seu crescimento como um desenvolvedor Flex.

Além disso, é difícil negar o fato de que a experiência com framework aumentará substancialmente o seu valor comercial como um desenvolvedor Flex. Jesse Warden me disse recentemente “Existem poucas empresas que não usam frameworks, mas isso é raro. Queiramos ou não, está na ‘moda’”. Eu concordo com Jesse.

· Cairngorm

· Parsley

· PureMVC

· Mate

· Swiz

· Robotlegs

10- Ciclo de vida de componentes e display list

Eu não estava convencido da necessidade de aprender o ciclo de vida de componentes Flex ou da display list até que escrevi o meu primeiro componente customizado (na verdade foi um componente semi-customizado que se estendia do componente Canvas). Até essa época eu usava componentes nativos do Flex, usando apenas o MXML enquanto que a display list era renderizada para mim. Em nenhuma vez tive que usar os métodos addChild, createChildren ou commitProperties, e usava o evento creatiomComplete para tudo.

Meu primeiro componente customizado usava uma quantidade enorme de eventos assíncronos, e eu não poderia prever a ordem em que cada evento seria disparado. Só depois que eu aprendi os métodos e variáveis do ciclo de vida dos componentes do Flex que eu pude ter um certo controle.

Estes métodos do ciclo de vida estão lá para serem usados. Saiba como funcionam e use-os para o seu benefício. Sua vida será mais fácil e você perderá menos cabelos.

· Colin Moock’s Lost ActionScript Weekend – The Display List

· Creating New Components in Flex 3

· Diving Deep with the Flex Component Lifecycle

· Understanding the Flex 3 Component and Framework Lifecycle


[1] Expressão americana usada para algo que requer pouco esforço mental ou inteligência para realizar ou compreender

Abr 18

Membase – Banco de dados “chave-valor” distribuído

Escrito por Igor Musardo em .NET, 1, 4, 6, abas, Adobe, apache, Aplicativos, app, AR, Asp.Net, back, Banco de Dados, BI, browser, busca, cache, class, cliente, código, configuração, couchdb, dados, Desenvolvedor, desenvolvedores, Dica, dll, Download, empresas, exemplo, Exemplos, Flex, for, IE, if, image, instalação, int, Java, library, mg, Microsoft, monitor, MSDN, O, on, painel, Partilha, Password, PHP, POO, programação, pt, relatório, Relatórios, RIA, Ria’s Geral, ruby, SDK, server, serviço, servidor, socket, Software, SQL Server, Sun, Tech, Tecnologia, Tema, Teste, UI, uint, Vários, Ved, Visual Studio, web, window, windows, XML, XP @ 04 18th, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

O Membase é um sistema de gerenciamento de banco de dados chave-valor distribuído, otimizado para aplicações web interativas.

O Membase é utilizado em produção em milhares de aplicativos no mundo, entre as grandes empresas que utilizam temos Zynga e NHN. E já também disponível no host compartilhado Heroku.

Infelizmente hoje os hosts brasileiros nos planos compartilhados é dificil encontrar suporte à tecnologias noSQL como o Membase, CouchDb, MongoDb, etc, e com isso forçam os desenvolvedores fazerem software utilizando bancos de dados relacionais que não são aderentes à programação orientada a objetos.

Banco de dados relacional é muito recomendado para persistência de dados que não são utilizados com muita frequência e também para aplicações cujo objetivo é gerar relatórios. Então uma ótima sacada é utilizar as duas tecnologia juntas. Para os dados que são constantemente utilizados por sua aplicação utilize o Membase, para os dados utilizados com menos frequencia use banco de dados relacional.

Porém adotar o modelo chave-valor traz consigo uma pequena “dor”, pois você será forçado a mudar a forma como os dados serão gravados e buscados em sua aplicação, pois o Membase é uma estrutura de dicionário, ou seja, as operações de busca e remoção dependem diretamente de você saber de ante-mão a chave de onde está o registro.

Download

Escolha a versão que mais se adequa a sua necessidade: Enterprise Edition ou Community Edition, eu recomendo a versão Enterprise.

Disponível para Windows, Red Hat e Ubuntu.

O arquivo de instalação tem em média 80MB.

http://www.couchbase.com/downloads

Instalação

A instalação é bem simples seguindo o modelo AVANÇAR, AVANÇAR, …, CONCLUIR.

Após a conclusão da instalação o browser é aberto com a página de SETUP do Servidor Membase.

Membase01

A primeira etapa da configuração do servidor é definir o local onde serão persistidos os dados, escolher se essa instância será um novo cluster ou se juntará a um cluster existente.

Caso for criar um novo cluster, defina a quantidade máxima de memória você deixará disponível para o Membase utilizar. Ele só alocará a memória quando necessário.

Membase02

Agora é hora de criar o Bucket Default, container isolado de dados, a área onde ficarão os dados.

Você pode escolher entre os tipos Memcached e Membase as diferenças entre os dois são muitas, mas as mais importantes são: Membase persiste no disco e Memcached não, o Memcached possui o limite de 1MB por valor em cada registro, no Membase o limite são 20MB.

Uma dica, como você pode criar vários Buckets, sugiro você separar os assuntos de dados do seu sistema em Buckets distintos, isso facilitará sua vida quando precisar definir qual o modelo de chave utilizar para guardar os dados, acredite em mim. :-)

Membase03

Defina um usuário e senha para acessar o serviço, esses dados também serão utilizados para acessar o painel administrativo do Membase.

Membase04

Esse é o painel administrativo do Membase.

Membase05

Assim concluimos a etapa de instalação e configuração do Membase. Simples né?!

Cliente

Agora vamos trabalhar com a integração entre o .NET e o Membase, para isso antes de mais nada é necessário utilizar um client para a linguagem que a sua aplicação foi ou será escrita, no nosso caso .NET.

Hoje as linguagens que já possuem cliente são:

  • .NET
  • Java
  • Perl
  • PHP
  • Ruby
  • C

Para fazer o download do cliente acesse: http://techzone.couchbase.com/downloads

Como configurar sua aplicação para usar o Membase

Primeiro copie as DLL’s Enyim.Caching.dll e Membase.dll para a pasta BIN do seu projeto e adicione a referência dessas DLL’s no projeto.

No web.config ou app.config da sua aplicação acrescente as seguintes configurações:



  

Código de exemplo

Client

Para utilizar o Membase você precisa criar uma instância do MembaseClient passando como prâmetros o nome e senha do bucket:

var membaseClient = new MembaseClient("default", "senha_bucket");

Set

Para armazenar os dados no Membase utilize o método SET:

membaseClient.Set(StoreMode.Set, “key01”, “value01”);

Para o valor o membase aceita qualquer tipo de objeto. O método SET adiciona uma chave inexistente ou substitui uma chave existente.

Get

Para resgatar um valor amazenado utilize o método GET:

var valor = membaseClient.Get(“key01”); // Retorna “value01”

Agora que você foi apresentado ao Membase pode já começar a brincar a fazer testes para aumentar o throughput e a escalabilidade da sua aplicação.

Até o próximo post.

Divita-se.

Abr 1

Bons Programadores x Promadores Ruins

Escrito por Fabio da Silva em 1, 4, 6, AR, Artigo, BI, blog, Blogs, Carreira, comparação, empresas, Google, imasters, Mac, Mercado de Trabalho, mg, O, on, Ria’s Geral, UI @ 04 1st, 2011 | via http://fabiophx.blogspot.com | Sem comentários
Fabio da Silva
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Comparação muito boa entre bons programadores versus programadores ruins.

Leitura recomendada para todos os programadores, gerentes, coordenadores e donos de empresas de TI.

O texto pode ser lido aqui.

Mar 13

10 motivos para não ficar de fora do Flash Camp Brasil 2011

Escrito por Leonardo França em 1, 3d, 4, 6, Actionscript 3.0, Adobe, Adobe Air, Air, Android, api, app, AR, BI, camp, Catalyst, conferência, dados, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, developer, empresas, err, event, Evento, flash, Flash Catalyst, Flash Platform, Flex, for, futuro, game, git, hospedagem, ide, if, image, int, Java, Mac, Mercado, mg, novidade, Novidades, O, on, Palestra, Palestras, Pessoal, PHP, player, procura, RIA, Ria’s Geral, site, SmartPhone, Tecnologia, Tema, tv, Twitter, UI, Vários, Ved, vs, Workshop @ 03 13th, 2011 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



1. Fique por dentro das últimas novidades e anúncios sobre tecnologia e design no mundo, e de quebra ainda concorra a vários brindes como programas Adobe e MUITAS outras surpresas.
2. Lidere o ramo de tecnologia em sua região e seja referência na sua equipe de TI, participando dos workshops oficiais pré-conferência com alguns dos melhores instrutores do Brasil (Flex para Java Developers, Digital Publishing Suite, Flash Catalyst ou AS 3.0 on Fire).
3. Apresentações inéditas de empresas de tecnologia e líderes de agências digitais premiadas no cenário mundial como Zynga (criadora do FarmVille), RIM (BlackBerry), Adobe, Gringo e Seagulls Fly, por preços muito acessíveis.
4. Sol, mar e tecnologia. Desfrute de Maceió, na região Nordeste, um dos destinos turísticos brasileiros mais procurados, com belíssimas praias e uma natureza deslumbrante.
5. Hoje em dia empresas internacionais estão muito interessadas em conhecer os desenvolvedores e designers brasileiros. Conheça algumas dessas empresas pessoalmente.

6. Conheça o novo FlashPlayer com 3D real de alta performance que vai revolucionar o mercado, e veja como criar apps para TVs, tablets e smartphones.
7. Aproveite a chance de conversar cara a cara com os profissionais que fazem os programas e tecnologias que você usa como Flash, AIR e Flex, vindos diretamente dos Estados Unidos.
8. Melhor oportunidade para relacionamentos profissionais e atualização em 2011, quando o Flash completa 15 anos. Lembrando que o Flash Camp 2010 foi considerado por muitos o melhor Flash Camp já realizado no mundo, e este ano o evento promete ser maior e melhor.
9. Palestras com grandes nomes dos Estados Unidos, Europa e Brasil, juntos, debatendo e apresentando o futuro da tecnologia interativa em tablets, celulares, tv’s e computadores, com temas que vão desde desenvolvimento de games, até design e gerência.

10.Seja um dos primeiros no Brasil a testar o novíssimo BlackBerry Playbook, um dos tablets mais aguardados em 2011. (quem sabe até leve um para casa)

Quer mais motivos para você e sua equipe estarem no Flash Camp Brasil 2011?

Entre agora mesmo no site www.flashcampbrasil.com.br e obtenha mais informações sobre os temas das palestras, workshops, localização, hospedagem e mais detalhes sobre os profissionais que estarão palestrando no maior evento de mídia interativa em 2011.

Siga no twitter: @flashcampbrasil

Video Oficial Flash Camp Brasil 2011: http://bit.ly/elX5R2

Nos vemos em Abril na bela Maceíó em Alagoas!

Fev 13

Da Imaturidade à Agilidade

Escrito por Edgard Davidson em 1, 4, 6, Agile, Air, api, AR, arte, Artigo, bar, BI, busca, class, cliente, control, cultura, Curso, Cursos, Desenvolvedor, desenvolvedores, Desenvolvimento, Desenvolvimento de Software, Dica, Documentação, DRE, empresas, err, erro, Excel, exemplo, Ferramenta, Flex, for, gestão, Gráfico, ide, IE, if, image, int, lite, Livro, Mercado, Mestrado, mg, Motivação, O, on, Opinião, Outros, padrão, problema, problemas, processo, produto, Projetos, pt, RIA, Ria’s Geral, Scrum, serviço, Serviços, Software, Sugestões, TAT, Tecnologia, UI, Vários, Ved, vs, XP @ 02 13th, 2011 | via http://edgarddavidson.com | Sem comentários
Edgard Davidson
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

…Houve um tempo em que eu achava que métodos ágeis eram um excelente álibi para programador preguiçoso. E, ainda hoje, as vezes fico pensando sobre o significado do nome “ÁGIL”. Será que esse nome contempla, de fato o seu propósito, ou é um nome meramente “marketeiro”? Veja só:  No dicionário, o significado de “ágil” é ser rápido e flexível, por sua vez, no dicionário, o antônimo de ágil é lento e vagaroso.  Ora, ninguém quer ser taxado como lento e vagaroso!  Sendo assim, se eu não quero ser taxado de lento e vagaroso, então por eliminação eu sou ágil.

Esse clichê formado sobre a palavra ÁGIL distorceu um pouco as coisas. Muitas empresas e desenvolvedores que não conseguiam implantar processos de desenvolvimentos de software maduros, e que por muitas vezes cairam no mito da Fantástica Fábrica de Software,  começaram a se intitular como ágil. Nesse contexto continuo achando que métodos ágeis são um excelente álibi para programador preguiçoso.

A questão é que desenvolver software é uma tarefa que dependente de  tecnologia, processos, e, sobretudo, do conhecimento das pessoas.  Como já diria Fred Brooks em seu famoso artigo No Silver Bullet, não existe bala de prata, não existe ferramenta, metodologia ou qualquer outra mágica que resolva milagrosamente todos os problemas.

Segundo [Filho, 2008]:  “em uma organização imatura os mesmos problemas se repetem de projeto em projeto, o trabalho é excessivo e estressante e frequentemente há a necessidade de corridas desesperadas contra os prazos, a qualidade de vida no trabalho é ruim, o ambiente é desgastante e os profissionais são desmotivados. Os erros relativos ao processos de desenvolvimento de software são comuns em organizações  que utilizam processos imaturos, ocorrendo também naquelas que possuem processos rígidos, complexos e burocráticos e naquelas em que os processos apesar de existirem são seguidos parcialmente, ou em última instância, não são seguidos.”

Não obstante, o mercado tem exigido produtos de software ainda mais sofisticados e em prazos de desenvolvimento mais curtos. A referida exigência, tem instigado a pesquisa na área engenharia de software, objetivando encontrar meios para garantir que o software seja produzido atendendo às expectativas do cliente e aos atributos de qualidade definidos pela organização fornecedora de software e esperados pelo mercado.

Antes  de enfatizar a importância da agilidade do processo, é preciso entender o que ela realmente significa. Em suma, é a capacidade que uma organização possui para responder rapidamente às forças , fraquezas, oportunidades e ameaças do mercado. Há inúmeras situações práticas, onde agilidade do processo é altamente desejado, incluindo: apresentando um novo produto, entrar em um novo mercado,  responder à entrada de concorrentes, responder a alterações de requisitos em produtos em construção, etc.

Outro aspecto, é que o processo de desenvolvimento de software é complexo e precisa favorecer a criatividade e a inovação, e ter um nível adequado de flexibilidade para beneficiar a engenharia de processos na melhoria contínua. O grande desafio na proposta de um processo é conseguir um conjunto de regras que guiem o desenvolvimento sem comprometer a criatividade e a motivação dos desenvolvedores e sem travar a organização para a constante evolução da tecnologia e as adequações necessárias.

Uma abordagem adotada para romper a barreira da imaturidade é a definição de um processo de desenvolvimento de software padrão. O referido processo descreve as atividades que devem ser realizadas no desenvolvimento de software em todos os projetos da organização. A idéia é que isso favoreça que a organização atinja a conformidade com os padrões de qualidade esperados. Na literatura existem várias definições para processos de desenvolvimento de software:

  • “Uma sequência de passos executadas para um determinado propósito; por exemplo, o processo de desenvolvimento de software.” [IEEE, 1994]
  • “Um processo ´e um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos práticas e transformações usado para atingir uma meta.” [Filho, 2008]
  • “O processo de software ´e um conjunto de atividades que leva à produção de um produto de software.” [Sommerville, 2007]

De forma bem resumida, o processo de desenvolvimento de software formal descreve por meio da sua documentação: o que é feito , quando é feito, por quem é feito, como é feito, além dos insumos que usa e os produtos de saída. Em outras palavras, o processo enfatiza a padronização para possuir um parâmetro de medida e de controle e para poder circunscrever o erro em busca de qualidade. Contudo, embora seja necessário definir um processo de desenvolvimento de software, só isso não é suficiente para a construção satisfatória de um software. Existem vários fatores envolvidos que influenciam diretamente a construção do software, por exemplo: a capacitação das pessoas envolvidas, as tecnologias e ferramentas utilizadas, a cultura organizacional, entre outros.

Um processo de desenvolvimento de software não é definido do zero. Na literatura existem vários modelos que descrevem orientações para a definição e implantação de processos, dentre eles a ISO 12207/15504, CMMI e MPS-BR. Nesta linha, o processo de desenvolvimento de software deve estabelecer :

  • atividades a serem realizadas durante o processo, sua estrutura e organização (decomposição e precedência), incluindo a definição de um modelo de ciclo de vida quando pertinente;
  • artefatos requeridos e produzidos por cada uma das atividades do processo;
  • procedimentos (métodos, técnicas, roteiros e padrões) a serem adotados na realização das atividades;
  • recursos necessários (humanos, hardware e software) para a realização das atividades.

Em busca de eliminar a imaturidade, as organizações investem em definir e implantar um processo baseando-se em modelos de maturidade como CMMI e MPS-BR. Entretanto, esses modelos são densos, repletos de subprocessos que devem ser implementados em cada área de processo de cada nível de maturidade (no caso de CMMI) .

Um nível de maturidade é um patamar evolutivo bem definido que que “determina” a capacidade que uma organização possui em desenvolvimento de software. Cada nível visa alcançar um processo de desenvolvimento de software cada vez mais maduro.  Os níveis são uma forma de priorizar as ações de melhoria, de tal forma que se aumente a maturidade do processo de forma continua. Assim, os níveis de maturidade são cumulativos, ou seja, um nível de maturidade mais alto inclui os atributos dos níveis mais baixos. Uma vez que os modelos são projetados para descrever níveis discretos de melhoria de processo, níveis de capacidade provêem uma ordem recomendada para abordar a melhoria de  processo dentro de cada área de processo.

É  esperado que a cada nível alcançado pela organização, mais madura ela se torna em desenvolvimento de software. Um bom processo não garante que os produtos produzidos são de boa qualidade, mas é um indicativo de que a organização é capaz de produzir bons produtos.  Para que isso seja alcançado, um bom processo de desenvolvimento de software baseado em modelos de maturidade como CMMI e MPS-BR só podem ser considerados maduros se houver uma equipe de Quality Assurance atuante, autônoma e não condicionada. Essa equipe trabalha constantemente na garantia e no controle de qualidade do processo e do produto, respectivamente.

Quando uma organização atinge o nível 5 no CMMI ou A do MPS-BR, ela entra em um espiral de melhoria continua.  A equipe de projeto e  a equipe de qualidade reportam para a equipe de definição de processo gargalos e deficiências do processo atual, e complementam com sugestões para melhoria de processo. A equipe de definição de processo por sua vez avalia todas as sugestão, e, se pertinentes, implantam a melhoria no processo. Isso se torna um ciclo de inspeção e adaptação do processo.  Quanto mais madura a equipe, menos atividades de inspeção técnica e verificação são necessárias para garantir a conformidade com o processo e mais esforços podem ser realocado para garantir a conformidade do produto. Veja o post sobre Conformidade com o Produto vs. Conformidade com o Processo.

No gráfico acima tentei ilustrar o que percebo sobre a agilidade de processos. Quando se fala em agilidade em processo, já estamos condicionados a pensar em métodos ágeis de desenvolvimento de software como Scrum, eXtreme Programming , princípios Lean etc. No entanto, agilidade, na essência,  se aplica em um ambiente de desenvolvimento formal também.  No início, quando a organização não possui nenhum processo definido o ambiente não é estável, e, frequentemente, ela depende da competência e heroísmo das pessoas para atingir seus objetivos. Neste ambiente, a rigidez de processo é baixa, informal e caótico, mas apesar disso as organizações muitas vezes produzem produtos e serviços que funcionam. Entretanto, elas freqüentemente estão expostas a vários problemas de projeto como: exceder o orçamento e o cronograma planejado, baixa qualidade, não cumprir compromissos, abandonar processos em momentos de crises e não ser capazes de repetir sucessos do passado.

Para não ficar tão expostas aos problemas de projeto citados, as organizações partem para implantação de processos, e, a medida que esses processos são implantados e os níveis de maturidade de processo são obtidos, mais “rígido”, mais “burocrático”  o processo se torna.  No entanto, entendo que a tão criticada rigidez e burocracia de processos formais é uma fase transitória, de aprendizado, de padronização e, sobretudo de amadurecimento.  Nos níveis mais altos de maturidade o objetivo é a simplificação, a “des-burocratização” de processo. Lendo isto alguém poderia estar perguntando: “Ora! Então porque a organização não vai direto para esse estado?”  Bom, imagino que isso se torna necessário na caminhada da Imaturidade à Agilidade.

Fev 5

Qualidade em Processo de Desenvolvimento de Software

Escrito por Edgard Davidson em 1, 2009, 6, Agile, api, AR, arte, AUG, auto, BI, busca, class, cliente, comunicação, conferência, control, cultura, Curso, Cursos, demo, Desenvolvimento, Desenvolvimento de Software, Documentação, empresas, event, Evento, exemplo, falha, for, Google, ide, IE, if, image, int, Liderança, LOB, Mercado, Mestrado, mg, Motivação, mudanças, NaN, O, on, Opinião, processo, produto, Projetos, pt, Qualidade de Software, RIA, Ria’s Geral, Software, Sun, TAT, Tecnologia, Treinamento, UI, yahoo @ 02 5th, 2011 | via http://edgarddavidson.com | Sem comentários
Edgard Davidson
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Chaus Report 2009 – Standish Group

Pesquisas como as realizadas pelo Standish Group apresentadas no Chaus Report 2009 demonstram que grande parte dos projetos de software falham ou são desafiados, seja porque não cumprem o orçamento, ou não cumprem o cronograma, ou as funcionalidades não atendem às necessidades dos usuários ou porque todos estes fatores estão presentes em conjunto. Para o Standish Group um projeto de software é considerado um Sucesso quando todas a funcionalidades do escopo inicial são entregues no orçamento e cronograma planejado. O projeto é Desafiado quando ele sofre com atrasos, não cumpre o orçamento inicial e/ou é entregue com menos recursos e funções do que o definido no escopo inicial. E finalmente, o projeto é considerado Falho quando ele é cancelado antes da conclusão ou o produto da sua entrega nunca é utilizado.

Há algumas décadas a indústria de software vem buscando técnicas de desenvolvimento que possam reduzir os riscos dos projetos de software e tornar essa atividade mais produtiva. A referida constatação não é recente. Já em em 1968 houve um evento denominado conferência de NATO, que, entre outras coisas, tentou entender e discutir o porquê que a maioria dos projetos de software falham ou são desafiados. De lá para cá, a indústria de software vem evoluindo e a partir dos anos 90 surgiram várias propostas como o desenvolvimento de processos formais como RUP, pautados sobre modelos de maturidade como CMMI e a evolução de autores consagrados como Coad & Yourdon, Pressman, Sommerville, Rumbaugh, Booch, Jacobson, etc.

Quando o assunto é desenvolvimento de software, existem basicamente duas grandes “escolas”: a tradicional e a ágil. Cada uma delas enxerga e trata o processo de desenvolvimento de software de maneiras bem peculiares, apesar dos objetivos finais serem os mesmos. Na escola tradicional o conceito de processo de desenvolvimento de software se assemelha ao usado em processos de produção industrial: um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações usadas para atingir uma meta, centrado em documentação e controle operacional. Já os adeptos das metodologias ágeis não estão presos a processos rígidos; o que interessa é aquilo que de fato agrega valor ao usuário, não que a escola tradicional não pense assim, como entregas rápidas ou como já diria um dos princípios ágeis: “Nossa maior prioridade é satisfazer o cliente através da entrega rápida e contínua de software de valor.”

Não obstante, a indústria de software é bastante dinâmica, novas idéias, tendências e tecnologias surgem a todo instante e em todas as partes do mundo. Acompanhar essa dinâmica é fator crítico de sucesso para profissionais e empresas que pretendem adquirir um diferencial no mercado. Um ponto fundamental para acompanhar o dinamismo do mercado está na habilidade de lidar de forma mais eficiente com as mudanças de requisitos, aumentar a motivação da equipe e melhorar comunicação com o cliente do projeto, e, para isso, será necessário estar pronto para introduzir uma nova cultura de liderança que irá alterar os papeis e trará uma nova forma de trabalhar transferindo parte da responsabilidade do gerente do projeto para a equipe.

A adaptação às mudanças decorrentes de fatores externos são uns dos conceitos centrais dos métodos ágeis. Onde os métodos mais formalizados e centrados em planejamento e documentação são preditivos na tentativa de prever as necessidades futuras, em contrapartida, os métodos ágeis são adaptativos e rapidamente se adaptam às novas exigências, aderindo ao lema “abrace as mudanças!”. A única medida de sucesso é a de produto funcionando.

Outro princípio importante é a simplicidade e pensamento enxuto. De acordo com o conceito de pensamento ágil, projetos de grande escala, por exemplo, não são desejáveis. Pelo contrário, é preferível minimizar a quantidade de trabalho daquilo que não precisa ser feito. Isto inclui, por exemplo, não gastar tempo escrevendo documentação desnecessária.

Cada vez mais a abordagem ágil de desenvolvimento de software vem se popularizando entre grandes empresas de sucesso como: google, yahoo, amazom.com, globo.com entre outras. No entanto, nem sempre as empresas que tentam adotar a filosofia ágil têm obtido o mesmo sucesso. Várias discussões tem se formado para entender o motivo do referido insucesso, e as conclusões estão convergindo para fatores como: falta de treinamento dos colaboradores; equipes hierarquizadas, e, sobretudo, resistência de mudança cultural.

Desenvolver software é uma tarefa que exige técnicas de engenharia e arte. Se uma empresa ou profissional não absorver a filosofia ágil dificilmente se manterá competitiva no cenário atual do mercado de software por mais que se implemente uma metodologia.

Nesse sentido, cabe a nós profissionais críticos, formadores de opinião, termos a a clara consciência de adotar processos tradicionais ou processo ágeis, ou no melhor dos casos, como integrar os dois para tirar o maior proveito.

Fev 2

Introdução ao Windows Phone 7

Escrito por Alexandre Tadashi em .NET, .Net Magazine, 1, 2009, 3d, 4, 6, Animação, Animações, Aplicativos, app, AR, arte, Artigo, auto, back, BI, Blend, blog, Blogs, botão, browser, C#, camp, case, class, Class Library, código, código fonte, configuração, control, Curso, Cursos, custom, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, developer, development, DevMedia, Diversos, Download, DRE, email, empresas, err, exemplo, explorer, expression, Expression Blend, Ferramenta, fonte, for, framework, fundo, game, Geral, git, gratuito, html, ide, IE, if, image, instalação, int, Introdução, jogo, Jogos, layout, library, Links, lista, live, Mac, menu, Mercado, mg, Microsoft, Microsoft Expression, Microsoft Silverlight, mobile, MSDN, Negócios, novidade, Novidades, O, on, pagamento, produtividade, Projetos, RIA, Ria’s Geral, RTW, silverlight, Silverlight 4, site, SmartPhone, social, Software, spark, tag, Tecnologia, Tema, tool, UI, uint, UX, Ved, Visual Studio, Visual Studio 2010, vs, web, window, windows, windows 7, XAML, Xna, XP @ 02 2nd, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

WP7_1

Neste artigo será apresentada uma pequena introdução ao desenvolvimento de projetos mobile com o Windows Phone 7, o Windows Phone 7 ou WP7, é o mais recente sistema operacional da Microsoft para a plataforma mobile, foi projetado para proporcionar ao desenvolvedor a criação de aplicativos com recursos interativos e ricos, seu visual é simples, agradável e moderno. Para o desenvolvimento de aplicativos para essa plataforma a Microsoft investiu praticamente no Microsoft Silverlight e no Framework XNA.

O Silverlight pode ser utilizado para diversas finalidades, mas sua força está na criação de aplicativos de negócios em geral, utilizando a plataforma .net. Além do WP7 é possível utilizar o Silverlight para criar projetos web , rodando no browser ou até mesmo criar projetos Silverlight que rodam instalados fora do browser.

O XNA é um framework completo para o desenvolvimento de games, tanto para PCs com o Windows, como para o XBOX 360 e o Windows Phone 7, é possível criar jogos com o Silverlight , mas como o XNA foi concebido com esse propósito ele tem um suporte melhor para a criação de games mais complexos.

Se você já programa em C# .net ou até em Silverlight, você poderá aproveitar e aplicar seus conhecimentos para criar aplicativos para o WP7, neste artigo será apresentado como preparar o ambiente de desenvolvimento para você iniciar a criação de aplicativos para o Windows Phone 7 com Silverlight utilizando o Visual Studio 2010 ou com o Expression Blend.

O Ambiente de desenvolvimento para o WP7 é totalmente gratuito, você poderá utilizar o Visual Studio 2010 Express, o Visual Studio é a principal IDE da Microsoft para o desenvolvimento de aplicativos para a plataforma .net, neste artigo vou usar a versão Premium do Visual Studio 2010 , mas você poderá utilizar os mesmos conceito na versão Express (gratuita).

Uma ferramenta muito interessante e com total suporte ao Windows Phone 7 é o Expression Blend 4, o Blend é uma ferramenta completa para a criação de layouts aprimorados, com suporte ao Windows Phone, nela diversas tarefas são realizadas com a ajuda do mouse, os códigos XAML são gerados automaticamente conforme você manipula visualmente o layout das telas, além de praticidade e produtividade ele também possui um emulador do Windows Phone e diversos recursos para o designer da aplicação. 

Ambiente de desenvolvimento – Windows Phone 7 Developer Tools

WP7DT

Para iniciar o desenvolvimento com o WP7 você vai precisar instalar o Windows Phone Developer Tools  RTW , ele está disponível para o Windows Vista e Windows 7, o programa inclui os seguintes aplicativos:

  • Visual Studio 2010 Express for Windows Phone
  • Windows Phone Emulator Resources
  • Silverlight 4 Tools For Visual Studio
  • XNA Game Studio 4.0
  • Microsoft Expression Blend for Windows Phone 
  •  

    Para outras informações sobre o ambiente gratuito de desenvolvimento para o WP7 clique aqui.

    Inicie a instalação do Windows Phone Developer Tools RTW, se você tiver alguma versão incompatível instalada,  o software vai alertá-lo, a primeira etapa é aceitar a licença do programa, em seguida aparecerá uma tela com o botão “Install Now”, clique  para iniciar a instalação, você poderá neste momento alterar o diretório de instalação, Figura 1, se clicar no botão Customize.

    O Windows Phone Developer Tools iniciará a instalação dos programas e você verá a tela da Figura 2 assim que a instalação de todos os programas for completada.

    Figura 1. Customizando a Instalação do Windows Phone Developer Tools

    Figura 2. Instalação concluída do Windows Phone Developers Tools

    Os programadores Visual Basic tem um Windows Phone Developers Tools específico neste link Visual Basic for Windows Phone Developer Tools – RTW.

    Criando uma aplicação no Visual Studio 2010

    Abra o Microsoft Visual Studio 2010 e clique em File->New->Project, cinco opções são apresentadas como modelos de projetos para o Windows Phone, o primeiro é o Windows Phone Application, nele temos um projeto básico com o mínimo necessário para criar uma aplicação WP7, a segunda opção é a Windows Phone Databound, que permite criar uma aplicação baseada em um modelo capaz de trabalhar com uma lista de dados e com controle de navegação,  a terceira opção é a Windows Phone Class Library, onde é possível criar uma biblioteca para o Windows Phone, em seguida temos o Windows Phone Panorama Application, que cria um projeto com um modelo de navegação muito comum no Windows Phone, onde é possível através do toque na tela andar pela aplicação e navegar em suas listas de dados e por ultimo temos o Windows Phone Pivot Application, onde está disponível um controle Pivot para ser usado na aplicação.

    vs1

    Figura 3. Tipo de projetos para Windows Phone no Visual Studio 2010

    Como o foco do artigo não é a criação de uma aplicação para o Windows Phone 7 e sim somente dar uma introdução ao desenvolvimento para a plataforma, vamos criar um projeto do tipo Windows Phone Panorama Application e modificar somente em dois pontos e em seguida visualizar as alterações.

    No código fonte da aplicação (XAML), vamos modificar o título da aplicação e o cabeçalho do primeiro item do controle panorâmico, localize o controle  Panorama e modifique o parâmetro Title para um nome qualquer, em seguida faça o mesmo com a propriedade Header do controle PanoramaItem, veja a Figura 4.

    FontePanorama 

    Figura 4. Modificando o fonte do projeto Windows Phone Panorama Application

    Agora clique no play do Visual Studio 2010 para executar a aplicação e visualizar o emulador do Windows Phone 7, Figura 5 e 6.

    emuladorVS

    Figura 5. Executando a aplicação no emulador do Windows Phone 7

    Emulador 

    Figura 6. Emulador do Windows Phone 7 no Visual Studio 2010

    Abrindo a aplicação no Expression Blend 4

    O Expression Blend é um aplicativo que auxiliar na parte gráfica da aplicação, com ele temos uma ferramenta gráfica e com recursos específicos para essa finalidade, um bom exemplo e a criação de animações em sua aplicação, vamos supor que você queira animar um determinado elemento, seja uma imagem ou um botão, por exemplo,a vantagem de utilizar o Blend nesta tarefa é a possibilidade de gravar toda a animação na tela e ele automaticamente gera todo o código XAML, poupando dezenas de linhas de códigos que seriam digitadas no Visual Studio 2010.

    O Microsoft Expression Blend for Windows Phone é um dos aplicativos instalados pelo Windows Phone Developers Tools, existe também uma versão para uso do Silverlight  que é a que estou usando neste artigo, chamada de Expression Blend 4, que faz parte do pacote do Expression Studio 4, integrado com o Visual Studio 2010 e que também funciona para programar para o Windows Phone 7.

    Saiba mais sobre o Expression Studio 4 neste artigo da .net Magazine.

    O Expression Blend é integrado ao Visual Studio 2010, basta clicar no seu projeto com o botão direito do mouse e clicar em Open in Expression Blend, Figura 7, qualquer modificação feita nas ferramentas já é atualizado na outra assim que uma é acionada.

    Figura 7. Emulador do Windows Phone 7 no Visual Studio 2010.

    eb

    Figura 8. Expression Blend 4.

    App Hub

    Os aparelhos com o Windows Phone 7 ainda não chegaram ao Brasil, o jeito é aguardar ou adquirir um aparelho importado, depois que você já preparou o ambiente de desenvolvimento e já está desenvolvendo aplicativos com a tecnologia Silverlight ou XNA, você vai querer testar o aplicativo no próprio aparelho e ainda começar a ganhar dinheiro enviando sua aplicação para o Windows Phone Marketplace, o Windows Phone Marketplace é onde você pode testar e comprar aplicativos, jogos, músicas para o seu Windows Phone 7.

    O Windows Phone Marketplace já está aberto para que os desenvolvedores possam enviar seus aplicativos, para que você possa criar aplicações e vender no Marketplace você vai precisar desbloquear o equipamento e criar uma conta no site App Hub, vamos ver agora passo a passo como realizar esse procedimento.

    1. Acesse o site http://create.msdn.com/en-US .
    2. Clique em Sig-in .
    3. Entre com o seu Window Live ID .
    4. Selecione o tipo de conta: Company (Empresas), Individual (desenvolvedor individual) ou Student (estudante que participa do projeto DreamSpark) .

    As contas do tipo Company e Individual tem um custo anual de $99, se você é estudante, participe do projeto DreamSpark, atualmente o Dreamspark é a única forma de participar do App Hub sem custos, no meu caso eu selecionei um conta de desenvolvedor individual.

    Figura 8. Tipo de conta no App Hub

    5. O próximo passo é digitar algumas informações pessoais como nome, endereços e email, no campo Publisher Name, você informará o nome que aparecerá no Windows Phone Marketplace.
    6. Selecione a imagem que será apresentada quando você participar de fóruns do App Hub.

    Figura 9. Imagem que será apresentada nos fóruns.

    7. Se você não selecionou o tipo Student (Dreamspark), será necessário pagar uma taxa anual para enviar aplicativos para o Windows Phone Marketplace, está disponível atualmente o pagamento via cartão de crédito VISA e MASTERCARD.

    8. A última etapa e a confirmação do email e de sua identidade, no caso da conta individual, ambos são feitos por e-mail. Você receberá uma e-mail alguns dias após o cadastro para validar a sua identidade, no caso de desenvolvedor individual é necessário enviar uma cópia da sua carteira de motorista ou passaporte.

    Figura 10. Conclusão do cadastro no App Hub.

    Na página do App Hub, no link Devices, aparecerão os aparelhos que você vai desbloquear e poderá realizar o deploy no Visual Studio 2010 antes de publicar no Windows Marketplace. 

    Zune

    O Zune é o software que irá fazer a sincronização da sua aplicação no Visual Studio 2010 e o equipamento, para mais informações sobre o Zune veja no blog do MSDN.

    Faça o Download da última versão do Zune no site oficial.

    Desconecte o seu aparelho do computador, caso esteja conectado, feche todos os aplicativos abertos e inicie a instalação, a primeira etapa é aceitar a licença do ZUNE, em seguida o software é instalado. Quando você receber a mensagem de “INSTALAÇÃO DO SOFTWARE DO ZUNE CONCLUÍDA”, clique em fechar, uma tela será apresentada com as etapas de configurações do ZUNE, a primeira configuração e a tela abaixo onde você vai inserir o nome que o equipamento vai ter no software do ZUNE, no equipamento e no site.

    Figura 11. Nome do telefone no ZUNE

    Conecte o seu celular via USB e deixe o windows realizar a instalação dos drivers, agora você já tem o seu aparelho sincronizado com o ZUNE.

    Figura 12. Dados do aparelho sincronizado

    Registrando o aparelho no Windows Phone Developer

    Este é o último passo antes de você iniciar o deploy com o Visual Studio 2010 e enviar sua aplicação ao Marketplace, vamos agora registrar a conta como desenvolvedor, no menu iniciar do Windows, localize o menu Windows Phone Developer Tools e clique em Windows Phone Developer Registration.

    Figura 13. Registro de desenvolvedor

    Deploy no Visual Studio 2010

    No menu do Visual Studio 2010, localize o combo onde está escrito Windows Phone 7 Emulator e altere para Windows Phone 7 Device, selecione o projeto no Solution Explorer do Visual Studio com o botão  direito do mouse e clique em deploy. O Zune deverá sempre estar ativo para realizar a sincronização com o equipamento.

    Deploy

    Figura 14. Deploy no Visual Studio 2010

    Conclusão

    imagesCAZ3EAMH

    Com a evolução dos aparelhos de celulares e smartphones, o mercado mobile está crescendo assustadoramente a cada ano, os novos equipamentos estão recheados de novos recursos e com isso a necessidade de que tenha um sistema operacional capaz de aproveitar ao máximo tudo que as novas tecnologias estão oferecendo, é neste cenário que a Microsoft apresenta o seu Windows Phone 7.

    O Windows Phone Marketplace está recheado de aplicativos e games, o potencial do sistema operacional da Microsoft é muito positivo, particularmente eu acho o sistema operacional fantástico e de incrível liberdade de desenvolvimento para os desenvolvedores .net, principalmente pela produtividade e pelo fato de aproveitar os conhecimentos já adquiridos em C#, Visual Basic, XNA e Silverlight, enquanto o Windows Phone ainda não está disponível aqui no Brasil , podemos criar aplicações com as ferramentas gratuitas da Microsoft.

    Links Interessantes:

    WP7_fundohttp://winphoneblog.com.br/ 

    http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners

    http://www.devmedia.com.br/post-17986-Windows-Phone-7-e-Silverlight-4.html

    http://www.charlespetzold.com/phone/

    http://www.devmedia.com.br/post-18740-Animacoes-no-Windows-Phone-7.html

    http://blogs.msdn.com/b/jpclementi/archive/2011/02/02/links-mais-importantes-para-o-windows-phone-7.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+clementi+%28Falando+de+novidades+e+tecnologias+Microsoft%29

    http://www.microsoft.com/showcase/en/us/related?video=bda22419-a49e-4ef6-973d-f9c6d59aa525

    FAQ

    « Entradas anteriores | Entradas recentes »

    ACERCA

    O que é o RedeRIA ?

    O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

    Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

    Feed: assine já
    Twitter: siga-nos

    GOOGLE

    Votação


    Deveria o RedeRia agregar conteúdo em inglês?
    Ver Resultados

    AUTORES


    Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

    PUBLICIDADE








    Powered by Wordpress & msdevstudio.com