Caros colegas. Venho lançar uma discussão acerca de tecnologias que sejam livres (não m$ portanto) e ao mesmo tempo automagicas, ou poderosas do ponto de vista da produtividade e facilidade de desenvolvimento.
A maioria das aplicações tem uma base de dados, objectos de domínio (negócio) e interfaces (sejam elas web ou não). No entanto não conheço nenhum conjunto de tecnologias livre que me possa ajudar a desenvolver uma aplicação deste tipo de forma integrada e simples. Ultimamente só tenho trabalhado com tecnologias microsoft (SQL Server 2005, Sharepoint 2007, .net 2.0, C#). Mas eu agora quero desenvolver uma aplicação sem recorrer a licenças e de forma simples sem ter de programar em assembly (estou a exagerar).
Para mim os pontos mais relevantes são:
- Acesso a base de dados e mapeamento com os objectos de domínio
- Construção de interfaces
- IDEs
- Compatibilidade e Integração
Por conversas que tive com um colega meu falou.se em mysql, java, eclipse com plugins para desenhar interfaces... ok eu agora estou habituado ao sharepoint... sei que estou mal habituado... mas gostava de ter uma ligação automatica entre a base de dados e os objectos de dominio (tipo net tiers mas para mysql ou qq livre). Enfim... desculpem o desabafo d'um tipo que pensa que a informatica ainda está na pré-história.
Agradeço links, opiniões, e troca de experiências porque não.
SoundSurfer
27-04-2007, 08:10
Penso que tudo o que existe para .NET também existe para JAVA...
O mais normal é surgir primeiro em JAVA e depois em .NET.
Quanto à ligação Base Dados -> objectos de domínio tipicamente é feita recorrendo a ORMs (http://en.wikipedia.org/wiki/Object-relational_mapping), que tipicamente existem para ambas as plataformas...
Portanto, para mim o problema que se põe é mais de escolha de Arquitectura do que propriamente a framework que se utiliza, como por exemplo o Hibernat e o nHibernate)
Boas,
A resposta à tua questão é: J2EE :)
Muito poderoso mesmo, tem isso tudo que disseste, para trabalhares em j2ee convém é teres um IDE robusto para te facilitar o desenvolvimento. É usado para aplicações de larga escala e com requisitos de segurança, escalabilidade e por ai.
Existem muitos servidores aplicacionais com implementações da especificação J2EE, alguns free (JBoss, Sun,...) e outras a pagantes (WebSphere da IBM, Jdev da Oracle,...).
Eu recomendo que vás ao site da Sun e faças download do pack do IDE NetBeans 5.5 que já traz o servidor aplicacional da Sun (Application Server PE 9).
Também lá têm um tutorial muito bom.
Das coisas mais importantes no J2EE é na parte da lógica de negócio teres as Enterprise JavaBeans (que fazem os mapeamentos com a BD) e para a UI podes fazer em JSF (Java ServerFaces), uma espécie de ASP.NET. Existem também muitas extensões, para AJAX, etc.
PS: A Sun mudou os nomes, agora o J2EE (versão 1.4) passou a chamar-se JEE 5 (última versão 1.5).
capricorn
27-04-2007, 11:05
se tens trabalhado no visual studio e te dás bem com ele porque não usas o express (http://msdn.microsoft.com/vstudio/express/)? é livre.
Ou o objectivo é usar linux?
Ok.. obrigado pelas opiniões. Vou fazer o download e instalação do visual studio Express só por curiosidade para saber o que é que aquilo tem... tenho aqui uma VM já preparada para a experiência. Tive a ler e não é preciso pagar licenças caso se queira comercializar uma aplicação desenvolvida no express. Agora basta saber se as limitações disto eram indispensáveis ou não... enfim.
Eu não tenho nada contra a microsoft (até pelo contrario). Gostava era de poder desenvolver uma aplicação (no futuro será para comercializar.. pelo menos é esse o meu objectivo) sem ter de me preocupar com licenças de software. A aplicação neste momento está pensada para correr apenas em windows.
Depois digo o resultado das minhas experiências.
Depois de intalar e investigar cheguei à conclusão que este tipo de ferramentas de desenvolvimento (express) são orientadas à aprendizagem e não ao desenvolvimento. O SQL Server 2005 express deixa muito a desejar.
Como neste momento tenho vms disponiveis em casa posso testar a vontade estas ferramentas sem estragar a minha instalação do windows. Agora vou testar eclipse + extensões + mysql.
Tou farto da Microsoft lol
LinuxWarrior
30-04-2007, 09:22
se tens trabalhado no visual studio e te dás bem com ele porque não usas o express (http://msdn.microsoft.com/vstudio/express/)? é livre.
Ou o objectivo é usar linux?
Eis duas razões porque não é livre:
- Nao tens acesso ao codigo fonte, de forma a poderes altera-lo
- Não és livre de escolher a plataforma em que vais correr a aplicação (Vstudio) nem a aplicação desenvolvida
LinuxWarrior
30-04-2007, 09:26
Quanto a tecnologias livres:
Primeiro começa por uma linguagem livre como python ou ruby (são multiplataforma)
A nivel de IDE tens o Eclipse com os mais variados plugins
A nivel de bases de dados tens Postgresql ou MySQL
Se pretendes desenvolver algo baseado em web, aconselho-te o Ruby on Rails ;)
Axu que ja que tens experiencia em C# dot net devias permanecer por ai , e multiplataforma e tens pelo menos o monodevelop pa linux , quanto a licenças num faxu a minima ideia aproveito pa deixar aki request ao esclarecimento sobre este assunto , eu nao sou nenhum fã da ms mas consigo ver bem para onde as coisas caminham e com o projecto mono pa linux e a possibilidade de poderes programar nesta linguagem para pdas o potencial e enorme se bem que a obscuridade da plataforma me deixa assim um pouco afastado do core , bem normal para algo k vem desses mzs