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?
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?
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.
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+
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:
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]
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>
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:
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]
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