Category Archives: sencha

Licença do ExtJS

Há uma grande confusão e má interpretação da licença dual do ExtJS e de todos os produtos Sencha em geral, principalmente por causa da GPL3. Como voces deveriam saber, os produtos da Sencha são Open Source com uma licença comercial caso queira monetizar com as ferramentas.

Já discuti com diversas pessoas afirmando que se voce construir uma aplicação com ExtJS voce tem que distribuir o código fonte de sua aplicação, aí que está o grande engano.

Preciso Distribuir o Código Fonte de Minha Aplicação?

Não

Explique

ok, a licença é conhecida como viral, o que ela toca se torna Open Source e voce precisa deixar acessível.

Basicamente se algo depende de código com GPL3 esse algo se torna GPL3.

Agora uma Webapp com ExtJS não depende do ExtJS, sendo mais preciso o seu server-side  não depende da camada de apresentação se esta for feita toda no client-side como as abordagens Full Ajax utilizam. Por isso eu não uso e nunca utilizei em produção algo com a API de Direct do ExtJS, porque a fronteira dessa definição não é claro sob esse aspecto. O Direct força o seu server-side a se ajustar ao client-side quando deveria ser o contrário.

Até a versão 3 voce precisava renderizar o JSON para uma estrutura definida pelo ExtJS nos forçando a fazer coisas assim [como o Responder abaixo] e deixando a fronteira novamente ambígua.

module Sencha
class Wrapper
attr_accessor :data, :total
end
class Responder < ActionController::Responder
attr_reader :controller, :request, :format, :resource, :resources, :options
def initialize(controller, resources, options={})
super
@controller = controller
@request = @controller.request
@format = @controller.formats.first
@resource = resources.last
@resources = resources
@options = options
@only = options.delete(:only)
@include = options.delete(:include)
@methods = options.delete(:methods)
end
def to_format
to_sencha if @format == 'sencha'
super
end
def to_sencha
ActiveRecord::Base.include_root_in_json = false
total = 1
total = @resource.total_entries if @resource.respond_to?(:total_entries)
if(@resource.respond_to?(:errors) && @resource.try(:errors).size > 0)
model = @resource.class.name.camelize(:lower)
@errors = { :attributes => {}, :base => @resource.try(:errors)[:base]}
@resource.errors.each do |attr, msg|
@errors[:attributes]["#{attr}"] ||= []
@errors[:attributes]["#{attr}"] << msg
end
render :json => {:success => 'false', :message => "", :errors => @errors},
:status => :unprocessable_entity
#, :location => @resource
else
sencha = {
:data => @resource, :total => total, :success => true, :message => ""
}
@params = { :include => @include, :methods => @methods }
render :json => sencha.to_json( @params )
end
end
end
end
view raw sencha_responder.rb hosted with ❤ by GitHub

Hoje na versão 4x o Framework trabalha com JSON padrão e voce não precisa modificar o seu Responder para satisfazer o que seja.

Existem estratégias para voce contornar essa limitação ou comprar a licença comercial caso queira fechar modificações nas ferramentas sob a licença GPL3.

Mas Como a Sencha Ganha Dinheiro Então?

Treinamentos, consultorias e outros serviços já são o nicho de negócio principal, imagino. Mas…

Se voce construir uma customização ou novo componente sob a licença comercial, ninguém pode usar ou distribuir essa sua modificação, é aí que a licença comercial entra e é muito justo.

tl;dr

Resumindo, se voce usa ExtJS sob GPL3 voce tem que deixar todo o código que dependa dele sob a mesma licença, mas somente o código que dependa dele.

Typically chemist’s shop can sale to you with discreet treatments for various soundness problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a highly complicated matter. Matters, like “coupons for viagra“, are connected numerous types of health problems. If you need to take recipe medications, ask your druggist to check your testosterone levels before. Sometimes the treatment options may include erectile dysfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile dysfunction drugs like Viagra without a formula is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.

Imersão ExtJS 4

Olá, é com grande satisfação que gostaríamos de compartilhar com você nosso novo curso curso online, o Imersão ExtJS 4 que será ministrado pelo Christiano Milfont que irá tratar sobre as melhores práticas para desenvolver WebApps com riqueza de usabilidade usando ExtJS 4.

O Framework Javascript de propósito geral ExtJS possui Widgets [componentes] que fascinam e agilizam o desenvolvimento principalmente de aplicações comerciais que são migradas do Desktop.

Existem bons livros já publicados, como o da brasileira Loiane Groner, que também está publicando um curso gratuito no formato de Screencasts cobrindo o básico do ExtJS e aprofundando com muitos exemplos. O próprio Framework contém uma excelente documentação, uma gama enorme de exemplos, abrangendo inúmeras situações.

Bootstrapping

Uma grande dificuldade para desenvolver WebApps, principalmente para desenvolvedores especializados no Backend, é a aridez de desenhar a interface com CSS e trabalhar o comportamento da visão com Javascript.

Enquanto os sistemas operacionais fornecem um conjunto de componentes de Interface por meio de API e Look’n’Feel padronizado para você simplesmente construir a aplicação, na Web o trabalho é bastante artesanal, inclusive com a necessidade de trabalhar com ferramentas especializadas de design como GIMP ou Photoshop.

Não é à toa que o Toolkit Bootstrap disponibilizado pelo Twitter faz tanto sucesso, inclusive com o mesmo nome da técnica de construir um modelo de layout com componentes padronizados para facilitar a construção de aplicações web.

O ExtJS já fornece embutido no seu Framework todo um conjunto de templates e elementos gráficos para utilizar com seus componentes, além da abertura para customização caso seja necessário. Além disso existem diversos templates distribuídos por terceiros.

Diferencial do Curso

Como já mencionado, existe uma infinidade de materiais disponíveis na Web onde você pode aprender por conta própria.

O diferencial do nosso curso não é simplesmente aprender sobre os Widgets e montar telas ricas, é a experiência de quem desenvolve com o Framework desde que ele era uma extensão do YUI [Framework do Yahoo].

Iremos demonstrar as melhores práticas de como construir aplicações verdadeiramente ricas que são proibitivas de serem construídas num processo artesanal por meio de JS e CSS por dar muito trabalho.

Vamos tratar sobre assuntos espinhosos, como extender componentes, modificar o comportamento natural de elementos do próprio HTML, como navegação por meio de eventos que não existem e ainda vamos dar uma palhinha de como construir uma aplicação que se adapte a dispositivos móveis usando o SenchaTouch com o mínimo de esforço dentro do possível.

Matricule-se já e garanta sua vaga.

Typically chemist’s shop can sale to you with discreet treatments for various soundness problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a extremely complicated question. Matters, like “coupons for viagra“, are connected numerous types of heartiness problems. If you need to take prescription medications, ask your pharmacist to check your testosterone levels before. Sometimes the treatment options may include erectile dysfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile dysfunction drugs like Viagra without a recipe is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.

Café com TOM está de volta!

Fui convidado pelo Daniel Lopes para palestrar no primeiro Café com TOM da famosíssima @egenial em 5 de fevereiro próximo. Essa palestra será sobre o ecossistema Sencha, principalmente sobre o Extjs, a nova versão que vem por aí, o Sencha Touch, experiencias desde ERPs a pequenos sistemas especialistas, além de dicas e problemas que tivemos.

Agora em 2011 a Egenial está vindo com tudo, o curso de node.js surpreendeu, apostaram em um curso sobre uma tecnologia que ainda não está no Mainstream.

A Egenial tem um modelo de negócio que acredito que será exclusivo no futuro e já está estourando agora, treinamento online. Treinamento presencial ainda terá algum espaço pela cultura que crescemos, mas tende a extinguir em um futuro próximo.

Nos encontramos no dia 5 as 14h, como sempre eu estouro o tempo de minhas apresentações, então não tem hora para acabar 🙂

Typically chemist’s shop can sale to you with discreet treatments for various heartiness problems. There are numerous of safe online pharmacies that will deliver medications to your address. There are divers medicines for each afflictions. Learn more about “viagra manufacturer coupon“. Maybe “viagra discount coupons” is a very complicated matter. Matters, like “coupons for viagra“, are united numerous types of health problems. If you need to take recipe medications, ask your dispenser to check your testosterone levels before. Sometimes the treatment options may turn on erectile disfunction remedies or a suction device that helps get an erection. Keep in mind web-site which is ready to sell erectile disfunction drugs like Viagra without a formula is fraudulent. When you purchase from an unknown web-site, you run the risk of getting counterfeit remedies.