1 / 46

Borland Kylix

Borland Kylix. Alunos: Arthur Alonso Breno Peixoto Gustavo Soares Vinicius Falseth. Kylix - Apresentação da linguagem. Sintaxe Object Pascal Oferece um ambiente de desenvolvimento rápido

huey
Download Presentation

Borland Kylix

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Borland Kylix Alunos: Arthur Alonso Breno Peixoto Gustavo Soares Vinicius Falseth

  2. Kylix - Apresentação da linguagem • Sintaxe Object Pascal • Oferece um ambiente de desenvolvimento rápido • biblioteca de componentes cross-platform, denominada CLX (Component Library Cross-Platform), o objetivo principal dessa nova biblioteca é criar uma grande portabilidade para os controles

  3. CLX (Component Library Cross-Platform) • VisualCLX • DataCLX • Local • Cliente/Servidor • N-Tier • NetCLX • Apache DSO e CGI WebBroker • XML e DHTML • TCP/IP socket • BaseCLX

  4. Kylix - Apresentação da linguagem • Compatível com a arquitetura Corba, que permite a integração com diversas linguagens, e funciona com qualquer distribuição Linux • Desenvolvimento de projetos corporativos • Características como BizSnap, WebSnap e DataSnap

  5. Kylix - Apresentação da linguagem • BizSnap é a plataforma de desenvolvimento de serviços web que permite conectar e integrar aplicações business-to-business (B2B) entre si através de padrões como SOAP (Simple Object Access Protocol) e XML (eXtensible Markup Language)

  6. Kylix - Apresentação da linguagem • WebSnap, permite a criação de sites em Linux e trabalha bem com os servidores Apache, conferindo maior velocidade ao desenvolvimento para a web • DataSnap garante acesso em vários bancos de dados, como DB2, Informix, Oracle, PostgreSQL, MySQL

  7. Kylix - IDE • A GUI do Windows permanece encapsulada num conjunto de API´s denominada Win32, que é a mesma para o Win9x, NT e o 2000 • No Linux existem várias GUIs, escritas com diversas bibliotecas. As mais conhecidas são a QT do KDE e a GTK+ do Gnome

  8. Kylix - IDE - GTK+ Gnome

  9. Kylix - IDE - QT KDE

  10. Kylix - IDE - QT KDE

  11. Case Design Studio • Use Case (UML) • Modelagem de Classes • Geração de código fontes Delphi/Kylix (VCL/CLX) • Geração do Banco de Dados • Engenharia reversa de projetos e fontes já existentes

  12. Case Design Studio • Engenharia reversa de Banco de Dados • Herança de entidades para geração de Banco de Dados • DFD • Lista de Eventos • Suporte a Plugin's

  13. Case Design Studio

  14. CDS - Diagrama de Classes

  15. Case Design Studio • A principal vantagem é a conciliação de todos os modelos E-R, OO e UML em uma única ferramenta integrada de baixo custo e alta performance. Sem a necessidade de manter o sincronismo entre diversas ferramentas com diversos modelos incompatíveis entre si.

  16. Kylix X Delphi • A sintaxe está praticamente inalterada • Pequenos detalhes serão configurados, como: • Chave de compilação condicional {LINUX} • Caminhos de arquivos deverão levar em consideração maiúsculas/minúsculas e a barra de diretório do Linux. • As classes TwinControl e TwinCustomControl serão convertidas para TwidgetControl e TwidgetCustomControl • Units específicas serão banidas, como Windows e ShellObj

  17. Kylix X Delphi - IDE • A IDE do Kylix é muito semelhante a do Delphi • Object Inspector está no mesmo lugar • A primeira diferença que salta à vista é a falta da guia Win32 (como era de se esperar). Ela foi substituída pela Common Controls

  18. Kylix X Delphi - IDE

  19. Kylix X Delphi – Banco de Dados • Grande diferença entre o Kylix / Delphi • A Borland aproveitou a oportunidade do lançamento do Kylix para criar uma nova engine de banco de dados: o dbExpress • dbExpress • engine muito leve • com uma API interna muito simples

  20. Kylix X Delphi – Banco de Dados • Voltado a bancos de dados SQL, por isso não há acesso a dBase ou Paradox. • Acesso unidirecional • estamos acostumados a mostrar os dados no formato de grades, que não poderiam ser usadas, neste caso. Para solucionar isto, a Borland pegou emprestado do Midas o componente TClientDataset

  21. Kylix X Delphi – Banco de Dados

  22. Kylix X Delphi – Banco de Dados

  23. Kylix X Delphi – Banco de Dados

  24. Kylix X Delphi – Banco de Dados

  25. Kylix X Delphi - Aplicação • Construímos um simples projeto no Delphi que adiciona Itens em um listbox. Salvamos a unit como Cidade.pas e o projeto como Cidades.dpr • Depois copiamos os arquivos e salvamos em uma pasta no linux.

  26. Kylix X Delphi - Aplicação • Ao compilar, o Kylix exibirá vários erros. Que erros são esses?

  27. Kylix X Delphi - Aplicação • Erros na unit principal que é a cidade.pas. • Algumas units colocadas na seção uses no Delphi não são usadas no kylix, como por exemplo a unit windows e a system. Outras possuem o nome diferente.

  28. Kylix X Delphi - Aplicação

  29. Kylix X Delphi - Aplicação

  30. Kylix X Delphi - Aplicação • Teremos problemas também na diretiva de compilação que mostra a extensão dos arquivos de formulário, que fica na primeira linha da seção implementation. No Delphi os arquivos de formulário possuem extensão DFM, mas no Kylix a extensão é XFM

  31. Kylix X Delphi - Aplicação

  32. Kylix X Delphi - Aplicação

  33. Kylix X Delphi - Aplicação • Tentando compilar novamente, o Kylix ainda irá gerar outro erro, agora na unit do projeto. Ocorre o mesmo erro da unit principal, ou seja as units e a diretiva de compilação. • São problemas simples de resolver. A diretiva de compilação do arquivo de recurso (*.RES) no Delphi é colocada em letra maiúscula, e no Kylix deve ser em letra minúscula (lembrando que o Linux é case-sensitive quando trabalha com nome de arquivo) .

  34. Kylix X Delphi - Aplicação

  35. Kylix X Delphi - Aplicação

  36. Kylix X Delphi - Aplicação

  37. Kylix - Portabilidade • Se você tiver programas que não utilizem bancos de dados, API do Windows e só utilizem componentes padrões do Delphi, o trabalho de portar a aplicação será muito suave: provavelmente, com a mudança das cláusulas Uses, o programa poderá ser recompilado no Kylix.

  38. Kylix - Portabilidade • Os nomes das units que contém os componentes foram alteradas, incluindo-se um caractere Q no início do nome. Assim, Forms virou QForms, Controls tornou-se QControls e assim sucessivamente. • Poderá ocorrer problemas com características diferentes entre o Linux e o Windows, como a inexistência do conceito de drives ou a mudança de separadores de caminho, por exemplo.

  39. Kylix - Portabilidade • Os programas que utilizam bancos de dados sofrerão alterações mais profundas: • Paradox e dBase não são mais suportados - o ideal é converter a base de dados para Interbase e usar suas características. • Como o dbExpress é baseado em Sql, é interessante converter o uso de Tables para Queries, minimizando o tráfego na rede • Os componentes TTable, TQuery e TStoredProc devem ser convertidos para TSqlTable, TSqlQuery e TSqlStoredProc. Todo o acesso que não seja unidirecional deve contar ainda com um componente TDatasetProvider e um TClientDataset. Os componentes dataware devem estar ligados ao TClientDataset

  40. Kylix X Eiffel - Variáveis • Em Eiffel e em Kylix a manipulação de objetos é sempre por referência, isso permite que a utilização dos objetos seja desacoplada da sua dimensão e da sua declaração interna. A declaração por valor permite gerar código mais eficiente, mas com prejuízo da polimorfia • Para linguagens híbridas como o Kylix e o Java, as variáveis dos tipos primitivos como inteiros e reais, que não são classes, são acedidos por valor.

  41. Kylix X Eiffel - Unicidade • A unicidade de identificação das operações diverge de linguagem para linguagem. Em C++ e Java podem existir operações distintas com o mesmo nome, desde que tenham lista de parâmetros distintas. Em C++ os tipos de retorno não distinguem, mas em Java sim. Em Eiffel e em Kylix a unicidade é garantida apenas pelo nome, assim como em Smalltalk.

  42. Kylix X Eiffel - Ambiquidade • Para desfazer a ambigüidade em C++ ou se utiliza um operador de resolução do âmbito(“::”) ou se redefine na classe descendente o atributo ou operação que é alvo de colisão. • Em Eiffel, no caso geral, a colisão de nomes obriga que se utilize uma clausula especial de renomeação (rename) para mudar pelo menos um dos designadores do atributo ou operação em colisão. Em Kylix este problema não ocorre porque a herança múltipla não é suportada.

  43. Kylix X Eiffel - Polimorfia • Em C++, Java, Smaltalk, Kylix e Eiffel a implementação de uma operação pode ser alterada nos descendentes. • Em Eiffel existe a possibilidade adicional de mudar o nome a um membro herdado (operação ou atributo), ou mesmo cancelá-lo.

  44. Kylix X Eiffel - Classes Genéricas • A parametrização de classes está disponivel nas linguagens C++ (aí designadas de templates) e Eiffel, mas não em Java, Smaltalk ou Kylix. • A parametrização de classes não é uma inovação do paradigma dos objetos. Uma construção semelhante, designada de generics, já existia, por exemplo, na linguagem Ada.

  45. Kylix X Eiffel - Garbage Collection • O Eiffel tem um mecanismo de Garbage Collection. • A Garbage Collection no Kylix deve ser implementado a cargo do programador.

  46. Kylix X Eiffel - Quadro Comparativo

More Related