[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.
-------------
|