sábado, 6 de junho de 2009

Roadmap Delphi, o que vem nas próximas versões ?

Por RODRIGO CARREIRO MOURÃO

Olá Amigos, como vão ?

Bem todos sabem que eu sou um aficcionado por Delphi, podem falar o que quiserem defendo e defenderei a ferramenta CQC. Notícias de que o Delphi vai acabar, que já acabou rolam desde o Delphi 1 mas eu sempre me pergunto: Como pode uma ferrament que está acabando lançar uma versão nova quase que anualmente ? Será que se investiriam em algo que não da retorno ? Isso sem falar em toda a pirataria que temos (Não serei hipocrita, sem que o custo da ferramenta para programadores soles e muito grande, mas temos o turbo Delphi que é free).

Meu inglês não é dos melhores, para falar a verdade ainda estou estudando e falta muito, mas tomei coragem para traduzir e adaptar um post de Marco Cantu sobre o Road Map do Delphi para os próximos anos. Espero que gostem e vibrem como eu vibrei ao ver o que nos aguarda pela frente.

Vamos a ele:

No dia 15 de maio deste ano, durante o Delphi Live nos EUA, a Code Gear anunciou uma grande quantidade de novos recursos para as próximas do Delphi. Durante duas sessões seguintes e CodeGear forneceu informações sobre a direção que eles querem dar para o Delphi. A quantidade de informação passada foi muito grande. `Ficou evidente que eles estão investindo muito em Delphi (provavelmente mais do que em qualquer outra época da história do produto e que a aposta da Embarcadero no Delphi e bastante grande. David I iniciou o primeiro KeyNote falando a comunidade de desenvolvedores, mostrando uma entrevista gravada com Wayne Williams, CEO da Embarcadero, que confirmou: "Estamos investindo pesado no Delphi" e que disse ao David: "Somos fã de vocês há muito tempo".

Finalmente ele mencionou que, apesar da desaceleração econômica o "negócio é saudável". Michael Swindell foi o próximo, citando o fato de a Embarcadero ser "all about development tools", falando sobre AllAcess, InstantOn e outras questões técnicas. Ele exibiu um logo muito legal "Embarcadero Loves Delphi: e discutiu o objetivo fundamental para o Delphi nos próximos anos."Native Delphi Everywhere", citando Mas OS X e Linux, e também mobile, RIA, programação nas nuvens.



Seguinte Michael falou sobre "Delphi Natural Input", dizendo que as novas formas de entrada vão mudar a nossa forma de interagir com computadores nos próximos anos. Ele se referiu a touch screen, surface tables, accelerometers, GPS, voz e muitos outros. Em seguida ele demonstrou isto na prática com a próxima versão do Delphi (CODEC Weaver).

Ele mostrou o novo componente GestureManager, que captura gestos predefinidos para eventos, como definir gestos personalizados, e demonstrou algumas aplicações que vão desde um toque de básico FishFact a um programa para manipular imagens usando as duas mãos. E esse foi um aplicativo nativo em Delphi, que pode funcionar também em versões mais antigas do Windows (e não apenas no Windows 7). Tecnicamente ele disse que os gestos serão vinculados às ações, ou seja, você será capaz de lidar com um evento OnGesture. Nick Hodges foi o próximo e falou sobre o Delphi 2009, principalmente sobre os novos recursos, a qualidade, novidades da linguagem, suporte a banco, COM, novos componentes da VCL, ID etc. Ele falou também sobre Delphi Prism e suporte a .Net 3.5.

A última parte (este durou 2 horas e meia) foi Mike Rozlog que conduziu, o novo Delphi Product Manager, que apresentou o novo Road Map do Delphi. Ele anunciou uma série de projetos que estão sendo "tocados" em paralelo, mas não definiu uma data para liberação. São eles:

Projeto Weaver: Foco na Experiência do Usuário (com o novo IDE Insight e suporte a touch), Conectividade, melhoria na documentação e aumento da produtividade em equipe. Ele terá uma nova versão do DataSnap com suporte a HTTP, um servidor built-in RESTO, Proxy .NET para DATASNAP e suporte a Callback. Suporte nativo a firebird como já havia sido anunciado. Outro recurso será o suporte a AOP (programação orientada a aspectos), através de atributos adicionados ao compilador win32 com suporte a varias extensões ao RTTI (este assunto foi abordado em outra palestra por Berry Kelly). O projeto Weaver terá ainda integração com subversion, Suporte a Windows 7 e Direct2D e suporte a SOAP 1.2.

Project Delphi "X": Foco em suporte a Cross-Plataform para Linux e MacOS para desenvolver aplicação tanto client e servidor. Aparentemente isso será demonstrado hoje (Dia 16 no Delphi Live).

Projeto Chromium: Este foca na produtividade do desenvolvedor irá incluir formatador de código, documentação para ToolsAPI, novo modelo de DataBinding e integração com as ferramentas de banco de dados da Embarcadero.

Projeto Commodore: Este trará um compilador nativo para Windows 64 bit, suporte a 64bit para RTL e VCL, suporte a Multicore e "parallel RTL".

Olhando para o futuro, Mike Rozlog menciona a computação nas nuvens (), Web 3.0++, que vão além de RIA. Finalmente ele mostra um slide sobre programação funcional, programação declarativa e mais plataformas.

Enfim para mim o Delphi é e sempre será a melhor ferramenta de desenvolvimento de todos os tempo (opinião pessoal) claro que não podemos nos fechar para novas tecnologias mas como vocês podem ver se o Delphi continuar a acompanhar as novas tendências não teremos por que migrar.

Abraços a todos e até o Delphi Weaver, ou seja lá qual for o nome.


Traduzido e adaptado do blog de Marco Cantu
http://blog.marcocantu.com/blog/delphi_live_2009_2_roadmap.html

quarta-feira, 3 de junho de 2009

Notícias Importantes Relacionadas ao FireBird



  • Foi anunciado que a próxima versão do Delphi terá suporte oficial ao Firebird no dbExpress.
  • Depois de algum tempo paralisado, o autor do IBObjects está no momento portando os componentes para Delphi 2009.
  • Segundo David I, a Embarcadero está alterando várias das suas ferramentas para bancos de dados, para ter suporte ao Firebird. As novas versões devem estar disponíveis no final de 2009/começo de 2010.

Entramos na reta final para a realização do 6º Firebird Developers Day! Em cerca de um mês, o evento trará a todos os participantes, informações de alto nível, imprescindíveis para qualquer desenvolvedor ou DBA

[]s
Carlos H. Cantu

domingo, 31 de maio de 2009

Marco Cantù at Delphi Live! 2009


Escritor dos Livro A Biblia do Delphi - Marco Cantù - Delphi Live 2009

All-Access - A nova caixa de ferramentas da Embarcadero


por: Andreano Lanusse

Esta apresentação é uma visão geral sobre o All-Access a caixa de ferramentas da Embarcadero, proporcionando a todo desenvolvedor e DBA acesso completo a todas as ferramentas Embarcadero, acesso ao recurso InstantOn que permite a execução de aplicações sem a necessidade de instalação e receber todas as novas versões de produtos no período de 1 ano a partir da aquisição do All-Access

Clique aqui

Dicas Delphi - Criando um Splash Screen - A

Você pode criar uma tela de abertura no seu programa em Delphi. Após ter criado um formulário principal, crie um formulário para a tela de abertura. Aqui iremos chamá-lo de FormSplash.

Depois de criar os dois formulários, clique no menu VIEW, na opção PROJECT SOURCE, que permite que seja exibido o código do arquivo principal do projeto. Localize no código a linha em que o formulário de abertura é criado e apague-a (ou coloque em modo de observação, inserindo // no início da linha).

Linha que deve ser apagada:

begin
...
Application.CreateForm(T
FormSplash, FormSplash); // Esta linha deve ser apagada
...
end;

Após remover a linha acima, insira as linhas abaixo antes da criação dos demais formulários do seu aplicativo:

Linhas que devem ser inseridas:

begin
FormSplash:= TFormSplash.Create(Application);
FormSplash.show;
FormSplash.Release;

{Os demais formulários devem ser criados aqui}
...

FormSplash.Free;
Application.Run;
End;

Os comandos...

FormSplash := FormSplash.Create(Application); - cria o formulário
FormSplash.Show - exibe o formulário de abertura na tela
FormSplash.Free; - tira o formulário da memória

Dicas Delphi - Procurando e Substituindo string num campo memo

Procedure FindReplace(const Enc, subs: String; Var Texto: TMemo);
Var
i, Posicao: Integer;
Linha: string;
Begin
For i:= 0 to Texto.Lines.count - 1 do
begin
Linha := Texto. Lines[i];
Repeat
Posicao:=Pos(Enc,Linha);
If Posicao > 0 then
Begin
Delete(Linha,Posicao,Length(Enc));
Insert(Subs,Linha,Posicao);
Texto.Lines[i]:=Linha;
end;
until Posicao = 0;
end;
end;

// Utilize a função assim:

Procedure TForm1.Button1Click (Sender: TObject);
Begin
FindReplace(Edit1.Text,Edit2.Text, Memo1);
end;

Dicas Delphi - Deletando um arquivo

if FileExists('C:\Temp\MEU.Doc') then
DeleteFile('C:\Temp\Meu.Doc');

Dicas Delphi - Deletando arquivos de um diretório utilizando caracter curinga '*'

procedure TForm1.SpeedButton1.Click(Sender: TObject);
var
SearchRec: TSearchRec;
Result: Integer;
begin

Result:=FindFirst('c:\Temp\*.*', faAnyFile, SearchRec);

while result=0 do
begin
DeleteFile('c:\Temp\'+SearchRec.Name);
Result:=FindNext(SearchRec);
end;
end;

Dicas Delphi - Invertendo uma string

Function ReverseStr(S : ShortString) : ShortString;
var
I : Integer;
begin

Result := '';
For I := Length(S) DownTo 1 Do
Result := Result + S[I];

end;

Dicas Delphi - Apagando um Subdiretório

Inclua a unit SHELLAPI na clausula uses do seu form.

procedure DeleteDir( hHandle : THandle; Const sPath : String );
var
OpStruc: TSHFileOpStruct;
FromBuffer, ToBuffer: Array[0..128] of Char;
begin
fillChar( OpStruc, Sizeof(OpStruc), 0 );
FillChar( FromBuffer, Sizeof(FromBuffer), 0 );
FillChar( ToBuffer, Sizeof(ToBuffer), 0 );
StrPCopy( FromBuffer, sPath);
With OpStruc Do
Begin
Wnd:= hHandle;
wFunc:=FO_DELETE;
pFrom:= @FromBuffer;
pTo:= @ToBuffer;
fFlags:= FOF_NOCONFIRMATION;
fAnyOperationsAborted:=False;
hNameMappings:=nil;
//lpszProgressTitle:=nil;
End;
ShFileOperation(OpStruc);
end;


// Utilize a função assim:

procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteDir( Self.Handle,'C:\Temp');
end;