Archive for the ‘objc’ tag
Stickies.app Sync – Teaser II
Segundo teaser para o meu último projecto.
O trabalho tem avançado a um excelente ritmo, e só é pena estes fins de semana de 3 dias só sejam uma vez por ano (e às vezes nem isso). Tenho aprendido uma alarvidade de coisas novas, seja em Cocoa ou em Rails, e os momentos “eureka” são uns a seguir aos outros. Pequenos “eurekas” pessoais, mas “eurekas” mesmo assim…
O que foi feito então? A aplicação para Mac já tem 90% das funcionalidades que considero fulcrais: pega na base de dados do Stickies, faz a publicação para um URL, recebe a resposta em XML que depois de processada é utilizada para reconstruir a base de dados do Stickies. Já estou a executar o bloco de sincronização periodicamente e faço o relauch ao Stickies para o refrescar (não arranjei forma de o obrigar a actualizar-se). Devo ter memory leaks a dar com um pau que estes anos todos de PHP tornaram-me muito preguiçoso nos meus mallocs e frees. Queria integrar o Sparkle na versão inicial, dado que prevejo muitos updates durante as primeiras semanas.
Quanto ao serviço web, grande avanço este fim de semana. Estava a zero ontem de manhã e hoje tenho um site feito em Rails com grande parte da lógica feita. Melhor que ter o site feito, é que estou a perceber bem a mecânica do Rails. Melhor ainda, é que é um gozo enorme. Valeu a pena ter andado a ler Rails for PHP Programmers aos poucos nas últimas semanas.
Hoje não há tempo para mais, mas fica um screenshot do site a correr aqui no meu computador.
No próximo post espero já ter um link para download de um pequeno DMG e outro link para o pequeno site… Ainda não tem nome, mas estou também a tratar disso.
Acho que seria interessante um log do desenvolvimento das duas coisas, mas para já acho que vou manter este formato semanal. Quando tiver a versão inicial concluída faço um post com todos os detalhes que ninguém quer saber…
Vou dando notícias…
Stickies.app Sync – Teaser
Segue aqui um teaser para o o que falei aqui anteriormente.
A minha app já corre, já abre a base de dados do Stickies, pega nas notas e submete-as por POST para o “servidor”, recebe a resposta em XML, mastiga este XML e guarda-o no formato que o Stickies percebe.
O servidor é para já um mero “eco” feito em PHP: limita-se a empacotar em XML os dados que recebe. A única diferença é que acrescenta ao texto de cada nota a data e hora.
A tarefa que se segue é limpar o código. Devo ter 80% de código comentado, com muitas “muletas”: snippets em ObjC que me foram úteis e/ou que ainda podem vir a dar jeito. Depois disto posso começar a pensar no servidor.
Também podia pensar numa forma melhor para comunicar com o servidor já que estou com as mãos na massa, mas o que tenho feito funciona. Para quê complicar?
Tenho aqui alguns detalhes ainda por resolver: as notas não têm identificadores, mas talvez possa usar o CreationDate como identificador. Estou a ignorar a posição das notas no ecran. Deixo vazio o campo com as WindowFlags e as notas aparecem-me todas empilhadas no canto inferior direito do ecran, tenho que pelo menos fazer um cascade daquilo. Espero que o NSRect seja só os pares X e Y, W e H ou algo igualmente simples de implementar.
O ícone foi gamado do próprio Stickies, logo se arranja qualquer coisa mais catita. Isto ainda não tem nome, há sugestões? De preferência que ainda tenha um .com livre…
A minha primeira escolha foi “Stickier”, mas o .com custava $7000. Ofereci-lhe 60 e uma caixa de ovos moles mas o gajo não quis, go figure…
Tabuada.app
Tenho uma ideia para uma aplicação para Mac OS X. Decidi meter mãos à obra e ando a tentar aprender Objective C e Cocoa. Ainda investiguei Python e Ruby com Cocoa e WxWidgets mas decidi-me pela base.
Ainda que o âmbito deste dialecto do C esteja limitado ao universo Apple, é talvez a melhor forma (ie: com mais documentação e exemplos) de produzir aplicações nativas para Mac OS X, além de que tudo indica que o iPhone será um mercado tão grande ou maior que o OS X. Acho um bom investimento por estas razões, além que vale pelo desafio…
Ainda é cedo para tecer comentários sobre a linguagem e a framework. Para já basta dizer que são bastante diferentes de tudo aquilo a que estou habituado. Depois de uns anos a trabalhar exclusivamente na Web (em PHP e JS), descontando umas brincadeiras aqui e ali noutras linguagens, sabe bem voltar ao mundo das aplicações desktop, ainda que ter que voltar a declarar variáveis e prestar atenção aos tipos de dados é doloroso.
Para já, aqui vai um screenshot da minha primeira aplicação Cocoa. Uma calculadora de tabuadas. Quem quiser o código (muito desarrumado), é só pedir.

Se calhar posso acrescentar a possiblidade de imprimir e oferecer a app à mãe do puto que (ouvi há dias no ginásio) achou desumano o professor mandar o miúdo fazer não sei quantas tabuadas para casa…
Recursos úteis:


