Wikipedia for Schools in Portuguese is available here
CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Gerador de Código - Wikipédia

Gerador de Código

Origem: Wikipédia, a enciclopédia livre.

Índice

[editar] Introdução

Dentro do diversificado leque de categorias de ferramentas que prestam apoio às atividades da Engenharia de Software (CASE), uma específica vem ganhando cada vez mais destaque e, sobre ela, tem-se aplicado muito investimento nos últimos tempos: as Ferramentas de Geração de Código, ou simplesmente Geradores de Código.

Dessa forma, Gerador de Código é aquela ferramenta que possui a capacidade de gerar código a partir de um determinado modelo de software. Inclusive, de acordo com alguns pontos de vista e a partir das características específicas do tipo de Gerador de Código, ele passa a ser conversor de códigos de linguagens distintas. Isso acontece, por exemplo, com o compilador, que transforma um código escrito através de uma linguagem de programação para código de máquina ou código objeto.

[editar] Tipos mais comuns

Alguns tipos de Gerador de Código valem a pela ser mencionados. Eles possuem características específicas e uma maneira de trabalhar própria que está diretamente ligada aos seus objetivos. O mais básico tipo de gerador de código é o já mencionado compilador, como pode ser visto no artigo Code generation.

Outros dois tipos de gerador de código que estão sendo cada vez mais utilizados em ambiente de produção de software são os geradores de código de IDE’s visuais e os geradores de código baseados em templates.

[editar] Geradores de código de IDE’s visuais

Algumas ferramentas de edição integrada (IDE’s), principalmente as chamadas ferramentas de programação visual, precisaram adotar um tipo de gerador de código capaz de traduzir, em linhas de código, tudo aquilo que é “desenhado” pelo usuário desenvolvedor. Dessa maneira, por trás de ações como arrastar componentes para uma janela de uma aplicação que está sendo construída e configurar visualmente seu comportamento e forma de apresentação, vai existir um mecanismo responsável por transformar em instruções que, quando executadas, reproduzam exatamente aquilo que foi definido pelo usuário desenvolvedor, através de linhas de código da linguagem de programação correspondente à ferramenta IDE. São os também chamados mecanismos WYSIWYG.

Tal mecanismo pode ser encontrado em ferramentas como o Borland Delphi, o Oracle JDeveloper ou o Microsoft Visual Studio, quando do desenvolvimento de aplicações tanto de ambiente desktop, como Web.

[editar] Geradores de código baseados em templates

Ultimamente, os geradores de código baseados em templates começaram a figurar o elenco das ferramentas CASE presentes em ambiente de produção de software como sendo uma opção para a geração automática e massiva de funcionalidades de aplicações, seja de maneira completa ou parcial.

Ferramentas tais como Velocity (do Apache Jakarta Project), Transformica (do Hammurapi Group) ou CodeFSW (da Unitech Tecnologia de Informação), além de diversas outras que vêm surgindo neste cenário, a depender de como sejam utilizadas, podem viabilizar a geração de código para as diversas camadas de uma aplicação, a partir de templates e parâmetros de entrada. Dessa maneira, tendo a necessidade de possuir diversas funcionalidades semelhantes em suas estrutura e que englobem códigos das camadas da aplicação adotadas em sua arquitetura, uma aplicação pode ser desenvolvida, em grande parte, com a ajuda de tais ferramentas.

[editar] Principais vantagens

Certamente que as vantagens adquiridas ao se adotar Geradores de Código em um ambiente de produção de software só aparecem quando da boa utilização dessas ferramentas. A partir do uso adequado dos geradores de código, sejam quais tipos forem, a equipe de produção de software perceberá um ganho significativo em sua produtividade, sendo capaz de realizar a construção de funcionalidades das aplicações de maneira mais eficiente e segura, garantindo também a diminuição dos custos de projeto.

Uma outra vantagem que é vista de maneira bastante clara se refere à padronização percebida no código gerado, visto que pode se basear, a depender do tipo, tanto em um template utilizado, como na filosofia de trabalho da ferramenta IDE. E está definitivamente consolidada a idéia de que é um ponto positivo com relação à qualidade do software, ter uma aplicação em cujo código-fonte se percebe um estilo único de programação.

Por fim, pode-se considerar também como uma vantagem do uso de geradores de código, a depender novamente de como são utilizados, a construção de aplicações isentas de grande parte dos artifícios que facilitam a programação propriamente, mas, por outro lado, afetam diretamente o quesito performance. É sabido, por exemplo, que o uso de Reflexão, artifício que é suportado em linguagens como Java e C# e que permite a introspecção e manipulação de classes, interfaces e objetos no geral, afeta negativamente a performance de funcionalidades de aplicações. O uso adequado de geradores de código no processo de desenvolvimento de software pode fazer desnecessário o uso de tal artifício, tornando o produto final mais performático.

Muitas outras vantagens podem ser percebidas com o uso de geradores de código no processo de construção de software. Mas também vale alertar que tais ferramentas, em vez de contribuir com vantagens, podem atrapalhar o andamento do projeto quando é feito uso inadequado ou desnecessário das mesmas.

[editar] Ligações externas


  Este artigo é um esboço sobre Informática. Você pode ajudar a Wikipédia expandindo-o.
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com