Archive

Archive for the ‘RemObjects’ Category

RemObjects Oxygene é o novo Delphi Prism

October 8th, 2008 Erick Sasse 11 comments

Apesar de até este momento não terem divulgado oficialmente, está na cara que o novo Delphi Prism é o Oxygene (antigo Chrome) da RemObjects.

Vejam o post que o Marc Hoffman da RemObjects fez em seu Twitter cerca de duas horas atrás. Traduzindo seria algo como: “Novo build beta do Prism saindo da linha de produção agora”.

O Delphi Prism foi anunciado pseudo-oficialmente na SDN Conference na Holanda. O Marco Cantu publicou alguns detalhes do anuncio em seu blog.

E se você quer participar do beta do Prism, pode se inscrever aqui.

Google Chrome

September 2nd, 2008 Erick Sasse 8 comments

Google Chrome é o nome do navegador do Google. Anunciado oficialmente ontem no final do dia, depois de vazar em algum blog, o browser é open source e focado em ser uma plataforma de aplicações.

O principal motivo de eu postar essa notícia aqui é que naturalmente os mais ligados no mundo Delphi, vão lembrar que esse era exatamente o nome da linguagem object pascal da RemObjects para .NET, que há pouco foi renomeada para Oxygene.

A RemObjects não confirma nada, mas por enquanto fica no ar a dúvida se a mudança do nome teve algo a ver com o novo browser do Google ou com os novos planos da CodeGear para .NET. Pode até ser que ambos estejam relacionado, ou nenhum dos dois. Vai saber. Hehe. :)

Mas analisando o contexto dos browsers, quem parece que se deu mal foi o Firefox. Pois acredito que os usuários avançados, que hoje estão nele, vão todos migrar para o Google Chrome, e os demais usuários, vão continuar no Internet Explorer mesmo, como sempre fizeram. É esperar para ver.

Categories: Chrome, RemObjects Tags: , ,

RemObjects SDK com suporte a Delphi 2009 e Lazarus

September 1st, 2008 Erick Sasse 5 comments

A nova versão (5.0.33) do RemObjects SDK, lançada no último dia 29, traz suporte ao Delphi 2009, além de suporte a IDE gratuita Lazarus, do Free Pascal.

No caso do Delphi 2009, o instalador não traz as versões compiladas dos pacotes e units pois a versão final do Delphi 2009 ainda não foi liberada. Mas ele traz todo o código fonte compatível para que seja utilizado quando a nova versão estiver disponível.

Delphi 2009 apenas Win32 e futuro Delphi .NET

August 17th, 2008 Erick Sasse 31 comments

Nick Hodges, gerente de produto do Delphi, explicou em seu blog que o Delphi 2009 (Tiburon) será um produto apenas para desenvolvimento nativo, ou seja, Win32.

Acho uma ótima notícia. O Delphi Win32 ainda tem tanto potencial que merece com certeza toda a atenção possível.

Porém, o que mais me chamou a atenção foi que o .NET não foi abandonado, e um novo roadmap será divulgado em breve, além de um produto suportando as últimas tecnologias e frameworks .NET. Humm. Será que vão realmente investir pesado em uma IDE paralela ao Visual Studio ou vão finalmente desenvolver um plugin para ele?

E ao contrário dos que pensam que teriam que comprar o Visual Studio separadamente para rodar o Delphi plugin, isso não é necessário não. O Oxygene (ex Chrome) da RemObjects já vem com a IDE, ou seja, se você não tem o Visual Studio, quando instala o Oxygene, é instalado um Visual Studio apenas com a linguagem Oxygene.

A CodeGear poderia tranquilamente fazer a mesma coisa. São apenas especulações da minha parte. Mas faria muito sentido.

Quer mais um pouco de especulação? Quando a RemObjects mudou o nome do Chrome para Oxygene, disse que simplesmente não podia explicar o motivo. Disse apenas que era um bom motivo e que só faria o bem ao produto. Hum.. teria essa mudança algo a ver com as mudanças de planos da CodeGear para a plataforma .NET? Quem sabe? :)

Novo DataSnap x RemObjects SDK

August 4th, 2008 Erick Sasse 2 comments

O Tiburon (ou Delphi 2009) trará boas novidades em DataSnap. Isso me deixou contente, visto que uso DataSnap em todos os meus aplicativos.

Fui questionado como essas novidades se comparam ao RemObjects SDK mas ainda é um pouco cedo para comparar os dois, visto que o que vimos do novo DataSnap até agora é muito pouco. O que me parece é que o DataSnap ainda será mais simples do que o RemObjects SDK, o que não poderia ser muito diference, visto que o RO já tem muito mais tempo e maturidade.

Steve Shaughnessy deu um preview das melhorias do DataSnap em seu blog e as discussões nos comentários ficarem bem interessantes também.

De início o que ficou meio confuso para mim e para outros é que aparentemente os métodos remotos precisam ser chamados sempre como stored procedures. Os parâmetros dos métodos (tanto de entrada como saída) seriam parâmetros das “stored procedures”.

Além disso, por padrão, não existe nenhuma checagem de tipo pelo compilador, apesar que nos últimos comentários o Steve já disse que isso pode estar disponível até o lançamento do produto.

Vamos aguardar mais novidades para poder comentar melhor.

RemObjects para Mac OS X e iPhone

June 3rd, 2008 Erick Sasse No comments

A RemObjects está abrindo o beta dos seus produtos para Mac OS X e iPhone.

Categories: .NET, Delphi, RemObjects Tags: , ,

RemObjects Wiki

May 9th, 2008 Erick Sasse 1 comment

A RemObjects anunciou alguns dias atrás a disponibilidade do seu wiki no endereço wiki.remobjects.com. Ele deverá ser a principal fonte de referências para os produtos da RO.

Acho bem legal essa iniciativa, pois permite a manutenção da documentação de forma muito mais dinâmica, além de permitir muito mais colaboração para a melhoria do conteúdo.

Um recurso bem útil para quem fica offline é a possibilidade de baixar o wiki inteiro para leitura desconectado. Para isso utilize o link “download wiki” na página inicial.

Conversei com eles sobre a possibilidade de traduzir o conteúdo para outros idiomas. Eles disseram que estão estudando e que isso pode vir a acontecer, mas não tem nada certo ainda. Eu disse que poderia colaborar com o português. Acho que isso ajudaria bastante os desenvolvedores brasileiros, que estão sempre me perguntando por conteúdo em português sobre as ferramentas RemObjects.

Categories: RemObjects Tags:

Chrome tem nova versão e agora se chama Oxygene

April 30th, 2008 Erick Sasse No comments

Oxygene logoA versão 3.0 do compilador Object Pascal da RemObjects foi anunciada com várias novidades, incluindo um novo nome!

Por motivos que a RemObjects não quer revelar, o nome Chrome está sendo substituído por Oxygene. Visite a página do produto.

É uma pena que eu não tenho tido tempo de brincar com essa linguagem, pois tenho visto muitas novidades legais.

Categories: .NET, Chrome, RemObjects Tags:

25% de Desconto nos Produtos da RemObjects

December 18th, 2007 Erick Sasse 2 comments

Se você estava esperando uma boa oportunidade para adquirir licenças da RemObjects, não perca essa. Até o dia 31, eles estão dando 25% de desconto para todas as compras. Basta informar o código XMAS07 durante a compra. Mais informações aqui.

Categories: RemObjects Tags:

Teste o Visual Studio 2008 com Object Pascal

November 22nd, 2007 Erick Sasse 6 comments

Está curioso para testar o Visual Studio 2008 mas não gosta do C#? Você pode baixar agora do site da RemObjects o trial do Chrome com Visual Studio 2008 e ter a nova IDE da Microsoft com sua nossa linguagem preferida. :)

Categories: .NET, Chrome, RemObjects, Visual Studio Tags:

Monitorando comunicação com o banco de dados no RemObjects DataAbstract

November 20th, 2007 Erick Sasse 1 comment

Durante o desenvolvimento, eu sempre monitoro toda comunicação do aplicativo com o banco de dados. Isso ajuda muito a melhorar o aplicativo e otimizar a comunicação.

No DataAbstract é muito fácil monitorar essa comunicação. No componente DriverManager (TDADriverManager), basta setar a propriedade TraceActive para True, marcar todos os tipos de comandos que deseja logar na propriedade TraceFlags e implementar um handler para o evento OnTraceEvent que é disparado a cada comunicação com o banco.

Eu monitoro tudo usando a Debug Window do GExperts, perfeita para esse tipo de coisa.

Categories: Delphi, RemObjects Tags:

RemObjects AnyDAC

November 15th, 2007 Erick Sasse 2 comments

Essa foi uma grande coincidência. Cerca de um mês atrás me interessei pelos componentes AnyDAC da da-soft, que fazem acesso nativo a vários bancos de dados. Vi que somente a versão 2 suportava Firebird e ainda estava em beta, e somente desenvolvedores registrados poderiam ter acesso ao beta. Como era bem barato, resolvi comprar para dar uma olhada mas confesso que não tive tempo ainda.

E para minha surpresa hoje saiu a notícia de que a RemObjects e a da-soft fizeram uma parceria e o AnyDAC a partir da versão 2 fará parte do portifolio de produtos da RemObjects. Realmente uma ótima notícia! Veja mais detalhes aqui.

Eu ainda conheço pouco o AnyDAC, mas pretendo ajudá-los nos testes e se tiver algo interessante, publico aqui. A grande vantagem de usar o RemObjects DataAbstract é que posso trocar o componente de acesso a dados apenas trocando a string de conexão ao banco. Ou seja, posso sair do IBX, ir para o DBX e depois para o AnyDAC em poucos minutos. :)

Categories: Delphi, Firebird, RemObjects Tags:

Mais de um serviço DataSnap no seu servidor RemObjects

August 28th, 2007 Erick Sasse 2 comments

Meu post sobre como criar um servidor DataSnap passo a passo com o RemObjects SDK foi muito bem aceito, fiquei bem satisfeito. O pessoal precisava disso mais do que eu pensava. :)

Uma pergunta que surgiu mais de uma vez depois da publicação do artigo foi sobre como colocar mais de um DataModule no servidor. E é bem simples de se fazer. Basta adicionar novos serviços descendentes de AppServer no servidor utilizando o Service Builder do RemObjects. Depois disso, para cada serviço novo no servidor você precisa de um novo RODataSnapConnection no cliente com o ServerName preenchido com o mesmo nome do serviço.

É bem normal ter mais de um serviço DataSnap no servidor. Normalmente essa divisão se dá por áreas funcionais do aplicativo como por exemplo, Controle de Estoque, Financeiro, etc. Mas naturalmente você pode dividir da forma que preferir.

Categories: Delphi, RemObjects Tags:

Passo a Passo: RemObjects SDK e DataSnap

August 2nd, 2007 Erick Sasse 25 comments

Para ajudar quem deseja utilizar o RemObjects SDK como camada de comunicação de um aplicativo DataSnap, substituindo o BSS, aqui vai um passo a passo usando Delphi 2006 e RemObjects SDK 5 para criação de um servidor Combo (que pode funcionar como serviço ou como aplicativo standalone):

File, New, Other. Em Delphi Projects, procure por RemObjects SDK e selecione Combo Service/Standalone.

ro1.JPG

O wizard do RO aparece. Escolha uma pasta para o projeto, as outras configurações não precisam ser alteradas. Clique OK.

ro2.JPG

Nesse momento você já tem um servidor e um cliente prontos, organizados em um grupo de projetos na IDE.

ro3.JPG

Vamos criar um novo serviço no servidor que exponha nossos DataSetProviders do DataSnap. Dê um clique duplo no NewProject.exe para selecionar o servido de aplicação e no menu RemObjects da IDE selecione “Edit Service Library” ou Ctrl+Alt+U. Isso vai abrir o Service Builder já mostrando que seu servidor tem um serviço denominado “NewService”.

ro4.JPG

Para criar um serviço DataSnap, precisamos incluir um RODL que já acompanha o RO e que possui todas as definições da interface padrão de servidores DataSnap. Para isso, estando no Service Builder, selecione o menu Edit, Use Existing RODL e depois selecione DataSnap. Agora o nome “uRODataSnap” já deve aparecer na treeview ao lado esquerdo.

ro5.JPG

Agora crie o novo serviço clicando no botão Service e dê o nome de “DataSnapService”. Na combo Ancestor selecione AppServer. Isso diz para o RO que esse serviço é descendente de AppServer, que é a interface de servidores DataSnap.

ro6.JPG

Feche o Service Builder, e tente compilar o servidor (Ctrl+F9). Neste momento uma nova tela do RO aparece perguntando como você deseja implementar o novo DataSnapService. Utilize a opção recomendada, “RemObjects SDK Remote Datamodule”.

ro7.JPG

Agora você já tem um DataModule onde pode colocar seus componentes de dados e o DataSetProvider.

ro12.JPG

Coloque alguns, compile o servidor e execute usando a opção Launch Server Executable do menu RemObjects SDK na IDE ou usando o atalho Ctrl+Alt+F9. Seu servidor já está rodando.

ro9.JPG

Dê um duplo clique no NewProjectClient.exe para selecionar o cliente. Abra o form do cliente, apague o componente RORemoteService, que não utlizaremos e coloque um componente TRODataSnapConnection. Selecione o componente e ligue com o ROChannel e a ROMessage que já estão no form. Na propriedade ServerName, coloque o nome do serviço DataSnap que criamos no servidor, ou seja, “DataSnapService”.

ro10.JPG

Coloque um ClientDataSet no form, ligue ele ao RODataSnapConnection usando a propriedade RemoteServer e selecione o provider na propriedade ProviderName.

ro11.JPG

Pronto! Você já tem um aplicativo em 3 camadas DataSnap usando RO como camada de comunicação. Se desejar rodar o servidor como serviço do Windows, basta registrar o serviço usando “NewProject.exe /install” na linha de comando.

Categories: Delphi, RemObjects Tags:

Chrome ‘Joyride’ lançado

July 29th, 2007 Erick Sasse No comments

A versão 2.0 do Chrome, codinome ‘Joyride’ acaba de ser lançada. Ela vem com suporte aos novos recursos do .NET Framework 3.x, como WPF, WCF, LINQ, etc. Já suporta também o Visual Studio 2008.

Pra quem não conhece, Chrome é a linguagem object pascal para Visual Studio, com muitos recursos interessantes que valem a pena serem conhecidos. O grande foco do Chrome são os desenvolvedores Delphi que precisam desenvolver para .NET usando as últimas versões do framework e suas últimas tecnologias sem ter que abandonar o pascal. Eles tem inclusive um preço especial de upgrade para quem já possui o Delphi. E nesse caso você pode comprar direto da RemObjects o Chrome já com o Visual Studio, que é uma versão especial do VS apenas com o Chrome.

Chrome suporta também Mono, inclusive disponibilizaram um wallpaper show de bola.

Categories: .NET, Chrome, RemObjects Tags:

Falando de RemObjects DataAbstract

July 27th, 2007 Erick Sasse 3 comments

Parece que o Diego Garcia vai começar a falar também sobre RemObjects DataAbstract. Muito legal!

Só não entendi a parte em que ele diz que foi “autorizado” a falar sobre o assunto. Qualquer um pode falar, e quanto mais falarem, melhor. :)

Categories: RemObjects Tags:

Validando Datasets na Estrutura do Banco de Dados

June 29th, 2007 Erick Sasse 2 comments

Durante essa semana estive modificando o nome de alguns campos do banco de dados de um dos nossos maiores projetos. Um dos campos era relativamente importante, de uma das principais tabelas do sistema e estava sendo usado no SQL de muitos datasets.

Qual seria a melhor forma de localizar todos os locais que o campo é utilizado? A primeira idéia que me veio a cabeça foi usar o ótimo Grep Search do GExperts e pesquisar todos os arquivos do projeto, incluindo os DFM. O problema dessa solução é que a pesquisa traz muito lixo junto, pois o nome do campo era comum e várias tabelas tinham outros campos com o mesmo nome. Então tive que ir item por item encontrado, analisar o código, identificar se era da tabela que eu estava modificando e então modificar o SQL.

Conclusão, foi uma tarefa demorada, chata e com muita chance de deixar algo passar e só dar pau quando o cliente for usar o sistema.

E o que me motivou a contar isso aqui, é que só tive essa dificuldade porque esse sistema ainda está usando DataSnap padrão do Delphi com muitos TSQLDataSet e TSQLQuery espalhados nos data modules do servidor. Em breve pretendo iniciar a migração dele para DataAbstract, que fornece uma ferramenta ótima para facilitar a nossa vida nesse tipo de situação.

No DataAbstract, todos os datasets que utilizamos no sistema são criados e mantidos através do Schema Modeler, portanto temos um local centralizado para todo o SQL que escrevemos no sistema. O interessante é que a qualquer momento você pode pedir para o Schema Modeler validar todos os datasets com a estrutura do banco. O que ele faz é conectar ao banco e verificar se todos os seus comandos SQL ainda são válidos na estrutura atual do banco. Não é show?

E tem mais! Se seu sistema suportar mais de um banco ao mesmo tempo. Por exemplo, Firebird e SQL Server, o Schema Modeler conecta aos dois e valida os comandos nos dois bancos.

Enfim, é uma ferramenta muito poderosa e que pode nos economizar muito tempo na manutenção de nossos aplicativos.

Categories: Delphi, RemObjects Tags:

Apresentação Multi-Camadas com RemObjects DataAbstract

June 26th, 2007 Erick Sasse 8 comments

No sábado fiz uma apresentação do RemObjects DataAbstract para uma sala cheia de desenvolvedores no Delphi Developers Day. Senti que a maioria do pessoal não conhecia a ferramenta e gostou bastante do que viu. Infelizmente uma palestra de apenas 1 hora não dá pra mostrar muita coisa, mas quem sabe no próximo não fazemos um mini-curso?

Conforme prometido, neste link você pode baixar os slides da apresentação. É o primeiro arquivo que hospedo no Box.net, então me avisem caso tenham algum problema.

Aliás, falando em  DataAbstract, hoje a RemObjects publicou o novo roadmap de seus produtos, relacionando algumas novidades bem interessantes que vem por aí.

Categories: Delphi, RemObjects Tags:

Delphi Developers Day em São Paulo

June 20th, 2007 Erick Sasse 3 comments

Neste sábado acontece o Delphi Developers Day em São Paulo. Estarei palestrando sobre desenvolvimento multi-camadas e multi-plataforma com o RemObjects Data Abstract.

A idéia principal é mostrar os principais recursos dessa ferramenta poderosa que venho utilizando para desenvolver meus aplicativos em 3 camadas.

Não prometo, mas tentarei incluir no tempo da palestra demonstração de aplicativos rodando em 3 “plataformas” distintas: Win32 (esse com certeza), .NET e Linux.

Se você está interessado no assunto, me ajude a direcionar bem o conteúdo me enviando dicas dos principais tópicos que gostaria de ver. Prometo disponibilizar os slides aqui na semana que vem.

A inscrição no evento pode ser feita no site do DUG-BR.

Categories: .NET, Delphi, Free Pascal, RemObjects Tags:

Compilando Servidor RemObjects no Free Pascal

June 20th, 2007 Erick Sasse 1 comment

O suporte oficial ao FPC é provavelmente um dos recursos mais bem-vindos das novas versões do RO SDK e RO DataAbstract.

Para quem está interessado, ontem foi publicado um artigo no site da RO mostrando como compilar no FPC um servidor criado na IDE do Delphi.

Categories: Free Pascal, RemObjects Tags: