O framework Scooter que recentemente lançou a versão 1.0 RC2 no começo desse ano, oferece de forma similar a Rails, uma plataforma web RESTful para desenvolvedores Java, usando Java. A InfoQ conversou com John Chen, o criador do projeto Scooter Framework .
O desenvolvimento do framework Scooter foi inspirado na simplicidade de uso mostrada no Ruby on Rails. O framework Scooter apresenta uma alternativa para o desenvolvimento de aplicações web em Java usando Struts, Spring e Hibernate, com um gerador de CRUD e ActiveRecord como funcionalidades essenciais. A intenção do framework Scooter é que a edição de XML e anotações não são necessárias, e somente um conhecimento básico em Servlet/JSP e JDK1.4 é necessário.
O release final para a versão 1.0 do Scooter atualmente está planejada para Junho ou Julho deste ano.
As funcionalidades do release atual são:
- Configuração em Tempo de Execução: Troque as propriedades dos arquivos de configuração em tempo de execução, incluindo o log4j.properties.
- Compilação em Tempo de Execução: Edite os arquivos de código fonte Java e atualize o navegador para ver as mudanças imediatamente.
- Mudança de Schema em Tempo de Execução: Detecta mudanças no schema do banco de dados automaticamente.
- Controlador Flexível: Um controlador que é um POJO, filtros before/after/skip, escopos flash e global, suporte à paginação, etc.
- Active Record: Suporte à belongsTo, hasOne, hasMany, hasManyThrough, polymorphic associations, nested include, cascade, counter cache, actAsTaggable, etc.
- Enterprise ORM: Suporta detecção automática de chave primária composta, named sql, views, functions, stored procedures, múltiplos banco de dados, transactions, reference data cache, etc.
- I18N: Suporta internacionalização em todas as camadas do framework.
- Suporte à Web 2.0: Ajax, Markdown, Taggable interface.
- RESTful Web Services: Armazenamento automático RESTify.
- Rotas: Maneiras configuráveis de controle de acesso da web aos dados, recursos e recursos aninhados.
- Outras funcionalidades: Gerador de código, estatísticas de código, CRUD automático, REST automático, data browser, logging, embedded-web server, etc.
Outras funcionalidades planejadas para a versão 1.0 incluem:
- Implementações de Cache: Integração ao Memcached e web-side cache
- uma simples implementação de captcha
A implementação de ORM baseada no ActiveRecord está planejada para ser reconfigurada, então isso poderá ser utilizado em um ambiente não-web.
Planos futuros para o Scooter:
- Melhorias na performance do servidor web
- Desenvolvimento de um módulo dev center: um dev center baseado em web para edição de código Java
- Documentação e ajuda para os desenvolvedores
- Um View template engine: A view atual é baseada em JSP. O novo template engine possibilitará desenvolvedores a escrever código para a view uma vez e rodar em multiplas plataformas como browser, iPhone, iPad, Android, etc.
- Integração com ferramentas open-source Java: JasperReport, Lucene, JQuery, etc.
- Adicionar suporte para OpenID, Captcha, RSS, JSON
A documentação está disponível para os que estão começando com o Scooter.