Blog do Urubatan
msgbartop
Desenvolvedor, Arquiteto, Palestrante, Coordenador do RSJUG, Patinador e Blogger
msgbarbottom

09 Nov 09 Titanium Developer – Reutilizando toda a expertise de desenvolver aplicações Web no Desktop

Titanium Desktop Titanium Mobile

Este fim de semana resolvi testar o Titanium Developer, da appcelerant. Achei a idéia espetacular …
O Titanium permite que você desenvolva aplicações desktop e mobile nativas utilizando HTML e scripting como se faz para WEB.
A base da aplicação é uma janela com um WebKit embedded, por tanto, todo o poder do HTML5 esta a sua disposição, alem de uma biblioteca de javascript criada pelo pessoal da appcelerant que disponibiliza via javascript acesso a diversos recursos do SO Host da aplicação.
É possível criar aplicações para Mac, Linux e windows utilizando exatamente o mesmo código, com acesso a alguns recursos do SO presentes nos três ambientes, a se você for pensar, a maior parte das aplicações não tem muita integração do o SO mesmo …
O Titanium suporta Python, Ruby e PHP para scripting na aplicação, e o código fica bem estranho a principio, pois é possível chamar funções ruby/python/php de dentro das funções javascript, o código destas linguagens pode ser incluído no HTML com tags script exatamente como é feito com o javascript …
Não brinquei muito com ele ainda, mas a idéia me agradou bastante, só fiz até agora uma calculadora bem feinha :D
O código basico é um new application no titanium desktop, lembrando de marcar o checkbox de suporte a ruby, ai só alterei o index.html de dentro do diretório resources para o código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<html>
	<head>
		<script type="text/javascript" src="jquery-1.3.2.js"></script>
		<script type="text/ruby">
			def calc(x,y,op)
				x.to_f.send(op.to_sym,y.to_f)
			end
		</script>
	</head>
	<body style="background-color:#1c1c1c;margin:0">
		<div style="border-top:1px solid #404040">
			<div style="color:#fff;;padding:10px">
			<form>
				<fieldset>
					<legend>Calculator</legend>
					Resultado:<input type="text" readonly="true" id="result"/><br/>
					Valor 1:<input type="text" id="valor1"/><br/>
					Valor 2:<input type="text" id="valor2"/><br/>
					<input type="button" value="+" onclick="result.value=calc(valor1.value,valor2.value,this.value)"/>
					<input type="button" value="-" onclick="result.value=calc(valor1.value,valor2.value,this.value)"/>
					<input type="button" value="*" onclick="result.value=calc(valor1.value,valor2.value,this.value)"/>
					<input type="button" value="/" onclick="result.value=calc(valor1.value,valor2.value,this.value)"/>
				</fieldset>
			</form>
			</div>
		</div>
	</body>
</html>

E a calculadora funciona direitinho!
É criado um executável windows (a maquina que utilizei para testar é um windows) e se eu clicar em package, é possível ainda criar o executável para linux e mac utilizando os servidores da appcelerant ..
A aplicação pode ficar disponível na cloud deles, e ainda é possível criar aplicações para iPhone e Android com a mesma estrutura, ou seja, a idéia de como programar é a mesma …
E alem disto, ainda existe o Bowline, um framework Ruby escrito para facilitar mais ainda o uso do Titanium Desktop. Este ainda não tive tempo de brincar, mas pelo que li no site parece muito bom também :D

Finalmente temos uma forma fácil de programar aplicações desktop multi plataforma sem ter que penar na mão do SWING :D
Vou tentar fazer uns exemplos mais complexos para ver se o brinquedo vale mesmo a pena, mas eu já adianto que adorei a idéia :D
Mas nem tudo é perfeito, eu ainda estou procurando no site informações sobre licenciamento, não sei se é necessário pagar para distribuir as aplicações, não encontrei nada a respeito …
Mas a idéia continua sendo excelente :D
Recomendo uma olhada …

Blog Widget by LinkWithin

If you enjoyed this post, make sure you subscribe to my RSS feed!

Tags: , , ,

Leave a Comment