Spine.js Mobile e Trigger.io Forge

Spine.js é minha estrutura móvel CoffeeScript preferida – está documentado muito bem como fazê-lo funcionar com phonegap / cordova, mas desenvolver com pg é um processo doloroso.
O Forge do Trigger.io é um js api nativo de plataforma cruzada amigável para desenvolvedores.

Veja o que fiz para colocar um aplicativo básico em funcionamento.


Abra o código fonte go.sh do forge-tools

Crie o aplicativo forge
(forge-environment) ➜ ~ FORGE_ROOT: cd ..
(forge-environment) ➜ mobile mkdir quotes
(forge-environment) ➜ mobile cd quotes
(forge-environment) ➜ quotes forge create

Instale as dependências mais recentes do spine
(forge-environment) ➜ aspas npm install -g spine spine.app hem

Crie o aplicativo spine.js
(forge-environment) ➜ citações spine mobile ./spineapp
(forge-environment) ➜ citações cd spineapp
(forge-environment) ➜ spineapp npm install.

Verifique se o aplicativo spine está funcionando
(ambiente forge) ➜ servidor spineapp hem

Em caso afirmativo:
Edite spineapp / public / index.html
remova o script start.js.
alterar ‘/application.js’ -> ‘application.js’
alterar ‘/application.css’ -> ‘application.css’

Faça algum desenvolvimento básico de aplicativo spine no spineapp até que você tenha algo que obviamente está fazendo algo – para que você possa verificar se funciona no forge.

Adicione algumas chamadas de API de forja, o mais básico é o registro. Por exemplo, meu arquivo index.coffee tem este construtor em:

class App extends Stage.Global
constructor: ->
super
forge
.enableDebug()
#activate controller
@quotes = new Quotes
@quotes.active()
forge
.logging.log('forge log example')

Assim que tiver algo que possa testar, o processo geral é o seguinte:
hem build spineapp
Copie o conteúdo de spineapp / public para o diretório src do projeto forge.
executar forjar construir
executar forjar executar
teste ios no simulador
fazer alterações
repetir

Isso não é tão indolor quanto eu gostaria, então criei um script de Thor para fazer isso por mim. Você precisará de um lançamento recente da gema Thor (estou no Thor 0.15.4):

crie spineapp / spineforge.thor: https://gist.github.com/3071647

class Spineforge < Thor
include
Thor::Actions
# thor spineforge:fuse ios

desc
"fuse ios/android","builds and runs app"
def fuse(platform)
#cd spineapp
@spineapp_dir = File.dirname(__FILE__)
@forge_dir = @spineapp_dir + '/../'
inside
@spineapp_dir do
run
('cd')
run
('hem build')
end
#copy spineapp/public/* to src/
Thor::Sandbox::Spineforge.source_root(@spineapp_dir)
directory
'public', @forge_dir + 'src'

inside
@forge_dir do
#forge build
run
'forge build'
#forge run platform
run
"forge run #{platform}"
end
end

end

ele fica em spineapp / então eu posso alternar facilmente entre o uso do hem server e o thor spineforge: fuse ios

(ambiente de forja) ➜ spineapp thor spineforge: fusível ios

Agora posso construir meu aplicativo spine.js, executar o spineforge e ver o simulador de iphone iniciar a nova versão do meu projeto. Eu não gosto do ciclo de compilação, mas é melhor do que ter que iniciar eclipse ou xcode e lutar com a dor de pg / cordova.

Trigger.io Forge é uma ferramenta promissora – espero estar em posição de oferecer suporte ao desenvolvimento de mais recursos em breve.