Arquivo da tag: api

Primeiro beta do WordPress 3.4 é liberado

Fonte: IMasters

Com informações de The H

O primeiro beta da versão 3.4 do WordPress foi liberado. A versão é voltada para testadores e inclui melhorias na busca e na seleção de temas, assim como um novo personalizador de temas com o previewer.

Agora, usuários podem selecionar headers personalizados e imagens de background a partir da Media Library, e a personalização do tamanho dos headers ficou mais flexível. Outras mudanças incluem melhorias na internacionalização, melhor desempenho da WP_Query e suporte para instalar temas filhos através do Themes Directory. Além disso, foram adicionadas uma API para registrar suporte para temas para cabeçalhos personalizados e backgrounds, e uma API XML-RPC para aplicativos externos e móveis.

O primeiro beta, de acordo com o cronograma, será seguido de dois betas e dois release candidates, com a versão final esperada para 18 de abril.

Mais detalhes sobre o primeiro beta do WordPress 3.4 podem ser encontrados no anúncio de lançamento. Ele está disponível para download no site do projeto. Aqueles dispostos a testá-lo são encorajados a fornecer feedback e a reportar bugs.

Criando aplicativos móveis com PHP

Texto original: http://phpadvent.org/2010

Fonte: BlogdoExpert

Há um bom tempo, o PHP era a escolha óbvia para as necessidades de todo programador. Ele estava disponível em todos os servidores web virtuais, tinha excelente documentação, e conseguia lidar com todas as necessidades dos programadores. Essas coisas são ainda mais verdadeiras hoje, e o PHP ainda é o middleware de escolha da maioria dos profissionais da área. No entanto, o uso do PHP mudou nos último anos.

Durante uma solicitação típica de página, o PHP fazia coisas como começar uma sessão, consultar um banco de dados, processar alguns dados, e, finalmente, gerar uma tonelada de métricas de HTML que seriam retornadas para o browser do usuário. Em outras palavras, toda a interface do usuário era gerada no lado do servidor pelo PHP. Ocasionalmente, era possivel incluir o prototype.js ou jQuery para fazer um pouco de validação de formulário, ou uma lista dropdown com um campo para “auto-completar”.

Mas então veio o iPhone…

Em 2007, o iPhone deu início a uma onda de interesse em computação móvel. Como milhares de desenvolvedores maravilhado por aquele pequeno dispositivo mágico que colocou a web no bolso de muita gente. Sempre conectado, navegadores excelentes, interação de toque intuitiva – é de fato incrível, e todos queriam entrar nessa de cabeça.

Quando o iPhone foi anunciado pela primeira vez, Steve Jobs pediu ao desenvolvedores terceirizados que construíssem aplicativos web se eles quisessem programar para o iPhone.

Claro que Jobs acabou voltando atrás menos de um mês depois, com o anúncio do Cocoa Touch e a iTunes App Store. E a guerra santa entre “web apps” e “apps nativos” nasceu.

E o que isso tem a ver com PHP?

Felizmente, agora temos a convergência de novas tecnologias que tornam a construção de web apps – móveis e outros – muito mais fácil.jQTouch, Sencha Touch, e mais recentemente, jQuery Mobile tornaram a vida mais fácil para escrever JavaScript para browsers móveis. O CSS3 nós dá transformações, transições e animações que nos permitem facilmente adicionar efeitos visuais sofisticados. E, mais drasticamente, o HTML5 define uma enorme quantidade de novos recursos  —  geolocalização, canvas, sockets, workers, armazenamento de dados do lado do cliente, suporte a cache offline da aplicação, cross-origin resource sharing, e por aí em diante.

Como resultado,muitas pessoas podem criar suas próprias UI com HTML estático, CSS e documentos JavaScript que conversam com uma API do lado do servidor construída com PHP. Esta abordagem baseada em API pode minimizar, de fato, a quantidade de dados enviados através do fio, porque é possível esconder os arquivos estáticos localmente, e somente requisitar atualizações de dados relativamente pequenos do PHP (normalmente na forma de JSON). Isso também tem grandes vantagens secundárias. Aqui estão as três maiores:

1. Divisão de trabalho:

Uma vez que você tem configurado uma API do lado do servidor, você pode facilmente ter seu trabalho de design do aplicativo no front end sem saber o mínimo de PHP, linguagens de templates, ou qualquer outra tecnologia do lado do servidor. Você não tem nem que dar acesso ao servidor para o designer – ele pode codificar contra a API com os arquivos no seu desktop.

2. Clientes múltiplos

O cenário da informática está sob massivo crescimento e transformação. Estamos vendo telas tão pequenas quanto cartões de credito, e tão grandes quanto um outdoor. E está acontecendo também uma grande separação entre dispositivos que suportam entrada de toque, de mouse e, em menor número, de voz.

Diferenças no tamanho físico, modos de interação e capacidades do dispositivo exigem que forneçamos experiências otimizadas ao usuário para o terminal em questão. Expor uma API do lado do servidor, construída em PHP, possibilita o suporte a clientes front end, sejam eles clientes menores, construídos em HTML, CSS, e JavaScript, ou maiores, construídos com frameworks nativos.

Os benefícios dessa abordagem têm sido demonstrados pelo Google, Yahoo, e, talvez, mais dramaticamente pelo Twitter, que documentou e lançou uma API simples para a comunidade de desenvolvedores. Graças a isso, todos os clientes do Twitter encontraram seu caminho no mundo digital. Começando com uma API que permite esse tipo de flexibilidade, que parece infinita, certamente ela contribuiu imensamente para a aceitação do Twitter.

3. À prova do futuro

O cenário da informática está evoluindo e é muito difícil prever o que vem a seguir. Muitas pessoas inteligentes estão trabalhando em novas tecnologias que irão mudar a maneira com que interagimos com computadores, e mais importante, um com o outro. Tudo, desde projeções holográficas de eventos de esporte ao vivo, até entradas das ondas cerebrais dos usuários estão em jogo. A melhor maneira de se manter flexível à vista de novos desenvolvimento é fornecer uma API robusta para lidar com o máximo do levantamento do back end possível.

Comece com sua API

Para trabalho web front end, você vai querer se familiarizar com a nova maravilha que é o HTML5 e o CSS3, e mais importante, aprender JavaScript! É uma sintaxe muito parecida com PHP e ela deveria parecer bem familiar para você (existe até um artigo do PHP Advent sobre isso). No entanto, existem muitas diferenças importantes entre PHP e JavaScript que você realmente precisa entender antes de se auto intitular um especialista. O livro JavaScript: The Good Parts, de Douglas Crockford é recomendado. Se você programa para a web, deve lê-lo.

Para finalizar, nunca houve um momento melhor para ser um desenvolvedor web. A convergência de uma conectividade ubíqua, serviços de cloud e telas de toque interativa estão criando um ambiente onde qualquer um pode construir experiências do usuário convincentes que tenham um alcance massivo com uma barreira de entrada muito pequena. Então volte para seu editor de texto e comece a codificar.

Nova API JSON padrão para Java será desenvolvida

Uma nova interface Java para processamento de dados no formato JSON foi aprovada pela Java Community Process (JCP) como uma Java Specification Request (JSR).

Com 10 votos a favor e 6 abstenções, o comitê executivo votou a favor do JSR 353, que, primeiramente, tem como objetivo ser a base para o desenvolvimento padronizado para futuras APIs JSON e vai permitir que aplicativos sejam menores e mais portáveis por não terem o pacote existente nas bibliotecas JSON.

A proposta planeja capacitar a produção e o consumo do texto JSON, em um estilo semelhante ao da API StAX usada para XML. Além disso, ela está focada na produção de um modelo de objeto e de uma API para texto JSON, em um estilo semelhante ao da API DOM para XML.

O pedido aponta especificamente que ligar o texto JSON a objetos Java, e vice-versa, não é a meta da especificação. Os desenvolvedores afirmaram que pretendem integrar o JSR 353 no Java EE 7, assim como oferecer uma variante independente para o for Java SE 6 e superior.

O SouJava, grupo de usuários brasileiros, votou a favor do JSR e comentou favoravelmente a respeito do trabalho da especificação, liderado por Jitendra Kotamraju, que, segundo eles, já demonstrou sua habilidade em envolver desenvolvedores a partir da comunidade mais ampla. A IBM também se manifestou e afirmou que seu voto a favor do JSR foi exclusivamente baseado nos méritos técnicos do JSR 353.

Com informações de The H

Fonte: IMasters

WordPress 3.3, de codinome Sonny, é lançado

O WordPress 3.3 foi liberado ontem. De codinome Sonny, em homenagem ao saxofonista Sonny Stitt, a versão 3.3 do CMS adiciona várias funcionalidades e melhorias relacionadas à experiência do usuário e navegação, entre outros.

A nova versão traz um novo uploader de mídia em HTML5, que usa o Plupload, um manipulador de upload open source que inclui funcionalidades de arrastar e soltar. O Plupload tem métodos de reserva, incluindo Flash e envio padrão para navegadores que não suportam HTML5.

Outras mudanças incluem a adição de um novo importador do Tumblr, e melhorias no suporte para coedição e na performance em geral.

Para desenvolvedores, o WordPress lançou um novo editor de API, uma nova versão do jQuery e melhorias no Codex, entre outras novidades.

Mais detalhes sobre o WordPress 3.3 podem ser encontrados nas notas de lançamento e no change log. A nova versão está disponível para download a partir do site do projeto.

Com informações de The H

Fonte: IMasters

Heroku lança serviço de provisionamento exclusivo para PostgreSQL

A Heroku mudou a estratégia do seu serviço Heroku Postgres. A partir de agora o serviço provê uma infraestrutura para armazenamento de bases de dados PostgreSQL, independente da solução PaaS (Platform as a Service) utilizada. O Heroku Postgres é uma plataforma disponibilizada com o conceito SQL Database-as-a-Service; a proposta é que os desenvolvedores implementem suas aplicações com o PostgreSQL sem se preocupar com questões como disponibilidade e desempenho, uma vez que estas serão resolvidas pela própria infraestrutura do Heroku.

O Heroku Postgres foi disponibilizado em 2007, mas até agora era oferecido somente como um serviço agregado à plataforma de nuvem da Heroku. O serviço estava disponível apenas para os clientes que desenvolviam e implantavam suas soluções web utilizando o PaaS da empresa. Com a nova estratégia, desenvolvedores têm a opção de utilizar o serviço em conjunto com a plataforma de cloud computing da Heroku ou não. Isso possibilita o desenvolvimento utilizando outra solução PaaS, um ambiente de cloud diferente, ou até utilizando um máquina local.

Segundo a equipe da Heroku, as principais vantagens em utilizar o serviço são a disponibilidade e a capacidade de processamento, além da segurança dos dados:

O Heroku Postgres tem suportado com sucesso 19 bilhões de transações clientes diariamente. A segurança e a durabilidade dos dados são a prioridade número um do serviço. Um conjunto de tecnologias chamado Continuous Protection foi desenvolvido para evitar qualquer tipo de perda de dados, mesmo em caso de falhas catastróficas.

Atualmente são oferecidas seis opções de planos para contratação do serviço. Os preços variam de acordo com o tamanho do cache escolhido, começando em 200 dólares por mês e chegando a US$ 6.400 mensais. Todos os planos incluem backup dos dados, monitoramento 24×7, 2 terabytes de espaço em disco, entre outras funcionalidades.

O Heroku Postgres também fornece uma API para que os clientes utilizem o serviço através da linha de comando ou via website. Para os interessados em mais detalhes, foi disponibilizado material com um guia introdutório, documentação detalhada, tutoriais e artigos sobre o serviço.

Fonte: Eder Magalhães/InfoQ

Google App Engine 1.6.0: Graduação oficial e mais novidades

Após três anos e meio do lançamento da plataforma, o Google AppEngine deixa de ser um produto ‘preview’ e passa a ser completamente suportado pelo Google. O crescimento da plataforma neste tempo foi excepcional. Estatísticas atuais dão conta de mais de 100 bilhões de requisições por mês, 300 mil aplicações em execução e acima de 100 mil novos desenvolvedores adicionados mensalmente. Ficam claros, portanto, o sucesso e a necessidade de investimentos a longo prazo no GAE.

Com a nova versão 1.6.0, oficialmente será adotado o novo modelo de cobrança, conforme anunciado em maio; também foram publicados os documentos termos de serviço e política de uso, e há uma SLA de 99.95%.

E a nova versão traz um conjunto de novas funcionalidades:

  • Min Idle Instances: Agora você pode ajustar o número mínimo de instâncias da sua aplicação que ficarão em execução(de 1 a 100).
  • Max Pending Latency: Aplicações que necessitam de menor latência no acesso, agora podem configurar por quanto tempo uma requisição irá aguardar para ser atendida antes de iniciar uma nova instância da aplicação.
  • Python 2.7: Agora o SDK suporta também esta versão do Python; assim se pode testar aplicações localmente contra a versão 2.7, antes de publicá-las em produção.
  • Map Reduce (Python): Foi liberada uma versão experimental de um framework de Map Reduce, que inclui as fases Map, Shuffle e Reduce
  • Memcache API (Java): A API de memcache agora suporta chamadas assíncronas também para a plataforma Java.
  • Datastore Callback (Java): Pode-se agora especificar ações a serem executadas antes e depois das operações de put e delete no Datastore.
  • Blobstore API: Não será mais necessário habilitar a cobrança de sua aplicação para utilizar a API do Blobstore

Todas as funcionalidades e correções podem ser acompanhadas para ambas as plataformas nas notas da versão, para Python e Java.

Fonte: Rafael Nunes/InfoQ

JQuery 1.7

A última versão do framework JavaScript jQuery, versão 1.7, trás a maneira fácil para desenvolvimento com JavaScript. O uso da nova API é recomendada, porém os antigos métodos continuarão funcionando por um período mínimo.

Foi aprimorado o desempenho na manipulação de eventos delegados; esta mudança é baseada no exame do código cruzado do Code Search da Google e através de observação de como os seletores são usados. Onde foi otimizado os eventos delegados na metade do tempo em comparação ao jQuery 1.6.4.

Outras mudanças considerável foi um desempenho melhor para o HTML5 para os browsers IE6, IE7 e IE8, animações com comportamento mais intuitivo, suporte a API Asynchronus Module Definition (AMD API), melhorias ao jQuery.Deferred e a adição da função jQuery.isNumeric().

Os desenvolvedores também removeram as propriedades event.layerX e event.layerY e os metódos não documentados jQuery.isNaN() e jQuery.event.proxy().

Download no link abaixo:

Fonte: Alex/Bitmasters

Como activar a API do FeedBurner

A activação da API do FeedBurner é crucial para quem quer aceder às informações do seu Feed RSS, como o número de leitores (tal como temos aqui no site, no topo à direita). Também são muitos os templates do WordPress ou Joomla, que já têm integrada essa funcionalidade, mas se a API não estiver activa, não funciona (por defeito a API está inativa).

Através de imagens, vamos mostrar os passos para ativar a API.

Depois de efetuar o Login no FeedBurner, entramos na administração, que deverá ser algo como o seguinte:

O passo seguinte será entrar na gestão do Feed que desejamos, e clicar em “Publicize“. Vai então aparecer um menu à esquerda com várias opções, e temos que escolher “Awareness API“. A imagem seguinte será já dentro do Awareness API:

Basta agora clicar em “Activate” e já poderá utilizar a API.

Fonte: Bruno Miguel/phpportugal

Sete virtudes do Desenvolvimento Direcionado por Testes (TDD)

Não me entenda mal, este não é mais um artigo do tipo “você deve praticar TDD porque…”. Meu objetivo é atingir aqueles que desejam iniciar nisso, mas precisam de um guia sobre como tirar o máximo benefício dele e evitar desastres típicos. Diferentes tipos de testes (e práticas de testes) fornecem benefícios diferentes, e eu pensei que talvez eu pudesse escrever algo a que você possa se referir de tempos em tempos. Portanto, estas são as virtudes prometidas, em ordem cronológica.

01. Testes te ajudam a criar o design da API da sua classe

Você pode ter ideias elaboradas sobre seus métodos e propriedades, mas os usuários que de fato usam suas coisas pensam diferente. Seja o primeiro usuário da sua classe antes de escrevê-la, e você a deixará pronta e correta antes que qualquer pessoa a veja.

02. Testes te ajudam a criar o design da arquitetura do seu sistema

Você acha que é inteligente. Aqueles diagramas DML deixam sua mãe orgulhosa de você. Até você voltar para o seu app depois de um ou dois anos e ter que fazer algumas mudanças. Você descobre alguns métodos LOC 2000, statements goto, e até procedimentos armazenados. Meu Deus, que bagunça!

Não existe prova rigorosa, mas várias fontes nos dizem que designs direcionados para testes são muito mais flexíveis e sustentáveis. Existem muitos motivos para acreditarmos nisso, o que vale até um artigo separado.

De qualquer maneira, se você parar de fingir que é a prova de falhas, e começar a escutar os seus testes, você poderá melhorar o seu design além dos seus sonhos mais improváveis. Isso é considerado o maior benefício do TDD, apesar de não ser óbvio desde o início, pois isso não está diretamente relacionado a testes.

03. Testes te ajudam a implementar os membros da sua classe

Direcionado a testes, seu método eventualmente se torna a coisa mais simples do mundo que funciona. A maior parte do que dissemos acima se aplica ao design no nível de membros também.

04. Com testes, você tem certeza de que sua aplicação ainda vai funcionar corretamente depois que você mudá-la

Depois de fazer uma pequena mudança à implementação subjacente de um certo recurso menor, você testa manualmente todo o sistema… ou seus usuários finais fazem isso por você. De qualquer maneira, você passa o fim de semana tentando entender os dados corrompidos de um backup que você fez acidentalmente alguns dias atrás (não estou inventando isso, realmente aconteceu comigo!).

Testes, quando feitos apropriadamente, podem ser uma rede de proteção que te protege de acidentes infelizes. Você pode refatorar seu código livremente com o objetivo de melhorar o seu design, sem ter medo de introduzir um bug de regressão.

05. Testes documentam a sua API

Ao estruturar seus testes em volta de classes (o que não é a melhor ideia, mas é ok para começar), você pode olhar para um teste em particular e compreender o que o método correspondente faz. Isso é, se o teste estiver nomeado e escrito devidamente.

06. Testes documentam o seu sistema

Isso não quer dizer a mesma coisa que o falado no tópico anterior. Ao olhar para um sistema novo, estou tentando entender como fazer as coisas com ele, não o que uma classe em específico faz. Portanto, ao estruturar os seus testes em volta de recursos do sistema, você fornece uma boa maneira para documentar seu comportamento, “como usar o recurso x” e “o que acontece se eu de fato usá-lo”.

Já deram sete?

Se você souber de outros benefícios, por favor, escreva-os nos comentários!

Ok, e agora?

Espero que você não use o TDD só porque te falaram para usar, mas porque você quer tirar vantagens dele. Agora que você conhece esses benefícios, você não os usa cegamente. Você tenta escrever seus testes de modo que eles deixem a refatoração mais fácil, não difícil. De modo que eles de fato influenciem seu design, e não o contrário. De modo que eles sejam fáceis de entender, e façam com que você compreenda o sistema mesmo se for um completo estranho.

Como você consegue isso? Ah, isso é outra história.

Texto original disponível em http://ivonna.biz/blog/2011/6/10/seven-virtues-of-test-driven-development.aspx

Fonte: IMaster

Documentação online da API do LibreOffice está disponível

Um dos resultados do Munich 2011 Hackfest para o LibreOffice agora está disponível: a documentação online da API do LibreOffice.

Durante os três dias do evento, que aconteceu entre 2 e 4 de setembro, os desenvolvedores produziram uma versão online da já existente documentação. A novidade facilitará a navegação de potenciais novos contribuidores no código do LibreOffice.

A documentação cobre toda a documentação da API do LibreOffice 3.4, instruções de instalação do build, documentação para o tempo de execução do Java UNO e para tempo de execução de sistemas C++ UNO, além de uma visão geral das ferramentas de desenvolvimento do UNO.

Outras novidades incluem melhorias no filtro de importação Visio, siporte para RTF e correção de bugs para Calc.

Fonte: IMaster

PyPy 1.6 implementa Python 2.7

O PyPy anunciou o lançamento da versão 1.6 do seu interpretador Python integrado com rastreamento Just-in-Time (JIT). De acordo com os desenvolvedores, a versão implementa totalmente o Python 2.7.1, além de trazer maior velocidade e melhorias na estabilidade.

Com o codinome “Kickass Panda”, o PyPy 1.6 está 30% mais rápido que a versão anterior e vem com melhorias de desempenho, que incluem maior rapidez no tempo de aquecimento JIT e melhor funcionalidade do Garbage Collector.

A ferramenta web-based JitViewer está incluída para ver quais partes do código foram compiladas utilizando JIT. O módulo de extensão API para CPython, o intérprete padrão C para Python, agora inclui suporte para outras extensões.

Fonte: Under-Linux