OpenSwing - Vantagem e Desvantegem

Olá,

Gostaria de saber de quem usa esse framework suas vantagens e desvantagens, e se o código da apresentação dele fica muito “sujo”, como acontece com Netbeans.

Eu programo Swing na mão, linha por linha, mas gostaria de saber da opinião de quem usa esse framework, se compensa.

Obrigado.

P.S

Não encontrei nos tópicos relatos de pessoas que utlizam. Por isso postei.

Amigo, estou usando o Openswing em produção. Sou desenvolvedor independente.
sabendo usa-lo a produtividade é imensa, estou usando no Eclipse, mas ele é mais produtivo no Netbeans.
a grande vantagem é que ele define um padrão de desenvolvimento MCP, o que facilita treinar pessoas para usá-lo.
Dá pra usar tanto com qq ambiente, 2 camadas, 3 camadas, hibernate, jpa, j2ee, web mais applets, esta tudo aberto.
quase não tem bugs, o criador solta as correções/melhoramentos a cada 15 dias, da pra falar com ele diretamente.
eu fiz a tradução para português Brasil.
o código fonte é fácil de olhar, e eu ate fiz algumas alterações no fonte para meu beneficio.
abraços e bom proveito

[quote=artursal]Amigo, estou usando o Openswing em produção. Sou desenvolvedor independente.
sabendo usa-lo a produtividade é imensa, estou usando no Eclipse, mas ele é mais produtivo no Netbeans.
a grande vantagem é que ele define um padrão de desenvolvimento MCP, o que facilita treinar pessoas para usá-lo.
Dá pra usar tanto com qq ambiente, 2 camadas, 3 camadas, hibernate, jpa, j2ee, web mais applets, esta tudo aberto.
quase não tem bugs, o criador solta as correções/melhoramentos a cada 15 dias, da pra falar com ele diretamente.
eu fiz a tradução para português Brasil.
o código fonte é fácil de olhar, e eu ate fiz algumas alterações no fonte para meu beneficio.
abraços e bom proveito
[/quote]

Ele usa o recurso de “Arrasta-Solta” para criar telas, certo?
Ele utiliza componentes Swing ne?
QUanto ao código, fica poluido igual ao Netbeans?

pode falar que tipo de aplicação vc desenvolveu?

como seria essa integração com o hibernate? seria mesmo algo similar ao que é feito no ambiente web?

devolveu as melhorias para a comunidade?

se não for pedir muito, dá pra mostrar uns screenshots do sistema? temos que o ‘look’n’feel’ seja feio… :roll:

aliás, quem mais usou/usa o openswing? pode compartilhar suas impressões/experiências?

outros tópicos aqui do guj, que falam sobre o openswing:

:arrow: como instalar o openswing no eclipse

:arrow: netbeans platform e openswing

:arrow: framework completa para swing! openswing!

O OpenSwing fornece:

Uma suíte de componentes gráficos avançados;

Uma camada para vinculção(binding);

Controle para acesso remoto;

Design orientado a objetos para aplicação RIA;

Suporte para desenvolvimento de aplicação cliente-servidor( 2 camadas);

Suporte para desenvolvimento de aplicação Web e distribuídas em 3 camadas;

http://oswing.sourceforge.net/

obrigado pela resposta, porém gostaria de obter depoimentos de quem usa/usou, impressões etc :wink:

Pessoal,

Boa noite …

Utilizo o Openswing a mais de um ano na empresa que trabalho temos 5 sistemas internos que usam ele, acompanhei boa parte da evolução dele, e uma framework muito boa para desenvolvimento swing mas temos que tomar alguns cuidados na hora de utilizar e como utilizar os seus componentes, pois senao pode ocorrer alguns problemas nas pintura (desenhos) do componentes ou ate mesmo reinventando a roda com coisa que ja existe pronta nele. Vou ver se consigo disponibilizar um howto com exemplos que elaborei um tempo atras com as principais caracteriscas e uso de componentes, depois posto aqui o link.

Se fosse para comecar a trabalhar hoje num novo projeto swing nao o faria sem utilizar ele. Quem tiver interesse e trocar algumas ideias e experiencias sobre esta framework fique a vontade de me enviar um email, ulisses@nairnealmeida.com.

artursal, boa noite.
Você estraia disposto a explicar como montar o projeto OpenSwing no NetBeans por exemplo para que eu possa ajustar os códigos e os componentes conformr as minha necessidades?

Olá amigos

estou desenvolvendo minhas aplicações pessoais com o OpenSwing. Estou muito satisfeito com este framework.

no começo foi um pouco difícil para entender como ele funcionava, pois a minha experiência em java era pouca.

Caro Giliard.Lourenço você pode começar pelo demo10 que vem com o openswing, eu comecei por ele. Fui montando primeiro um form principal, depois um grid(lista de clientes) em seguida o próprio cadastro de clientes. Sempre analisando o código original e o que eu estava fazendo.

Quando desejo fazer alguma coisa coisa nova vou nos exemplos, que são vários e vejo como é feito. E assim por diante.

pata:

/home/home Pessoal/NetBeansProjects/OpenSwing2.4.2/srcdemo/demo10

Silvio Guedes

[quote=Lucas Emanuel]Olá,

Gostaria de saber de quem usa esse framework suas vantagens e desvantagens, e se o código da apresentação dele fica muito “sujo”, como acontece com Netbeans.

Eu programo Swing na mão, linha por linha, mas gostaria de saber da opinião de quem usa esse framework, se compensa.

Obrigado.

P.S

Não encontrei nos tópicos relatos de pessoas que utlizam. Por isso postei. [/quote]
Ola Lucas…estava passando e vi o post e não pude deixar de comentar…
Se vc ainda não percebeu o codigo sujo que vc apontou se refere ao GERADOR DE CÓDIGO do ambiente RAD! Quando vc usa uma ferramenta que gera codigo para vc, ele tem que gerar de alguma forma…seje da forma que vc goste ou não…NÃO IMPORTA NÃO ACHA? Se fosse importante, vc não estaria usando RAD…vc estaria fazendo na unha não acha? kkkkk
Não adianta mudar de framework e continuar usando outra RAD vc não concorda? Ele vai continuar gerando…
Esse é um dos motivos pelo qual eu não uso NADA RAD.
Toda as minhas aplicações swing tem um framework próprio que define o padrões de GUI básicas (modelos, estilos, disposição, botões, localizações, operações) para todos os processos, fazendo cada desenvolvedor da equipe reutilizar com OOP, apenas se concentrando no caso de uso em questão…
Fica a dica ai para vc…
T+

Olá, galera

estou estudando o openSwing e tentando desenvolver um aplicação simples 3 camadas com NetBeans 7 e tomcat 6. O console do tomcat mostra a servlet do openSwing sendo inicializada e completada, tal como baixo:


[NONAME] Thu Sep 01 11:18:59 BRT 2011 [INFO]
in org.openswing.swing.server.Controller.init():
Initialized log manager

Sep 1, 2011 11:18:59 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor OS_web.xml
Action classes request names: login ************ [size=9] (esta linha é um println q coloquei na minha classe que estende ActionsCollection para me certifical que a servlet a inicializa )[/size]


[NONAME] Thu Sep 01 11:18:59 BRT 2011 [INFO]
in org.openswing.swing.server.Controller.init():
Servlet Initialization completed.

mas, logo após, eu estou obtendo o seguinte erro:

SEVERE: Error while creating connection pooler: file not found in C:\ApacheSoftwareFoundation\apache-tomcat-6.0.32\bin\pooler.ini java.io.FileNotFoundException: C:\Users\Rafael\Documents\NetBeansProjects\OS_web\build\web\WEB-INF\classes\pooler.ini (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at java.io.FileInputStream.<init>(FileInputStream.java:66) at org.openswing.swing.server.PoolerConnectionSource.initPooler(PoolerConnectionSource.java:105) at org.openswing.swing.server.ConnectionManager.initConnectionSource(ConnectionManager.java:79) at org.openswing.swing.server.Controller.init(Controller.java:128) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4420) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4733) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:559) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500) at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849) at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Sep 1, 2011 10:01:08 AM org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextDestroyed() Sep 1, 2011 10:01:08 AM org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextDestroyed() Sep 1, 2011 10:01:13 AM org.apache.catalina.core.ApplicationContext log

tentei inserir o tal arquivo manualmente no referido path, mas sem sucesso

será q alguém que já tenha desenvolvido em 3 camadas com o openSwing poderia dar alguma ajuda?

obrigado

segue o meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>controller</servlet-name>
        <servlet-class>org.openswing.swing.server.Controller</servlet-class>
        <init-param>
            <param-name>actionClasses</param-name>
            <param-value>server.ActionClasses</param-value>
        </init-param>
// tentei comentar esse trecho pra ver se mudava algo, mas sem sucesso  **********
       <init-param>
            <param-name>connectionSource</param-name>
            <param-value>org.openswing.swing.server.PoolerConnectionSource</param-value>
        </init-param>
//***********
        <init-param>
            <param-name>loginAction</param-name>
            <param-value>org.openswing.swing.server.LoginAction</param-value>
        </init-param>
        <init-param>
            <param-name>objectsReceiver</param-name>
            <param-value>org.openswing.swing.util.server.HessianObjectReceiver</param-value>
        </init-param>
        <init-param>
            <param-name>sessionIdGenerator</param-name>
            <param-value>org.openswing.swing.server.DefaultSessionIdGenerator</param-value>
        </init-param>
        <init-param> 
            <param-name>logger</param-name> 
                <param-value>org.openswing.swing.logger.server.ConsoleLogger</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>controller</servlet-name>
        <url-pattern>/controller</url-pattern>
    </servlet-mapping>
</web-app>

[quote=Rafael Nascimento]Olá, galera

estou estudando o openSwing e tentando desenvolver um aplicação simples 3 camadas com NetBeans 7 e tomcat 6. O console do tomcat mostra a servlet do openSwing sendo inicializada e completada, tal como baixo:


[NONAME] Thu Sep 01 11:18:59 BRT 2011 [INFO]
in org.openswing.swing.server.Controller.init():
Initialized log manager

Sep 1, 2011 11:18:59 AM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor OS_web.xml
Action classes request names: login ************ [size=9] (esta linha é um println q coloquei na minha classe que estende ActionsCollection para me certifical que a servlet a inicializa )[/size]


[NONAME] Thu Sep 01 11:18:59 BRT 2011 [INFO]
in org.openswing.swing.server.Controller.init():
Servlet Initialization completed.

mas, logo após, eu estou obtendo o seguinte erro:

SEVERE: Error while creating connection pooler: file not found in C:\ApacheSoftwareFoundation\apache-tomcat-6.0.32\bin\pooler.ini java.io.FileNotFoundException: C:\Users\Rafael\Documents\NetBeansProjects\OS_web\build\web\WEB-INF\classes\pooler.ini (The system cannot find the file specified) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:106) at java.io.FileInputStream.<init>(FileInputStream.java:66) at org.openswing.swing.server.PoolerConnectionSource.initPooler(PoolerConnectionSource.java:105) at org.openswing.swing.server.ConnectionManager.initConnectionSource(ConnectionManager.java:79) at org.openswing.swing.server.Controller.init(Controller.java:128) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4420) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4733) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:559) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1397) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1500) at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:849) at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:351) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) Sep 1, 2011 10:01:08 AM org.apache.catalina.core.ApplicationContext log INFO: SessionListener: contextDestroyed() Sep 1, 2011 10:01:08 AM org.apache.catalina.core.ApplicationContext log INFO: ContextListener: contextDestroyed() Sep 1, 2011 10:01:13 AM org.apache.catalina.core.ApplicationContext log

tentei inserir o tal arquivo manualmente no referido path, mas sem sucesso

será q alguém que já tenha desenvolvido em 3 camadas com o openSwing poderia dar alguma ajuda?

obrigado

segue o meu web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <servlet>
        <servlet-name>controller</servlet-name>
        <servlet-class>org.openswing.swing.server.Controller</servlet-class>
        <init-param>
            <param-name>actionClasses</param-name>
            <param-value>server.ActionClasses</param-value>
        </init-param>
// tentei comentar esse trecho pra ver se mudava algo, mas sem sucesso  **********
       <init-param>
            <param-name>connectionSource</param-name>
            <param-value>org.openswing.swing.server.PoolerConnectionSource</param-value>
        </init-param>
//***********
        <init-param>
            <param-name>loginAction</param-name>
            <param-value>org.openswing.swing.server.LoginAction</param-value>
        </init-param>
        <init-param>
            <param-name>objectsReceiver</param-name>
            <param-value>org.openswing.swing.util.server.HessianObjectReceiver</param-value>
        </init-param>
        <init-param>
            <param-name>sessionIdGenerator</param-name>
            <param-value>org.openswing.swing.server.DefaultSessionIdGenerator</param-value>
        </init-param>
        <init-param> 
            <param-name>logger</param-name> 
                <param-value>org.openswing.swing.logger.server.ConsoleLogger</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>controller</servlet-name>
        <url-pattern>/controller</url-pattern>
    </servlet-mapping>
</web-app>

[/quote]

Colocou o arquivo pooler.ini dentro de WEB-INF/classes??

[quote=artursal]Amigo, estou usando o Openswing em produção. Sou desenvolvedor independente.
sabendo usa-lo a produtividade é imensa, estou usando no Eclipse, mas ele é mais produtivo no Netbeans.
a grande vantagem é que ele define um padrão de desenvolvimento MCP, o que facilita treinar pessoas para usá-lo.
Dá pra usar tanto com qq ambiente, 2 camadas, 3 camadas, hibernate, jpa, j2ee, web mais applets, esta tudo aberto.
quase não tem bugs, o criador solta as correções/melhoramentos a cada 15 dias, da pra falar com ele diretamente.
eu fiz a tradução para português Brasil.
o código fonte é fácil de olhar, e eu ate fiz algumas alterações no fonte para meu beneficio.
abraços e bom proveito
[/quote]

Artursal, estou precisando de seu ajuda, com o openswing, me chame no skype: anderson.goncalves.araujo