[Notes2-team] ***Planos pro Notes 2*** =?ISO-8859-1?Q?vers=E3o_000001?=
Brought to you by:
andersonrb
From: Anderson R. B. <no...@ig...> - 2003-07-21 04:23:37
|
Pessoas, estou enviando uma primeira vers=E3o do planejamento do Notes 2.= =20 Eu n=E3o tenho todas as msgs da lista nem as do f=F3rum e por isto ele DE= VE=20 estar incompleto. Ent=E3o espero as modifica=E7=F5es/melhorias de voc=EAs= ... ------------ Planejamento do Notes 2 Editando texto Para poder atender a todas as sugest=F5es feitas pelos usu=E1rios, a Equi= pe=20 do Notes decidiu construir um componente (controle) de edi=E7=E3o pr=F3pr= io=20 (baseado no famosos componente de edi=E7=E3o SynEdit). Este componente de= =20 edi=E7=E3o funcionara no Windows e no Linux da mesma forma. As capacidade= s=20 dele s=E3o discutidas abaixo: Colora=E7=E3o de c=F3digo Esta foi a sugest=E3o mais feita pelos usu=E1rios e vamos finalmente pode= r=20 atend=EA-la. E n=E3o vamos fazer isto de qualquer forma: o componente usa= r=E1=20 defini=E7=F5es que ficar=E3o todas em arquivos XML. Isto significa que a=20 colora=E7=E3o de c=F3digo ser=E1 altamente flex=EDvel, podendo ser config= urada em=20 detalhes pelo usu=E1rio - diferente da maioria dos editores, que s=F3=20 permitem que voc=EA configure as cores. Linguagens n=E3o suportadas por=20 padr=E3o pelo Notes 2 poder=E3o ser adicionadas facilmente e aquelas=20 suportadas poder=E3o ser configuradas de forma a atender as necessidades=20 do usu=E1rio. Analisador de erros O editor poder=E1 tamb=E9m detectar erros no c=F3digo enquanto voc=EA dig= ita.=20 Sim, isso mesmo - voc=EA n=E3o precisar=E1 mais compilar todo o c=F3digo = para=20 descobrir que cometeu um erro simples de programa=E7=E3o. Claro, o Notes = 2=20 n=E3o substituir=E1 o seu debuger/compilador favorito, mas alguns erros e= le=20 poder=E1 indentificar - salvando minutos, ou at=E9 horas de compila=E7=E3= o! Folding Alguns dos editores mais novos permitem que o usu=E1rio esconda certas=20 partes do c=F3digo. =C9 como se voc=EA estivesse usando o Windows Explore= r (ou=20 o Konqueror/Nautilus no linux) s=F3 que no lugar de poder navegar certas=20 pastas e arquivos, voc=EA pode navegar pelas partes do seu c=F3digo. E o= =20 folding poder=E1 ser controlado pelo usu=E1rio. Bastar=E1 voc=EA selecion= ar=20 algumas linhas de c=F3digo que um pequeno =EDcone aparecer=E1: clicando n= ele=20 aquela parte do c=F3digo ser=E1 escondida, bastando clicar nele novamente= =20 para mostrar a partes escondida novamente. Voc=EA poder=E1 tamb=E9m marca= r=20 manualmente as =E1reas de folding. Bata adcionar "{{{" para iniciar uma=20 =E1rea de folding e "}}}" para fech=E1-la (sem as aspas). Selecionando as= =20 linhas e clicando no =EDcone para esconder o trecho o Notes adicionar=E1=20 para voc=EA estes marcadores. Split O velho edit do DOS e outros editores atuais permitem qeu voc=EA possa=20 dividir o componente de edi=E7=E3o em 2. No Notes 2 est=E1 capacidade estar=E1 presente, podendo dividir o editor=20 tanto horizontalmente quanto verticalmente, quantas vezes voc=EA quiser. A Interface A interface do Notes 2 ser=E1 altamente configur=E1vel. Isso ocorrer=E1 p= or=20 que menus e toolbars ser=E3o criados a partir de arquivos XML, ao inv=E9s= de=20 serem harcoded. Al=E9m disto, o Notes 2 suportar=E1 skins (temas) que=20 poder=E3o alterar os controles (bot=F5es, campso de edi=E7=E3o, bombos, e= tc.) e=20 os =EDcones padr=F5es. Apesar de configur=E1vel, continuar=E1 simples de = usar,=20 pois sua organiza=E7=E3o seguir=E1 a forma a qual os programadores j=E1 e= st=E3o=20 acostumados. Como ser=E1 a interface? Num programa t=E3o configur=E1vel quanto o Notes 2, esta =E9 uma pergunta= =20 dif=EDcil de responder. Temos pensando em uma estrutura assim (de cima=20 para baixo): menus; barra de ferramentas; tabs (para mudar entre os=20 arquivos abertos) e um bot=E3o seletor de projetos (no Notes 2 voc=EA=20 poder=E1 abrir v=E1rios projetos ao mesmo tempo, clique no bot=E3o para m= udar=20 de um para outro); na esquerda um painel vertical onde ficaram v=E1rias=20 ferramentas (gerenciador de projetos, gerenciador CVS, etc.) e na=20 direita a =E1rea de edi=E7=E3o; um painel horizotal (abaixo do editor, ma= s n=E3o=20 abaixo do painel vertical) com outras ferramentas (sa=EDda de=20 compiladores, gerenciador de tarefas, etc.); e, por =FAltimo, a barra de=20 status. Dando poder ao teclado A maioria dos programadores usa muito mais o teclado que o mouse - o que=20 difere uma IDE como o Notes 2 de outros aplicativos. Ent=E3o prometemos=20 desde j=E1 dar uma aten=E7=E3o especial a ele. No caso do editor, AutoIn= dent,=20 SmartIndent, SmartHome, SmartEnd, SmartPaste ajudar=E3o a diminuir o temp= o=20 que um programador gasta escrevendo e formatando o c=F3digo. Al=E9m dist= o,=20 o editor poder=E1 usar features normalmente s=F3 encontradadas em editore= s=20 da Borland=AE, como as setas que podem se movimentar livremente no texto.= =20 Al=E9m disto tudo, as teclas de atalho poder=E3o ser totalmente=20 configuradas. Pensamos at=E9 em permitir que algumas delas mudem conforme= =20 a linguagem que se est=E1 editando!!! Integra=E7=E3o Sendo programadores, estamos cientes de que um editor de c=F3digo n=E3o =E9= a=20 =FAnica ferramenta necess=E1ria durante o desenvolvimento. Por isto o No= tes=20 2 ter=E1 uma boa integra=E7=E3o com compiladores, debugers, CVS, FTP,=20 servidores, ferramentas UML, etc. Outros IDEs fazem isto construindo=20 novas ferramentas (quase sempre propriet=E1rias) diferentes daquelas que= =20 os programadores est=E3o acostumados a usar. Queremos que o Notes 2 se=20 integre com as ferramentas que est=E3o a=ED e que voc=EA j=E1 sabe usar. = Nada de=20 inventar a roda e obrig=E1-lo a aprender algo que voc=EA n=E3o quer. Extensibilidade Por mais que nos esforcemos, nunca poderemos oferecer tudo o que um=20 usu=E1rio precisa. H=E1 ferramentas que s=E3o muito espec=EDficas, isto =E9= , =FAteis=20 apenas para uma linguagem ou para alguns poucos usu=E1rios. H=E1 linguage= ns=20 que n=E3o existem ainda ou outras, mais antigas, que poder=E3o n=E3o ser=20 suportadas por padr=E3o quando o Notes 2 for lan=E7ado. E al=E9m disto, t= odos=20 os membros da equipe s=E3o humanos! Para resolver o problema, o Notes 2=20 ser=E1 altamente extens=EDvel: voc=EA poder=E1 adicionar suporte a novas=20 linguagens, criar novos comandos na sua linguagem de script preferida=20 para fazer pequenas modifica=E7=F5es no c=F3digo ou, at=E9 mesmo, escreve= r novos=20 di=E1logos e ferramentas - plugins - em C/C++, Object Pascal, etc. (De=20 fato estamos pensando em criar alguns dos di=E1logos padr=F5es na forma d= e=20 plugins, para que voc=EA possa modific=E1-los se n=E3o gostar de algum de= les!)=20 Al=E9m de tudo isto, as extens=F5es poder=E3o ser instaladas atrav=E9s do= Notes=20 e far=E3o todas as modifica=E7=F5es necess=E1rias para que voc=EA possa s= air=20 usando elas sem precisar ler manuais complicados. Plugins Os plugins ser=E3o as extens=F5es mais poderosas no Notes 2. Isto por que= os=20 plugins ter=E3o acesso a uma API do Notes, feita especialmente para eles.= =20 Com isto poder=E3o conseguir todo tipo de informa=E7=F5es que precisarem,= =20 poder=E3o alterar certos comportamentos, capturar eventos, usar=20 bibliotecas do Notes (como a de express=F5es regulares ou a de=20 configura=E7=F5es), etc. Um plugin poder=E1 implementar "servi=E7os" (um = novo=20 comportamento, como inserir uma quebra de linha toda vez que voc=EA=20 digitar "{"), di=E1logos, novas ferramentas que podem ser dockadas aos=20 pain=E9is do Notes 2, etc. Scripts No Notes 2 voc=EA poder=E1 usar a sua linguagem de scripts preferida para= =20 adicionar novas ferramentas ao Notes (claro que voc=EA precisar=E1 ter o=20 interpretador j=E1 instalado, n=E3o d=E1 para querer que o Notes aprenda = a=20 interpretar todas as linguagens de scripts existentes). Outra novidade=20 =E9 que voc=EA poder=E1 ter interfaces simples para o seus scripts - usan= do=20 apenas a sua linguagem de script e um pouco de XML (que =E9 f=E1cil). Com= =20 isto voc=EA poder=E1 adicionar, por exemplo, um bot=E3o na barra de=20 ferramentas que, quando acionado, mostre ao usu=E1rio um di=E1logo com=20 v=E1rias op=E7=F5es permitindo a ele criar uma tabela HTML em poucos segu= ndos. Suporte a novas linguagens Atrav=E9s das extens=F5es ser=E1 poss=EDvel tamb=E9m adicionar suporte a = outras=20 linguagens e melhorar o suporte as linguagens que s=E3o suportadas no=20 Notes 2 por padr=E3o. Uma extens=E3o poder=E1 conter templates, o arquivo= de=20 colora=E7=E3o de c=F3digo para a linguagem, snippets, scripts, plugins, e= tc. Mais detalhes ToolBox O Notes SE incluia o menu inserir. Apesar de ser altamente funcional,=20 ele tinha um problema: voc=EA tinha que navegar pelos submenus at=E9 acha= r o=20 que queria inserir. Para solucionar este problema, a equipe do Notes=20 incluir=E1 um ToolBox no painel vertical, que facilitar=E1 o acesso aos=20 c=F3digos do menu inserir. Ferramentas para SQL e XML O Notes 2 incluir=E1 tamb=E9m ferramentas para que voc=EA possa manipular= =20 banco de dados, construir querys SQL com facilidade e editar visualmente=20 arquivos XML. ------------- |