WordPress AS3 API Preview

Bom, quem me tem seguido no twitter já me viu falar de um projecto bem interessante que estou a fazer. Trata-se da implementação do XMLRPC do wordpress em Action Script que permite a administração remota do wordpress, principalmente focada no flex (adobe air), mas também funciona com o flex na sua versão “web” e futuramente no flash CS (as3).  Existiam algumas implementações deste tipo, mas nenhuma tirava partido a 100% do xmlrpc e todas são baseadas numa libraria não comercial que implementava o XMLRPC, então decidi não só criar a minha implementação como cria-la independentemente de qualquer libraria externa, e finalmente posso afirmar que esta primeira fase (o SWC) está pronto e 100% com código proprietário, digo, com recurso apenas ao meu código.

Este primeira fase faz parte de um grande projecto comercial que tenho em mente e que ainda vai demorar para dar a cara, mas com certeza vai ser muito util e vai ser uma novidade no mercado. Por enquanto ainda em fase de acordos, e apenas por isso não poderei divulgar muito mais, apenas comentei com o meu caro amigo Vedovelli que ainda me deu mais força para continuar o projecto…

Bom, esta API (SWC) está disponivel para testes, mas como vai ser parcialmente comercial apenas a posso disponibilizar moderadamente consoante algumas licenças. Quem quiser testar esta api pode fazer o pedido aqui http://msdevstudio.net/wpas3api/preview/.

A documentação (ASDOC) pode ser encontrada aqui: http://msdevstudio.net/wpas3api/docs/

O swc não têm qualquer limitação, e implementa por completo a interface xmlrpc do wordpress, que inclui as funções seguintes:

getAuthors, getCategories, getCategoriesSuggest, getComment,
getComments, getCommentsOfPost, getCommentsStatusList, getOptions,
getPages, getPageSingle, getPageStatusList, getPageTemplates, getPosts,
getPostsStatusList, getRecentPosts, getTags, getUserInfo,
insertComment, insertNewPost, insertPage, newCategory, saveComment,
savePost, setOption, updatePage, uploadFile, deteleCategory,
deleteComment, deletePage, deletePost.

Ainda conta com mais algumas funções, mas podem descobrir mais informações na documentação e testando a própria api.

Bom, espero o vosso feedback se estiverem dispostos a testar o projecto.

Abraço.

Sem Comentarios |Tags: , , , , , , , , ,

Flash Deeplinking, SEO & Alguns Projetos

Bem, antes de mais as minhas desculpas, tenho andado meio ausente com bastante trabalho antes de ir de férias… mas bom..

Hoje vou falar de um projecto que terminei recentemente para o grupo medsynergies baseado no Texas, US. Este projecto consistiu na criação de um blueprint, para quem não sabeMedSynergies Blueprint o que é, trata-se de uma planta/plano do edifício que na sua origem é feita por arquitectos num papel especifico para apresentação detalhada de toda a estrutura fisica do projecto. (veja a imagem ao lado) Inicialmente pareceu-me um projecto simples, mas após algumas conversas cheguei à conclusão que não era bem assim. Todo o layout foi importado do illustrador e animado consoante as necessidades.

O projecto passava por criar esta bluprint navegável, passível de ser seleccionada,  carregar todas as informações e cores de um xml e ainda possibilitar a abertura do blueprint em determinada sala, isto via url/link.

Bom, todo o projecto decorreu sem problemas, e o que curiosamente se tornou mais dificil de encontrar foi um sistema lightbox capaz de carregar flash e receber parametors ao mesmo tempo, mas lá acabamos por encontrar a solução.

Este sistema usar deeklinking, que apesar de no flash ser possivel usar anchors para deeplinks, no meu caso não me servia de nada porque quase todo o projecto foi feito em action script, dái a necessidade de usar o conhecido sistema que passa pela utilização do External Interface. O seu uso e implementação é super simples, basta 2 pequenas funções em javascript leia mais »

2 Comentarios |Tags: , , , , , , ,

Eclipse / Flash/Flex Builder 3/4 – Multiplos Workspaces

Bom, tenho estado a migrar os meus workspaces do Flex Builder 3 e Flash Builder 4 para o dropbox (que nos permite a sincronização dos nossos ficheiros online, acabando assim com as pen’s USB ou discos externos) que se comportou lindamente…todos os meus workspaces de casa, trabalho, laptop estão sincronizados… e ainda consigo aceder a eles no meu nexusone (android) e inclusive fazer pequenas alterações, adicionar, alterar ou apagar arquivos ou dados…

Mas a minha dica é outra… no trabaho não convem eu ter misturadas as coisas, então eu queria usar ambos os workspaces no Flash Builder, mas de forma separada… ou seja, poder ter os 2 workspaces sem ter que andar a altera-los cada vez que inicio o Flash Builder… e então? como fazer isto?

A nivel de plugins para o eclipse (para quem nao sabe o flash builder é baseado no eclipse) não encontrei nada, então cheguei a uma solução bem facil… façam uma cópia do atalho do Flash Builder 4 e coloquem como argumento no executável o seguinte (propriedades): -data “c:\caminho\para\o\outro\workspace” e desta forma podemos ter um segundo atalho para outra instancia do flash builder que automaticamente carrega o segundo workspace… eu por exemplo tenho 2 atalhos: Flash Builder 4 Work e Flash Builder 4 Home, desta forma posso trabalhar nos 2 em qualquer lado sem necessidade de os ter misturados ou andar a seleciona-los de cada vez que inicio o flash builder…

É uma dica simples, mas que me foi muito util!

Sem Comentarios |Tags: , , , ,

“Write Once, Deploy to many!” – Flex4 + Air + Android

Bom, esta frase nunca teve tanto sentido, e vou passar a explicar o porque! Neste artigo vou explicar como criar uma aplicação em Adobe Flash Builder 4 (Flex4) e distribui-la para o Android, e inclusive corre-la no proprio dispositivo… este processo à algum tempo parecia impossivel, mas agora é muito facil… até tive uma discussão bem agradavel com o Janderson que estão a abri-se novas portas e aguardem que ele vai lançar ainda mais dicas na sua palestra do flexmania, não faltem!

Claro que foi preciso alguma investigação e uma ou outra ferramentas para reduzir o trabalho, mas no final temos a mesma aplicação a correr com applicação Desktop, Web e Mobile sem qualquer alteração de código, apenas com atenção a um ou outro elemento.

No momento é altamente recomendado que não usem isto para aplicações finais, porque as suas limitações e alterações no futuro podem ser muitas requerendo por completo a recompilação da aplicação com outro SDK, mas nada de grave… como é apenas para provar a teoria de que o flex já funciona no AIR dos dispositivos Android sem necessidade da tão esperada Framework Slider, aqui vamos.

Primeiro o que é necessário ter instalado na sua maquina.

1. Flash Builder 4 Instalado, podem fazer download aqui: http://www.adobe.com/products/flashbuilder/, podem escolher o trial, e se forem estudantes ou desempregados a licensa é gratuita, vejam aqui.

2. AIR SDK 2.0, podem fazer o download aqui: http://labs.adobe.com/downloads/air2.html

3. AIR SDK 2.5, actualmente apenas em pre-release, registem-se no programa aqui. Depois do registo e do login, podem fazer o dowload do SDK 2.5 (para o android 2.1 Eclair, o download deve ser da release datada do 04/06 2010, a ultima release apenas funciona no Android 2.2 froYo).

4. Package Assistant Pro, a aplicação que poupa algumas dores de cabeça de volta da linha de comandos com o compiler manual do SDK. Esta é a aplicação que torna tudo muito mais facil, acreditem! (Por vezes os antivirus ficam meios loucos com este ficheiro, se for o caso desliguem o antivirus antes do download e instalação.)

Depois disto instalado, leia mais »

7 Comentarios |Tags: , , , , , ,

Revolução de Maio! Adobe & Google

Bom, o titulo é quase uma brincadeira, mas depois de lerem com atenção vão com certeza dar mais valor a este mesmo titulo.

O mês de maio trouxe muitas novidades, principalmente pelas duas empresas que parecem entender-se às mil maravilhas… numa guerra virtual de domínio de mercado, a Adobe e o Google parecem ter dado as mãos para revolucionar o mercado, não só das plataformas móveis mas também de um dos maiores mercados mundiais, as TV’s.

A  Adobe, que já no mês passado nos tinha presenteado com a Creative Suite 5, este mês veio finalmente, e juntamente com o evento Google IO, anunciar a tão esperada versão do Adobe AIR 2.5 e do Flash Player 10.1 para dispositivos móveis que utilizem Android 2.2. Claro que era de esperar o anuncio e lançamento da versão oficial do Android 2.2, mas apenas o anuncio aconteceu, o lançamento ficou ainda adiado… coisa que estranhamente não foi de acordo com o lançamento do flash player 10.1 no android market… ou seja, o flash já está no android market do Android 2.2, mas curiosamente o Android 2.2 Ainda não foi lançado… isto sõ pode provar que o android 2.2 deve estar mesmo à porta do seu lançamento… mas vou confessar, como proprietário de um Nexus One (Muito provavelmente o primeiro a receber o android 2.2), estou a ficar cansado da espera… não tanto para testar as muitas novidades do Android 2.2, mas sim para finalmente testar o flash 10.1… enfim… vou ter que esperar…

Olha aí o video do android 2.2

Ora, este lançamento do flash para dispositivos móveis, apesar dos mais cépticos vai ser um grande avanço no mercado, com cada vez mais dispositivos android a serem lançados, de entre tablets, smartphones, leitores MP3/MP4 e agora também o recente anuncio da Google TV, a plataforma flash entra numa nova era de distribuição de conteúdo por outros mercados, atingindo cada vez mais pessoas e principalmente um mercado inexistente até agora… Este crescimento exponencial vai alargar a comunidade de programadores, designers e desenvolvedores e principalmente gerar muito emprego nesta area… arrisco-me a dizer que esta nova etapa do flash vai gerar muitas novas oportunidades e com certeza grandes negócios serão feitos.

A politica do “Write Once, Deploy to Many” nunca fez tanto sentido… leia mais »

1 Comentario |Tags: , , , , , , ,

Flash, não se deixe enganar!

Depois das aguas mais calmas, começam a aparecer algumas novidades, e com a entrada no mercado do flash 10.1 e Air 2.0 para mobile a névoa começa a dissipar-se e a serem revelados alguns promenores simplesmente fantasticos, mas no entanto venho aqui falar de um video que vai simplesmente arrasar com as declarações do Steve Jobs, que como disse anteriormente, não foi devidamente informado de alguns pontos que falou, especialmente este:

Fifth, there’s Touch.

Flash was designed for PCs using mice, not for touch screens using fingers. For example, many Flash websites rely on “rollovers”, which pop up menus or other elements when the mouse arrow hovers over a specific spot. Apple’s revolutionary multi-touch interface doesn’t use a mouse, and there is no concept of a rollover. Most Flash websites will need to be rewritten to support touch-based devices. If developers need to rewrite their Flash websites, why not use modern technologies like HTML5, CSS and JavaScript?

Even if iPhones, iPods and iPads ran Flash, it would not solve the problem that most Flash websites need to be rewritten to support touch-based devices.

Bom, nada melhor que uma resposta à altura (dada pelo Lee Brimelow ) da falta de informação do Steve Jobs:

Assim ficamos um pouco mais esclarecidos….

 

 

5 Comentarios |Tags: , , , , ,

Pensamentos de um #adobe & #flash lover!

Bom… antes de começar, acabo já por informar que o que vou expressar não é nada mais que a minha opinião, e desafio a quem não concordar que deixe os seus pensamentos…

Este post têm por objetivo falar um pouco da novela que têm andado por aí que começou com o ponto 3.3.1 dos Termos de Utilização do SKD para construção de aplicações para o iphone.

Este ponto veio literalmente acabar com os desenvolvedores que utilizavam algumas ferramentas intermédias para criar aplicações para o iphone, onde se encontra o iphone packager que à algum tempo foi disponibilizado para o flash cs5. Ora, esta alteração dos TOS pouco sai da linha de produtos da Apple, singulares, com prestigio, ótima qualidade e “Só compra quem quer”, e é nesta ultima que me quer aprofundar. Vou deixar alguns links que me chamaram a atenção ao longo deste artigo… recomendo vivamente a leitura…

Claramente esta atitude da apple tende a agarrar mais desenvolvedores à sua plataforma, mas também acabar com muitas das aplicações da Store e principalmente afectar muitas empresas que estavam ou estão a desenvolver para a plataforma usando linguagens diferentes e compilando-as para o iphone. Além do impacto financeiro negativo, tende ainda a isolar mais a plataforma e a simplesmente passar ao lado de muitos desenvolvedores “mobile”. Se eu posso ter uma aplicação em flash que pode ser lida com conteudo mobile (brevemente, android), web, desktop sem grandes alterações porque devo eu perder tempo e investimento numa plataforma isolada? Ou será que com o SKD do iphone podemos criar aplicações para web, desktop, e outros dispositivos mobile?!? Hum… bem me parecia…

Os custos para o meio empresarial não terminam aqui, o desenvolvimento para iphone vão ser muito mais elevados, com a sorte as empresas que desenvolvem para iphone, o desenvolvimento será “exclusivo” para uma unica plataforma. Os custos de investimento nas plataformas mobile serão muito mais elevados. Se eu quero um aplicação para mobile, terei então que recorrer a um projeto “iPhone” pagando todos os custos de raiz, e recorrer a outro projeto para outras plataformas voltando a pagar os mesmos custos para uma unica aplicação, ora.. isto aos olhos da Apple são coisas perfeitamente faceis de evitar, migrem o seu código para HTML5, plataformas abertas…à despesa. A solução disto tudo parece ser mesmo optar por aplicações online no caso de meios empresariais, já que (ao menos isso) a Apple parece apostar no html5.

Tudo isto em pouco afetou a Adobe, visto que além de reduzir os custos com novas versões do iphone packager, criou uma elegante e suave maneira de colocar o seu conteudo no iphone, usando o HTML5, com uma simples ferramenta para exportar o flash para HTML5 / Canvas.

Mesmo assim, grandes defensores e utilizadores da marca estão a abandona-la, o iphone está a deixar de ser “obrigatório” para os mercados e operadoras móveis, visto estarem a aparecer cada vez mais soluções capazes de ultrapassar em muito o iphone e a preços mais acessiveis.

Passemos à guerra anti-flash…. leia mais »

7 Comentarios |Tags: , , , , ,

Off – Novo Hosting e Problemas nos downloads

Bom, depois de quase uma semana necessária para migrar o blog, o forum e o projeto rederia para um novo serviço de alojamento recomendado pelo meu amigo Marco Rodrigues, finalmente posso descansar um pouco desta “simples” tarefa que no meio de projetos profissionais, pessoais e de familia se tornou bem mais complexa. Depois de uma semana e alguns dias a trabalhar com a hetzner posso afirmar que fiz uma excelente escolha, e embora abdicando de alguns “pontos” básicos dos alojamentos anteriores (dreamhost e lunarpages) acho que fiz uma excelente escolha já que o serviço até aqui têm sido fantástico. Aliás, penso que a diferença de velocidade se nota “enormemente”.

Bom, aproveito para informar todos os que tiveram alguns problemas a fazer downloads aqui do blog que infelizmente a plugin que usava para gerir os downloads foi descontinuada, e simplesmente não suportou a ultima versão do wordpress, se antes ela já funcionava com algumas limitações, agora no novo servidor literalmente deixou de funcionar devido a razões desconhecidas, e para não perder mais tempo à procura de uma solução, nada como aproveitar uma nova plugin para fazer esse trabalho, pelo que aí está! Todos os antigos downloads do blgo e artigos foram redirecionados para uma pagina downloads. Os downloads futuros serão disponibilizados “in-line” e também nesta pagina se for necessário.

Bem, acho que é tudo, vou aqui continuar a digerir todas as novidades desta sexta feira e a programar mais alguns posts, bem como preparar uma surpresa para breve.

Cumps.

2 Comentarios |Tags:

Tutorial Action Script 3 – 018

Em continuação a série de tutoriais sobre AS3…

Nesta parte do tutorial vamos usar todo o conhecimento passado nos exemplos anteriores para criar um explorador de efeitos e animações…

Começando…

6.9.1. Exemplo de explorador de efeitos / animações

Para o teste de todos estes efeitos, fiz uma class que extende um canvas e nos vai permitir testar todos estes efeitos. No flex criem um novo projecto chamado  testAS3Effects e criem uma pasta dentro da vossa raiz «src» com o nome «com» e dentro dessa uma outra com o nome «msdevstudio», depois criem uma nova class action script com o nome eff e coloquem o seguinte código dentro desse mesmo ficheiro… leia mais »

5 Comentarios |Tags: , , , , , , , , ,

Tutorial Action Script 3 – 017

Em continuação a série de tutoriais sobre AS3…

No ultimo tutorial falamos um pouco sobre efeitos, filtros movimentos, vamos nesta parte mostrar alguns exemplos dos mesmos efeitos, repetições, funçoes de animação, efeitos paralelos e sequenciais. Fade, Blur, Glow… Começando…

6.4. Efeitos, Exemplos e Easing Functions

Com estas funções e a com a ajuda de um eventListner podemos fazer um efeito bem agradavel de uma imagem a saltar infinitamente… vejam o código:

private var moveDir:String="Up";
private var customMove:Move = new Move();
 
public function customJump():void {
moveDir="Up"; //usado para saber o sentido da animação (up/down)
imagem.x=100;
imagem.y=100;
customMove.target=imagem;
customMove.yTo=imagem.y-50; //move 50px para cima
customMove.addEventListener(EffectEvent.EFFECT_END, doJump,false,0,true);
//no final de efectuar o movimento chama a função doJump
customMove.play(); //inicia
}
private  function doJump(evt:EffectEvent):void {
if(moveDir=="Up") { //se estiver a executar para cima
customMove.yTo=imagem.y+50; //anda 50px para baixo
customMove.play(); //inicia o novo moviemnto
moveDir="Down"; //que esta a mover para baixo
}
else
{ //sinal que terminou de mover para baixo
customMove.yTo=imagem.y-50; //movemos de novo para cima
customMove.play(); //inicia o efeito de novo
moveDir="Up";
}
}
private function stopJump():void {
customMove.addEventListener(EffectEvent.EFFECT_END, doJump);
//retira o eventListener que fará com que a função de movimento e a repetição dos move seja feita.
}

Esta função (customJump) fará com que a imagem esteja a fazer um efeito de salto repetivamente, o que não passa de movimentos repetidos +-5px na vertical.
Muito simples e com um aspecto bem agradável.

Dentro do package mx.effects encontram a class easing, que nada mais nada menos nos disponibiliza algumas funções de animação que introduzem efeitos durante a animação, vulgarmente chamadas easing Functions que podem ser adicionadas a qualquer elemento explicado em cima.

Se escreverem mx.effects.easing. Aparecer-vos-á uma lista das funções easing, funções estas que podem ser introduzidas nos nossos efeitos, utilizando o parametro .easingFunction como vou passar a explicar a seguir num exemplo que vai simular a queda de uma imagem leia mais »

2 Comentarios |Tags: , , , , , , , , , , , ,