Arquivos para a Categoria 'Chrome'

RemObjects Oxygene é o novo Delphi Prism

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

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.

Delphi 2009 apenas Win32 e futuro Delphi .NET

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? :)

Chrome tem nova versão e agora se chama Oxygene

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.

Blaise Pascal Magazine

A Blaise Pascal Magazine é uma nova revista direcionada as linguagens baseadas em Pascal, como Delphi, Free Pascal, Chrome, etc.

Possui versão gratuita para download online e versão impressa por um preço bem acessível. 25 euros para o primeiro ano e 40 euros a partir do segundo. Aparentemente ela pode ser despachada para qualquer lugar do mundo e os custos já estão inclusos na assinatura.

Teste o Visual Studio 2008 com Object Pascal

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. :)

Chrome ‘Joyride’ lançado

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.

Enumerator Index

Depois que li esta ótima série de artigos sobre enumerators no Delphi, comecei a implementar enumerators para minhas listas tipadas. Isso simplificou muito meu código de loop em listas, mas em alguns casos eu simplesmente não pude usar o for..in pois eu precisava saber o índice de cada item durante o loop, então tinha que usar o for normal.

Agora acabo de ver um post do Marc mostrando um novo recurso no Chrome que resolve exatamente este problema. No Chrome 2.0 você pode definir uma variável para índice em um for each. Ficaria assim:

for each Item in MinhaLista index I: Int32 do

E dentro do loop você pode usar a variável I sempre que precisar saber o índice do item atual. Muito útil. Seria muito útil no Delphi.

Ajude a melhorar o Delphi

Conforme vamos conhecendo outras linguagens sempre encontramos coisas legais que podem ser incorporadas ao Delphi.

Já comentei aqui de outros recursos do Chrome e vou comentar mais um que acho bem prático.

Eu escrevo muito código parecido com esse dentro de funções:

if (algumacoisa) then
begin
  Result := True;
  Exit;
end;

Em Chrome, o Exit suporta um parâmetro de retorno, que é sempre do mesmo tipo de retorno da função, então eu não preciso atribuir o valor de retorno ao Result e depois chamar Exit. Eu simplesmente chamo o Exit passando o valor de retorno. Assim:

if (algumacoisa) then
  Exit(True);

Prático, não? Pois é. Felizmente alguém já fez a solicitação para incluirem exatamente esse recurso no Delphi. Veja aqui no QC#7201.

Toda essa introdução foi para justificar o título deste post. O QC da Borland permite que você vote nos principais recursos que gostaria de ver no Delphi. Eu por exemplo já deixei meu voto nesse ai e em vários outros.

Vocês tem que participar, tem que agitar as coisas por lá, sugerindo, comentando, votando. Para que o pessoal saiba direcionar melhor o produto de acordo com as nossas necessidades.

No futuro quero dedicar uma reunião do DUG Campinas para mostrar o QC em detalhes e estimular o pessoal a participar. Mas você já pode começar participando desde já.

Gostou desse recurso que mostrei do Chrome? Vá no QC e coloque seu voto nele, para que apareça bem colocado na lista de recursos sugeridos e seja implementado o quanto antes pela DevCo.

Migrando Win32 para .NET com RemObjects Hydra

A RemObjects está trabalhando na versão 3 do seu framework de plugins e a principal novidade é a integração absurdamente fácil de módulos Win32 e .NET. Você pode por exemplo, desenvolver módulos do seu aplicativo em .NET e usá-los sem nenhum esforço nos aplicativos Win32. E isso funciona inclusive para componentes visuais!

Se você não tem idéia do que estou falando, dê uma olhada neste aplicativo Delphi Win32:

Tá vendo esse ListBox, o Edit e o botão Add? Então, eles são componentes WinForms .NET, desenvolvidos em Chrome usando Visual Studio. Mas poderia ser Delphi .NET usando BDS mesmo, C# ou até VB.NET. Detalhe, eles estão dentro de um TForm comum, da VCL Win32 do Delphi.

Show de bola, não? Então dê uma olhada neste artigo da RemObjects que explica melhor como isso é possível. Pra quem deseja migrar os aplicativos para .NET aos poucos, o Hydra 3 parece ser uma ótima solução.

RemObjects DevStudio 1.0

A RemObjects acaba de anunciar o RemObjects DevStudio 1.0. O DevStudio é um pacote de produtos para .NET da RemObjects que opcionalmente pode incluir até o Visual Studio 2005, caso você ainda não tenha uma licença dele.

No pacote estão inclusos:

  • Microsoft Visual Studio 2005 Chrome Edition (Optional)
  • RemObjects Chrome 1.5
  • RemObjects DebugServer 3.0 (BETA)
  • RemObjects Internet Pack 1.0
  • RemObjects SDK 4.0
  • RemObjects Data Abstract 4.0

Meu Review do RemObjects Chrome

Há alguns meses escrevi um review do Chrome, que pretendia publicar na MSDN Magazine, mas ele acabou não sendo aprovado devido as comparações diretas que fiz com C#, mostrando que o Chrome tem muitos recursos que devem demorar ainda para aparecer no C#.

Entendo a posição da revista, então procurei outro local mais neutro para publicar, e ele acaba de ser disponibilizado no site Linha de Código.

ModelMaker Tools sorteando licenças

A ModelMaker Tools estará sorteando licenças gratuitas de seus produtos. É uma ótima chance de ganhar o fabuloso CodeExplorer (para Delphi, C# ou Chrome) ou um dos outros produtos da empresa.

DPack para Visual Studio

Se você tem usado Visual Studio, não deixe de conhecer o DPack. Um plugin gratuito que tem recursos que facilitam nossa vida.

Dentre eles o que mais uso é o Code Browser, muito parecido com o Procedure List do GExperts do Delphi. Com um atalho de teclado ele abre uma tela com com todas os métodos presentes no código fonte, e conforme você vai digitando ele vai filtrando. Com um Enter ele te leva direto para o código do método selecionado. No Delphi eu não consigo programar sem isso há muitos anos!

Ele suporta C#, VB.NET, J#, C++ e também Chrome!

Review do Chrome 1.5 pela Bitwise Magazine

A Bitwise Magazine publicou um review do Chrome 1.5.

Declaração de variáveis no Chrome

O Chrome é bem flexível e prático na declaração de variáveis. Ele permite que você utilize como no Delphi, declarando todas as variáveis no início de cada bloco, na seção “var”, mas também suporta o estilo C#, onde você declara a variável onde quiser.

class method ConsoleApp.Calculo;
var
  A, B, C: Integer;
begin
  A := 1;
  B := 2;
  C := B + A;
end;

class method ConsoleApp.Calculo2;
begin
  var A : Integer := 1;
  var B := 2;
  var C := B + A;
end;

O primeiro trecho é igual ao Delphi, já o segundo usa declaração inline e inferência de tipo, ou seja, a variável B é automaticamente declarada como Integer devido ao valor que você está atribuindo a ela. O mesmo acontece para a variável C. No caso da variável A não usei inferência, especifiquei o tipo.

Qual a melhor forma? Dificil responder. Como eu procuro manter métodos sempre bem pequenos, acho que não faz muita diferença pra mim, pois não é dificil de identificar as variáveis em pequenos trechos de código. A única vantagem imediata que vejo da declaração inline é que você acaba escrevendo menos código, mas nesse caso, a diferença é muito pouca.

Chrome: Propriedades Implícitas

Uma das facilidades que o Chrome nos oferece é o recurso de propriedades implícitas. Veja a classe abaixo em Delphi:

Pessoa = class
private
  FIdade: Integer;
  FNome: String;
public
  property Nome: String read FNome write FNome;
  property Idade: Integer read FIdade write FIdade;
end;

Em C# seria algo assim:

class Pessoa
{
  private string nome;
  public string Nome
  {
    get { return nome; }
    set { nome = value; }
  }

  private int idade;
  public int Idade
  {
    get { return idade; }
    set { idade = value; }
  }
}

Em Chrome, a mesma classe, tirando proveito das propriedades implícitas, poderia ser escrita assim:

Pessoa = class
public
  property Nome: String;
  property Idade: Integer;
end;

Ou seja, um terço do número de linhas se comparado a C# e quase a metade das linhas comparada a Delphi.

Chrome: Object Pascal para Visual Studio

Há quase um ano atrás, eu citei aqui no meu blog a existência do Chrome. Ele é uma linguagem e compilador Object Pascal para .Net e Mono. Ele se integra no Visual Stdudio 2003 ou 2005 e lhe permite desenvolver aplicativos .NET 1.1 e 2.0 usando um Object Pascal moderno e com várias praticidades não vistas no Delphi .NET ou no C#.

Até hoje eu tinha dado pouca atenção ao Chrome, pois não via muito sentido em usar outra coisa senão C# caso eu precisasse utilizar o Visual Studio. Mas depois de dedicar um pouco de tempo para conhecer o Chrome melhor, não tenho tanta certeza que o C# seja a melhor opção para quem vem do Delphi e quer ou precisa usar Visual Studio.

Criei uma categoria aqui no blog para posts sobre o Chrome, o que pretendo fazer aos poucos, mostrando os pontos interessantes e os nem tão interessantes desta linguagem.