notes2-team Mailing List for Notes (Page 29)
Brought to you by:
andersonrb
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
(11) |
Apr
(21) |
May
(57) |
Jun
(79) |
Jul
(76) |
Aug
(24) |
Sep
(58) |
Oct
(187) |
Nov
(134) |
Dec
(81) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(30) |
Feb
(42) |
Mar
(60) |
Apr
(23) |
May
(6) |
Jun
(32) |
Jul
(14) |
Aug
(10) |
Sep
(6) |
Oct
(6) |
Nov
(4) |
Dec
(2) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
(3) |
2007 |
Jan
(2) |
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Anderson R. B. <no...@ig...> - 2003-07-30 06:07:17
|
>pela imagem representativa do ambiente do notes que o anderson enviou,=20 >achei muito parecida com o Kdevelop (imagem anexa). > S=E3o parecidos mesmo. Mas n=E3o =E9 coisa espec=EDfica do KDevelop n=E3o= ... as=20 IDEs tem este formato, s=F3 imitei elas :) >seria mais ou menos assim que seria o ambiente do notes2? >claro a diferen=E7a seria que ao inves da ajuda no menu esquerdo >seria o menu que o anderson enviou tambem. > N=E3o meu caro. A diferen=E7a =E9 que no Notes 2 o usu=E1rio vai poder fazer o que quiser com os menus. :) >eu achei muito interessante a facilidade que o editor=20 >GEdit do linux trata os plugins. Facilidade e objetividade. > Sim, mas comete alguns erros: 1) nem todo mundo sabe o que =E9 um plugin. 2) os plugins n=E3o s=E3o apresentados de forma l=F3gica para os usu=E1ri= os. Para o usu=E1rio existem comandos, existem ferramentas, di=E1logos. Plugi= ns n=E3o indica o que que o menu faz. 3) Ou s=F3 d=E1 pra usar script ou s=F3 d=E1 pra usar um dso compilado. 4) A forma com que usam scripts n=E3o =E9 multiplataforma, pois dependem do linux para descobrir que interpretador usar... E a lista segue. No notes n=E3o vai ter o menu plugins. Ali=E1s, tu n=E3o vai perceber qual a diferen=E7a entre os plugins e o que vem com o Notes... O que tu tem =E9 um ambiente de desenvolvimento integrado e tu n=E3o precisa se preocupar com plugins :) >e tambem o Kate. A vantagem do notes seria exatamente o que >propus ao grupo, que o notes visualizasse diretamente no site >do notes uma lista de todos os plugins existentes para o notes. >pois o usuarios saberia quais plugins ele tem instalado, se >existe atualizacao, e tambem opcao para baixar novos plugins. > A vantagem =E9 que os plugins estar=E3o integrados a interface, que poder= =E3o ser instalados at=E9 por usu=E1rios burros, que poder=E3o usar as apis = do=20 Notes, etc. A lista =E9 t=E3o grande que me deu sono, hehehehhe Boa noite proc=EAs! Anderson |
From: Anderson R. B. <no...@ig...> - 2003-07-30 04:18:50
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> <big style="font-family: helvetica,arial,sans-serif; font-weight: bold;"><big>Planejamento do Notes 2</big></big><span style="font-family: helvetica,arial,sans-serif; font-weight: bold;"> </span><br style="font-family: helvetica,arial,sans-serif;"> <br style="font-family: helvetica,arial,sans-serif;"> <br style="font-family: helvetica,arial,sans-serif;"> <span style="font-family: helvetica,arial,sans-serif;"><big><span style="font-weight: bold;">Editando texto</span></big><br> Para poder atender a todas as sugestões feitas pelos usuários, a Equipe do Notes decidiu construir um componente (controle) de edição próprio (baseado no famoso componente de edição SynEdit). Este componente de edição funcionara no Windows e no Linux da mesma forma. As capacidades dele são discutidas abaixo:<br> <br> <big><small style="font-weight: bold;">Coloração de código</small><br> <small>Esta foi a sugestão mais feita pelos usuários e vamos finalmente poder atendê-la. E não vamos fazer isto de qualquer forma: o componente usará definições que ficarão <span style="font-style: italic;">todas </span>em arquivos XML. Isto significa que a coloração de código será altamente flexível, podendo ser configurada em detalhes pelo usuário - diferente da maioria dos editores, que só permitem que você configure as cores. Linguagens não suportadas por padrão pelo Notes 2 poderão ser adicionadas facilmente e aquelas suportadas poderão ser configuradas de forma a atender as necessidades do usuário.<br> <span style="font-weight: bold;"><br> <small style="color: rgb(0, 0, 102);">Implementação:</small></span><small style="color: rgb(0, 0, 102);"> a implementação da coloração de código se dará de forma semelhante a de um editor para linux chamado Kate. Assim, o texto seria dividido em blocos definidos através de arquivos XML (por exemplo: comentário, string, inteiro, etc.) e não por simples tokens separados por espaços em branco. Para evitar que o parser fique lento, sugere-se que, como no Kate, existam regras pré-prontas para detectar alguns tipos de blocos: inteiros, hexadecimais, octais, ponto flutuante, keyword (pré-definindo que uma keyword é uma string sem espaços, iniciada por uma letra e que permite além de letras, número e o caracter "_"; as keywords são fornecidas pelo arquivo xml). Regras para diferenciar bloco de textos poderão ser facilmente criadas tanto usando expressões regulares como tags que permitem procurar por strings exatas, por um único caracter, </small></small></big></span><span style="font-family: helvetica,arial,sans-serif; color: rgb(0, 0, 102);"><big><small><small>por </small></small></big><big><small><small>dois caracteres, </small></small></big><big><small><small>por </small></small></big></span><span style="font-family: helvetica,arial,sans-serif;"><big><small><small style="color: rgb(0, 0, 102);">qualquer um dos caracteres listados, e pelo intervalo entre uma string/caracter e outra. Este modelo foi escolhido por se encaixar perfeitamente nas idéias da equipe e por que o modelo é altamente flexível podendo ser usado para definir a coloração de qualquer linguagem de programação - seja de script, de marcação, etc.</small><span style="font-weight: bold;"><br> <br> <br> </span><big>Analisador e corretor de erros</big><span style="font-weight: bold;"><br> </span>O editor poderá também detectar erros no código enquanto você digita. Sim, isso mesmo - você não precisará mais compilar todo o código para descobrir que cometeu um erro simples de programação. Claro, o Notes 2 não substituirá o seu debuger/compilador favorito, mas alguns erros ele poderá indentificar - salvando minutos, ou até horas de compilação! Além disto, ele poderá propor correções para alguns problemas. <br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação: </span>o analisador buscaria por estruturas chaves (principalmente aquelas de controle, como if, while, for, etc.) que estariam definidas em um arquivo XML da linguagem. Por exemplo, ao encontrar a palavra-chave if, ele testaria o bloco de código para ver se ele está de acordo com os modelos que ele conhece. Se o modelo for desconhecido o analisador marca o trecho de código como errado. O usuário poderá corrigir o erro manaulmente ou através de sugestões dadas pelo analisador. As sugestões serão feitas de forma a transformar o bloco reconhecido como errado na estrutura que ele conhece que for mais parecida com o bloco de código.</small><span style="font-weight: bold;"><br> <br> Debugando<br> </span></small></big></span><big style="font-family: helvetica,arial,sans-serif;"><small>O editor teria a capacidade de setar breakpoints quando informado de que a linguagem pode ser debugada pelo Notes. Além disto, erros de compilação seriam marcados, quando possível, de forma semelhante aos erros marcados pelo analisador. </small></big><br> <span style="font-family: helvetica,arial,sans-serif;"><big><small><span style="font-weight: bold;"> <br> Folding</span><br> Alguns dos editores mais novos permitem que o usuário esconda certas partes do código. É como se você estivesse usando o Windows Explorer (ou o Konqueror/Nautilus no linux) só que no lugar de poder navegar certas pastas e arquivos, você pode navegar pelas partes do seu código. O folding poderá ser controlado pelo usuário. Bastará você selecionar algumas linhas de código que um pequeno ícone aparecerá: clicando nele aquela parte do código será escondida, bastando clicar nele novamente para mostrar a partes escondida novamente. Você poderá também marcar manualmente as áreas de folding. Basta adcionar "{{{" para iniciar uma área de folding e "}}}" para fechá-la (sem as aspas). Selecionando as linhas e clicando no ícone para esconder o trecho o Notes adicionará para você estes marcadores.<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> será usado como base o código para folding do editor JediEdit, já que ele não difere muito das especificações de folding desejado pela equipe. Modificações serão feitas conforme necessário para que o comportamento descrito acima seja alcançado.</small><br> <br> </small></big><span style="font-weight: bold;"><br> Intellisense/Code completion, ToolTip com argumentos e Templates</span><br> O editor poderá completar nomes de classes, constantes, etc. como nas IDEs da Microsoft® e da Borland®.<br> Além disto, mostrará tooltips (dicas) mostrando os parâmetros de métodos e funções quando o usuário teclar "(" (ou outro caracter dependendo da linguagem). Para completar, o editor suportará templates. Estes são palavras especiais definidas pelo usuário que são transformadas pelo editor (quando invocado) em uma string maior. Por exemplo, você poderá definir a palavra "class" e então invocar a função para que o editor substitua class pela definição de classe de alguma linguagem. <br> <br> <small><span style="font-weight: bold; color: rgb(255, 0, 0);">Implementação: ?????????????</span></small><br> <br> <br> </span><big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;">Split</small><br> </big><span style="font-family: helvetica,arial,sans-serif;">O velho edit do DOS e outros editores atuais permitem qeu você possa dividir o componente de edição em 2. <br> No Notes 2 está capacidade estará presente, podendo dividir o editor tanto horizontalmente quanto verticalmente, quantas vezes você quiser.<br style="font-family: helvetica,arial,sans-serif;"> </span><br> <span style="font-weight: bold; color: rgb(255, 0, 0);">Implementação: ????????????</span><br> <br> <br style="font-family: helvetica,arial,sans-serif;"> <span style="font-family: helvetica,arial,sans-serif;"><big><span style="font-weight: bold;">A Interface</span></big><br> A interface do Notes 2 será altamente configurável. Isso ocorrerá por que menus e toolbars serão criados a partir de arquivos XML, ao invés de estarem definidos dentro do binário. Além disto, o Notes 2 suportará skins (temas) que poderão alterar os controles (botões, campos de edição, combos, etc.) e os ícones padrões. Apesar de altamente configurável, continuará simples de usar, pois sua organização seguirá a forma a qual os programadores já estão acostumados. <br> <br> <small style="color: rgb(0, 0, 153);"><span style="font-weight: bold; color: rgb(0, 0, 102);">Implementação:</span><span style="color: rgb(0, 0, 102);"> existirão dois arquivos xml, um que define os menus e outro que define as toolbars. As ações dos itens dos menus/toolbars serão definidas pela tag "onClick" de cada um dos itens. Dito de outra forma, a string definida em onClick é que dirá ao notes o que ele deve fazer quando o usuário clicar no item. O Notes trará muitos métodos pré-definidos. Estes métodos poderão ser chamados usando uma string contendo "Notes." seguido do nome do método. Por exemplo, ao detectar um click no primeiro item do primeiro menu, o Notes lê a string contida na tag onClick do item (seria bom guardar esta string no próprio intem). Digamos que a string é esta: "Notes.New()". Este método faz o Notes abrir o diálogo para novos arquivos e projetos - que é o que ocorre depois de um parser interno entender o que significa a string. Este mesmo parser será usado para enteder todos os métodos onClick. Além dos métodos providos pelo Notes, estarão disponíveis os métodos das extensões instaladas pelo usuário. A extensões serão sempre responsáveis por adicionar itens a menus/toolbars usando as opções do Notes eXtension Installer. Digamos que o usuário queira usar uma extensão chamada "SuperSearch" que adiciona ao Notes um diálogo para fazer pesquisa de milhões de formas diferentes. O usuário não terá muitos problemas para isto: basta chamar o Notes eXtension Installer e escolher que extensão ele quer instalar. De acordo com o script xml de instalação da extensão, o eXtension Installer adicionará itens aos menus, aos toolbars, ao ToolBox, etc. Estes itens também terão a tag onClick, exatamente como os itens que chamam os métodos do Notes. Mas as strings onClick começarão com "Extension." ao invés de "Notes." e serão seguidas de sua categoria (comandos, diálogos, etc.), de seu nome e, por último, do método contido na extensão a ser chamado. (Nem todas as extensões poderão ser chamadas deste modo, pois algumas delas não adicionam novos métodos ao notes, mas sim coloração de syntaxe para alguma nova linguagem, templates, etc.) Um exemplo seria um comando, implementado na forma de um script em PHP, que formata o código Java de acordo com os estilos recomendados pela Sun®. A string para chamar esta extensão seria a seguinte: "Extension.Command.PhpJavaFormater.Execute()". Todas as extensões que adicionam métodos ao Notes poderão ser chamadas pelo método "Execute()". Em scripts este método não existe, mas o Notes entende que a extensão é um script e o executa. No caso de plugins (DLLs, DSOs, BPLs), este método deverá ser implementado ou ele deverá usar o arquivo extension.xml para pedir ao Notes que chame outro método no lugar dele. As complexidades ficam sempre a cargo do Notes, pois os usuários e os desenvolvedores de extensões podem sempre usar um método padrão para chamar as extensões.</span><br> </small><br> <br> <big>Como será a interface?<br> <small>Num programa tão configurável quanto o Notes 2, esta é uma pergunta difícil de responder. Temos pensando em uma estrutura assim (de cima para baixo): menus; barra de ferramentas; tabs (para mudar entre os arquivos abertos) e um botão seletor de projetos (no Notes 2 você poderá abrir vários projetos ao mesmo tempo, clique no botão para mudar de um para outro); na esquerda um painel vertical onde ficaram várias ferramentas (gerenciador de projetos, gerenciador CVS, etc.) e na direita a área de edição; um painel horizotal (abaixo do editor, mas não abaixo do painel vertical) com outras ferramentas (saída de compiladores, gerenciador de tarefas, etc.); e, por último, a barra de status.<br> <br> <small style="color: rgb(255, 0, 0);"><span style="font-weight: bold;">Implementação: </span>??? aguardando sugestões sobre como os temas poderão ser implementados ???</small><br> </small> </big></span><br> <span style="font-family: helvetica,arial,sans-serif;"><big>Dando poder ao teclado<br> <small>A maioria dos programadores usa muito mais o teclado que o mouse - o que difere uma IDE como o Notes 2 de outros aplicativos. Então prometemos desde já dar uma atenção especial a ele. No caso do editor, AutoIndent, SmartIndent, SmartHome, SmartEnd, SmartPaste ajudarão a diminuir o tempo que um programador gasta escrevendo e formatando o código. Além disto, o editor poderá usar features normalmente só encontradadas em editores da Borland®, como as setas que podem se movimentar livremente no texto. Além disto tudo, as teclas de atalho poderão ser totalmente configuradas. Pensamos até em permitir que algumas delas mudem conforme a linguagem que se está editando!!!<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> algumas destas características já vem implementadas no SynEdit, componente que modificaremos para construir o controle de edição. No caso do SmatIndent deveremos permitir que seja configurado, como todo o resto, através de um arquivo XML para cada linguagem. O arquivo poderá conter até diferentes estilos de indentação que poderão ser escolhidos pelo usuário como aquele que ele quer usar. No caso das teclas de atalho, bastará reusarmos o parser das tags onClick referido na descrição da implementação da interface para que façamos elas altamente configuráveis. </small><br> </small></big></span> <br> <big style="font-family: helvetica,arial,sans-serif;"><span style="font-weight: bold;">Integração<br> </span><small>Sendo programadores, estamos cientes de que um editor de código não é a única ferramenta necessária durante o desenvolvimento. Por isto o Notes 2 terá uma boa integração com compiladores, debugers, CVS, FTP, etc. Outros IDEs fazem isto construindo novas ferramentas (quase sempre proprietárias) diferentes daquelas que os programadores estão acostumados a usar. Queremos que o Notes 2 se integre com as ferramentas que estão aí e que você já sabe usar. Nada de inventar a roda e obrigá-lo a aprender algo que você não quer.<br> <br> <small><span style="font-weight: bold; color: rgb(0, 0, 102);">Implementação:</span><span style="color: rgb(0, 0, 102);"> a implementação depende em larga escala aqui de uma classe ou procedures que nos permitam ler e escrever em programas de modo texto - ou seja, comunicarmos através de pipes. É isto que precisaremos para nos integrarmos com CVS, compiladores e debugers. Alguns aplicativos (como o cvs e o jdb, debuger do java) exigem que você além de ler sua sáida (stdout) possam também escrever nela (stdin). A partir deste código será necessário criar o suporte para cada ferramenta de forma separada, já que cada um deste possui comandos completamente diferentes. No caso de debugers e compiladores este suporte poderia ser feito através de extensões: além de possibilitar que suporte a novos compiladores/debugers seja facilmente adicionado, isto diminuiria o número de forms linkados diretamente no binário. As extensões usariam APIs do Notes para que pudessem se comunicarem com os aplicativos por pipes de forma mais fácil e multi-plataforma. No caso do CVS, o suporte poderia ser interno, já que trata-se de algo amplamente usado. O mesmo com o FTP - mas neste a implementação não precisaria de um programa externo para rodar (existe uma biblioteca SL chamada Synapse para Delphi/Kylix que nos permitirá fazer isto facilmente).</span></small><br> </small></big> <br style="font-family: helvetica,arial,sans-serif;"> <big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;">Compiladores e debugers<br> </small><small>O Notes suportaria por padrão os compiladores mais usados no windows (vc++, delphi, free pascal, gcc, java, etc.) e no linux (gcc e suas variações, java, kylix, etc.). Para cada compilador (o compilador do projeto será escolhido pelo usuário nas propriedades do projeto) o Notes exibirá um diálgo diferente, permitindo que o usuário configure todas as opções do compilador como se estivesse usando uma IDE específica para a sua linguagem. Quanto aos debugers, </small></big><big style="font-family: helvetica,arial,sans-serif;"><small>seriam suportados aqueles mais usados, como o GNU Debuger, o jdb, etc. </small><small style="font-weight: bold;"><br> </small></big><big style="font-family: helvetica,arial,sans-serif;"><small style="font-weight: bold;"><br> </small><small style="font-weight: bold;"><br> CVS<br> </small><small>O gerenciado de CVS do Notes permitirá que você use esta ferramenta de maneira fácil e sem sair da IDE. O gerenciador estará integrado ao resto do Notes, permitindo por exemplo que um novo projeto seja criado a partir do downlod (checkout) de fontes de um servidor local ou remoto. Assim você podecom facilitade começar a participar de um dos muitos projetos de software livre existentes!</small><small style="font-weight: bold;"><br> <br> <br> Sites dinâmicos e Linguagens de Script<br> </small><small>Os desenvolvedores de sites dinâmicos (php, jsp, asp, etc.) não foram esquecidos. Você poderá publicar o projeto para um ftp ou para uma pasta local e ver o resultado em um dos seus browser - tudo isto sem sair da IDE. Da mesma forma, os desenvolvedores de script poderão rodar seus aplciativos facilmente. No caso de linguagens de script muito usadas e que possuam um debuger padrão, este será suportado da mesma forma que os debugers para linguagens compiladas.</small><small style="font-weight: bold;"><br> <br> <br> </small><span style="font-weight: bold;">Extensibilidade<br> </span><small>Por mais que nos esforcemos, nunca poderemos oferecer tudo o que um usuário precisa. Há ferramentas que são muito específicas, isto é, úteis apenas para uma linguagem ou para alguns poucos usuários. Há linguagens que não existem ainda ou outras, mais antigas, que poderão não ser suportadas por padrão quando o Notes 2 for lançado. E além disto, todos os membros da equipe são humanos! Para resolver o problema, o Notes 2 será altamente extensível: você poderá adicionar suporte a novas linguagens, criar novos comandos na sua linguagem de script preferida para fazer pequenas modificações no código ou, até mesmo, escrever novos diálogos e ferramentas - plugins - em C/C++, Object Pascal, etc. Além de tudo isto, as extensões poderão ser instaladas através do Notes e farão todas as modificações necessárias para que você possa sair usando elas sem precisar ler manuais complicados.<br> <br> <big>Plugins<br> <small>Os plugins serão as extensões mais poderosas no Notes 2. Isto por que os plugins terão acesso a uma API do Notes, feita especialmente para eles. Com isto poderão conseguir todo tipo de informações que precisarem, poderão alterar certos comportamentos, capturar eventos, usar bibliotecas do Notes (como a de expressões regulares ou a de configurações), etc. Um plugin poderá implementar "serviços" (um novo comportamento, como inserir uma quebra de linha toda vez que você digitar "{"), diálogos, novas ferramentas que podem ser dockadas aos painéis do Notes 2, etc.<br> <br> <small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> o código para a implementação dos plugins já existe, então não há tanto trabalho pela frente. Talvez a maior dificuldade seja o que incluiremos na API - pois precisamos saber extamente de que métodos temos para poder permitir que plugins usem eles. </small><br> </small> <br> Scripts<br> <small>No Notes 2 você poderá usar a sua linguagem de scripts preferida para adicionar novas ferramentas ao Notes (claro que você precisará ter o interpretador já instalado, não dá para querer que o Notes aprenda a interpretar todas as linguagens de scripts existentes). Outra novidade é que você poderá ter interfaces simples para o seus scripts - usando apenas a sua linguagem de script e um pouco de XML (que é fácil). Com isto você poderá adicionar, por exemplo, um botão na barra de ferramentas que, quando acionado, mostre ao usuário um diálogo com várias opções permitindo a ele criar uma tabela HTML em poucos segundos. <br> <br> </small></big></small></big><big style="font-family: helvetica,arial,sans-serif;"><small><big><small><small style="color: rgb(0, 0, 102);"><span style="font-weight: bold;">Implementação:</span> relativamente simples. O Notes lê primeiro o arquivo XML que define a gui. Cada membro da gui possui o nome de uma variável anexado a ele. Conforme o usuário manipula a GUI, estes valores são armazenados nas variáveis. Por exemplo, se a GUI possui um campo de texto e o usuário preenche nele "Isto é o valor da variável" e a variável associada ao campo chama-se MinhaVariável, MinhaVariável armazena a string </small></small></big></small></big><small style="color: rgb(0, 0, 102); font-family: helvetica,arial,sans-serif;"><big><small>"Isto é o valor da variável". Quando o usuário clcia OK na GUI, o Notes abre o arquivo de script e substituí nele as variáveis pelo valor que o usuário deu para elas. Por exemplo, achando %MinhaVariável% no script, o Notes a substituirpa por </small></big></small><small style="color: rgb(0, 0, 102); font-family: helvetica,arial,sans-serif;"><big><small>"Isto é o valor da variável". Depois disto, o Notes executa o script. O script cria então alguns arquivos: um com a sua saída (normalmente é o texto modificado); outro com erros, quando necessário; e um terceiro que definirá o que o Notes fará com a suas saída.</small></big></small><br> <big style="font-family: helvetica,arial,sans-serif;"><small><big> <br> Suporte a novas linguagens<br> </big>Através das extensões será possível também adicionar suporte a outras linguagens e melhorar o suporte as linguagens que são suportadas no Notes 2 por padrão. Uma extensão poderá conter templates, o arquivo de coloração de código para a linguagem, snippets, scripts, plugins, etc. </small><span style="font-weight: bold;"><br> <br> </span><span style="font-weight: bold;">Mais detalhes</span><br> <br> ToolBox<small><br> O Notes SE incluia o menu inserir. Apesar de ser altamente funcional, ele tinha um problema: você tinha que navegar pelos submenus até achar o que queria inserir. Para solucionar este problema, a equipe do Notes incluirá um ToolBox no painel vertical, que facilitará o acesso aos códigos do menu inserir.<br> <br> <big>Ferramentas para SQL e XML<small><br> O Notes 2 incluirá também ferramentas para que você possa manipular banco de dados, construir querys SQL com facilidade e editar visualmente arquivos XML.</small></big></small></big> </body> </html> |
From: Thiago K. <kog...@ya...> - 2003-07-30 03:36:16
|
Olá pessoal bom. pela imagem representativa do ambiente do notes que o anderson enviou, achei muito parecida com o Kdevelop (imagem anexa). seria mais ou menos assim que seria o ambiente do notes2? claro a diferença seria que ao inves da ajuda no menu esquerdo seria o menu que o anderson enviou tambem. bom. eu achei muito interessante a facilidade que o editor GEdit do linux trata os plugins. Facilidade e objetividade. e tambem o Kate. A vantagem do notes seria exatamente o que propus ao grupo, que o notes visualizasse diretamente no site do notes uma lista de todos os plugins existentes para o notes. pois o usuarios saberia quais plugins ele tem instalado, se existe atualizacao, e tambem opcao para baixar novos plugins. bom. é isso! ate. Thiago Koguta |
From: Victor T. B. H. <vic...@im...> - 2003-07-30 03:29:17
|
VOTOS Pessoas, estou aguardando seus votos para ver se o Reginaldo entra ou não na equipe. Os votos até agora dizem que sim, mas forma só 3 votos... * bom o meu voto ja tinha sido feito (a favor) COMENTÁRIOS "Aguardo comentários e propostas sobre o nosso modo de funcionamento durante o desenvolvimento. Mandei uma proposta meio inicial e poucas pessoas disseram alguma coisa." * Bom primeiramente ao fechar o planejamento como o anderson ja disse temos que anotar todas as idéias para que todos possam consultar isso é importante e preferencial. Algo sobre o planejamento, eu aprovo a idéia inicial, porém com algumas perguntas: "Também não acho que temos uma equipe suficientemente grande para quebrar o código em módulos que cada grupo de programadores implementaria em separado - também por que não é vantajoso que as pessoas só conheçam uma parte do código..." * Com a equipe crescendo desce jeito essa opção não pode ser descartada, não acham? "Eu sugeriria quebrarmos a construção dos módulos em micro-tarefas que ficariam sob responsabilidade sempre de apenas uma pessoa." * Como seria feita a distribuição das micro - tarefas? * Acho que se alguém tivesse alguma dúvida sobre algo precisar de sugestões ou um auxílio deveria mandar pra lista..ou o fórum? Como vai funcionar? "Cada vez que um módulo estiver "pronto" ele adicionado ao Notes e é lançado ao público. Assim vários e vários pré-alphas seriam lançados, permitindo tanto que os usuários verificassem que estamos trabalhando, que eles reportassem os bugs que fossem encontrando nos módulos já "acabados" e que fossem dando suas sugestõs para melhorias durante o desenvolvimento. " * Seria estipulado algum prazo aos usuários para o lançamento dos pré-alphas? * E para nós como funcionaria? "Assim, a cada 1,2 ou 3 semanas nos encontraríamos (chat, irc, icq, e-mail, etc.) e distribuiríamos as micro- tarefas entre os programadores." * Quem ficaria responsável pela distribuição das micro tarefas? * E se algum desenvolvedor não aparecece? * O que seria feito com aquela tarefa restante? "O importante é que todas as micro-tarefas sejam curtas o suficiente para serem feitas pelo programador responsável dentro do prazo." * De quanto tempo seria o prazo? e se o desenvolvedor não cumprisse dentro do prazo? "De qualquer forma, seria importante que no minímo uma vez por semana o desenvolvedor atualizasse o CVS com as mudanças que ele fez e baixasse as modificações feitas por outros (poderíamos combinar um dia da semana em que todos teriam que atualizar o CVS, se não o tiverem feito ainda). " * Uma vez a cada 48 horas, uma vez por semana, uma vez por mes, uma ves por ano? :-) O que seria melhor? * Qual seria o melhor dia para atualização? "ao término da tarefa, enviar para a lista um micro- relatório sobre o que ele implementou e que testes fez para verificar se o código funciona como deveria. (Quem sabe possamos usar componentes de testagens como o DUnit ou o QTeste para automatizar as nossas testagens...) Estes micro-relatórios deverão ser arquivados, pois provavelmente serão extremamente úteis ao encotrarmos bugs :) " * Isso seria obrigatório? teria algum prazo? O que vcs acham? * A equipe continuaria aceintando novos membros, quando começasse a serem realizadas as tarefas? * E se todas as tarefas já tiverem sido distribuidas, que tarefa seria dada ao novo membro? SOBRE O CORRETOR DE ERROS "Outra coisa, estava conversando com Anderson e sugeri o seguinte: Inicialmente pensamos em fazer este componente em C++ pois meus conhecimentos em obj pascal não são muito extensos mas para que todos possam participar do projeto desta parte acho que seria muito melhor fazer-lo em obj pascal e assim ter toda a equipe participando, mas para isso precisarei de muito mais suporte de todos entao...o que preferem C++ ou Obj Pascal? " * Acho que com toda a equipe colaborando, o componente podeiria ser feito em Obj Pascal sem problemas...e vcs o que acham? ass: Victor T.B Höher __________________________________________________________ Email enviado pelo webmail de http://www.imasters.com.br Este serviço pode ser incorporado a qualquer site, intranet ou extranet. Visite http://www.integraweb.com.br e saiba como. |
From: <fa...@nl...> - 2003-07-29 20:51:01
|
> >O componente scaneia o código e busca por estruturas chaves que estariam > >guardadas em uma base ex: > > > > if(...){...} > > > > for ... to ... do > > begin > > ... > > end; > > > Tá, mas como a gente vai guardar isto num arquivo XML? > A única idéia que tive foi algo assim: > <estrutura findkeyword="if"> > (*)\s{*} > </estrutura> > > Em português: "quando a palavra-chave *"if"* for encontrada deve haver > um "*("*, seguido por um trecho com quaisquer > caracteres em qualquer número*,* mais um *")"* seguido por caracteres > espaços (espaço, tab ou quebra de linha) e logo > depois um *"{"* seguido de um trecho com quaiquer caracteres e > finalmente mais um *"}"*". > > Seria algo assim? mais ou menos...eu estou analizando qual seria a melhor maneira porque essa parte é crucial para o desempenho, mencionei XML por causa da quantidade de coisas que já serão no mesmo mas seria incantáveis vezes mais simples trabalhar com ele em arquivo. Deixo a critério também. > O que não der para ser configurável, não deu e ponto. De qualquer forma > o Notes 2, pelos planos que temos > hoje, será a IDE mais configurável que eu conheço - e disparado. Se > algo tiver que ser definido de forma um pouco > menos configurável para poder funcionar ou para poder ficar realmente > bom, podemos arriscar, acho que vale à pena... essa parte é outra delicada pois flexibilidade diminui desempenho e ao construir um sistema de busca e análize como este escolher o método de representação do conhecimento e da procura por ele de forma errada pode fazer com que uma função que levaria 3 milisegundos para ser executada demorar cerca de 35000 anos, parece mentira mas acontece sim. Abraços, Thiago Cavalcanti --------------------------------------------------- Este e-mail foi enviado por http://www.nlink.com.br |
From: Anderson R. B. <no...@ig...> - 2003-07-29 17:58:32
|
Eba! O Thiago mandou o e-mail! :) >O componente scaneia o c=F3digo e busca por estruturas chaves que estari= am >guardadas em uma base ex: > > if(...){...} > > for ... to ... do > begin > ... > end; > T=E1, mas como a gente vai guardar isto num arquivo XML? A =FAnica id=E9ia que tive foi algo assim: <estrutura findkeyword=3D"if"> (*)\s{*} </estrutura> Em portugu=EAs: "quando a palavra-chave *"if"* for encontrada deve haver= =20 um "*("*, seguido por um trecho com quaisquer caracteres em qualquer n=FAmero*,* mais um *")"* seguido por caracteres=20 espa=E7os (espa=E7o, tab ou quebra de linha) e logo depois um *"{"* seguido de um trecho com quaiquer caracteres e=20 finalmente mais um *"}"*". Seria algo assim? >Infelismente eu creio que esta seria uma parte n=E3o muito facilmente >configur=E1vel do Notes pois ainda n=E3o consegui ver uma maneira muito = pratica >de >declarar as estruturas de forma simplificada. > O que n=E3o der para ser configur=E1vel, n=E3o deu e ponto. De qualquer f= orma=20 o Notes 2, pelos planos que temos hoje, ser=E1 a IDE mais configur=E1vel que eu conhe=E7o - e disparado. S= e=20 algo tiver que ser definido de forma um pouco menos configur=E1vel para poder funcionar ou para poder ficar realmente=20 bom, podemos arriscar, acho que vale =E0 pena... >entao...o que preferem C++ ou Obj Pascal? > Pra poder meter o bedelho, eu prefiro Obj Pascal! :) Abra=E7o, Anderson |
From: Thiago C. <fa...@nl...> - 2003-07-29 04:35:41
|
Primeiramente peço desculpas pela demora para me pronunciar mas lá vai Minha idéia para análise de de erros do código seria: O componente scaneia o código e busca por estruturas chaves que estariam guardadas em uma base ex: if(...){...} for ... to ... do begin ... end; ao encontrar uma palavra chave (if, for, while) ele virifica as possíveis variações de código que podem aparecer. ex: if ... then if (...)...(...) then e analiza a compatibilidade da estrutura encontrada, no caso de um erro no código. ex: if a==2 or b==3 then cada palavra chave seria pesada e uma decisão do que fazer para tornar o código correto tomada. ex: if == inicio de estrutura condicional then == termino de estrutura condicional or == ou lógico a==2 E b==3 == possíveis condições da estrutura modelo mais próximo conhecido if (...)...(...) then ação = adicionar aparenteses às condições (a==2 e b==3) para isso é necessário que haja conhecimento empírico sobre a linguagem, nesse ponto se mostra um problema que é criar as regras de verificação do código, é inviável criarmos todas então como elas vão ser chamadas de um arquivo basta ser mais um XML para que o usuário as crie e melhore, ou mesmo uma interface no Notes quando uma estrutura desconhecida fosse encontrada, etc. Infelismente eu creio que esta seria uma parte não muito facilmente configurável do Notes pois ainda não consegui ver uma maneira muito pratica de declarar as estruturas de forma simplificada. No máximo até esta quarta estarei enviando algum tipo de exemplo de como seria o funcionamento de forma mais detalhada, mas a teoria é mais ou menos essa, ele "lê" o código encontra o início de uma estrtura e pensa: se eu tenho um if então preciso de parâmetros e um then, depois disso verifica o resto da linha de código e dependendo do que encrontar faz as devidas alterações para que fique o mais compativel possível com as estruturas genéricas conhecidas. Outra coisa, estava conversando com Anderson e sugeri o seguinte: Inicialmente pensamos em fazer este componente em C++ pois meus conhecimentos em obj pascal não são muito extensos mas para que todos possam participar do projeto desta parte acho que seria muito melhor fazer-lo em obj pascal e assim ter toda a equipe participando, mas para isso precisarei de muito mais suporte de todos entao...o que preferem C++ ou Obj Pascal? Thiago Cavalcanti |
From: <fa...@nl...> - 2003-07-28 21:17:47
|
> VOTOS* > Pessoas, estou aguardando seus votos para ver se o Reginaldo entra ou não > na equipe. Os votos até agora dizem que sim, mas forma só 3 votos... A favor --------------------------------------------------- Este e-mail foi enviado por http://www.nlink.com.br |
From: <lui...@im...> - 2003-07-28 19:44:53
|
eu voto a favor -----Mensagem original----- De: Anderson Barbieri [mailto:bou...@ig...]=20 Enviada em: segunda-feira, 28 de julho de 2003 15:33 Para: not...@li... Assunto: [Notes2-team] Estou no aguardo dos votos e coment=E1rios!!! =09 =09 =09 VOTOS Pessoas, estou aguardando seus votos para ver se o Reginaldo entra ou = n=E3o na equipe. Os votos at=E9 agora dizem que sim, mas forma s=F3 3 = votos... =09 COMENT=C1RIOS Aguardo coment=E1rios e propostas sobre o nosso modo de funcionamento = durante o desenvolvimento.=20 Mandei uma proposta meio inicial e poucas pessoas disseram alguma = coisa. =09 FINALIZA=C7=C3O DO PLANEJAMENTO J=E1 =E9 hora de finalizarmos o planejamento e come=E7armos a = trabalhar... temos que anotar todas as id=E9ias que tivemos num =FAnico texto para que n=F3s, os usu=E1rios e os = futuros membros da equipe possam consultar. Assim teremos um guia do que temos que fazer nos pr=F3ximos meses... = Mandei um in=EDcio de texto e desde l=E1 estou esperando por complementos. =09 Era isso. Aguardo respostas. Anderson =09 |
From: Anderson B. <bou...@ig...> - 2003-07-28 18:33:46
|
* VOTOS* Pessoas, estou aguardando seus votos para ver se o Reginaldo entra ou n=E3= o na equipe. Os votos at=E9 agora dizem que sim, mas forma s=F3 3 votos... *COMENT=C1RIOS *Aguardo coment=E1rios e propostas sobre o nosso modo de funcionamento=20 durante o desenvolvimento. Mandei uma proposta meio inicial e poucas pessoas disseram alguma coisa. *FINALIZA=C7=C3O DO PLANEJAMENTO *J=E1 =E9 hora de finalizarmos o planejamento e come=E7armos a trabalhar.= ..=20 temos que anotar todas as id=E9ias que tivemos num =FAnico texto para que n=F3s, os usu=E1rios e os futuros=20 membros da equipe possam consultar. Assim teremos um guia do que temos que fazer nos pr=F3ximos meses...=20 Mandei um in=EDcio de texto e desde l=E1 estou esperando por complementos. Era isso. Aguardo respostas. Anderson |
From: Anderson R. B. <no...@ig...> - 2003-07-28 18:33:31
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> <font face="Helvetica, Arial, sans-serif"><br> <big><b>Documentação</b></big><br> <br> Eu tenho uma idéia nova para o Notes. Mas antes terei que contar um pouco<br> sobre java e o C# para vocês.<br> <br> <a href="#javadoc">javadoc</a> :: <a href="#doc">/doc</a> :: <a href="#notesdoc">notesdoc<br> </a><br> <br> <b><a name="javadoc"></a>javadoc</b><br> <br> Estive dando uma olhada no <i>javadoc</i>. O que é javadoc? O tio explica:<br> <br> - A linguagem Java tem um tipo de comentário diferente do C, que é assim:<br> </font><tt>/*<br> * Este é um tipo de comentário java que não existe em C.<br> * Ele serve para documentar o código! Este documenta a<br> * classe declarada abaixo:<br> */</tt><font face="Helvetica, Arial, sans-serif"><br> public class Main extends java.lang.Object {<br> <br> - Ok, comentários que servem para documentar o código. Não parece nada de novo.<br> Mas é, por causa do javadoc. O javadoc é um pequeno utilitário que coleta este tipo<br> de comentário e a partir disto constrói toda a documentação. O mais incrível é que toda<br> a documentção da linguaem Java, das APIs, é feita desta forma. Pense só: é muito mais<br> fácil documentar o código deste modo, pois você não precisa criar todo o html nem <br> abrir um programa diferente para fazê-lo. Basta comentar o código, o que um programador<br> normalmente já está acostumado a fazer...<br> <br> <b><a name="doc"></a>/doc<br> </b><br> Ah! Claro isto é incrível e a Microsoft não poderia deixar de roubar a idéia e dar uma melhorada nela!<br> A mesma capacidade já existe na nova linguagem deles, o C#. Além do comentário acima, é possível<br> fazer comentários do tipo:<br> </font><tt>///<br> /// <sumary> Esta classe constrói o form <br> /// principal da aplicação.</sumary><br> /// <br> class MainForm : System.Windows.Forms.Form {</tt><font face="Helvetica, Arial, sans-serif"><br> <br> Hummm... Anderson, essas tags aí seriam XML?<br> Claro. E é nisto que a M$ foi mais "esperta" que o pessoal<br> do java. No java você pode fazer cosias parecidas. Por exemplo:<br> <br> </font><tt>/**<br> * @param args contém os parâmetros da linha de comando<br> */<br> public static void main(String[] args) {<br> </tt><font face="Helvetica, Arial, sans-serif"><br> Isto em C# seria assim:<br> </font><tt>/**<br> * <param>args contém os parâmetros da linha de comando</param><br> */<br> public static void main(String[] args) {<br> </tt><font face="Helvetica, Arial, sans-serif"><br> Mas o pessoal da Microsoft fez uma coisa que não me parece muito<br> ineligente: o utilitário que arrecada a documentação é o próprio compilador.<br> Você usa o parâmetro "/doc" para mandar que ele crie a documentação para<br> você. Claro, isto limita o uso do utilitário a uma linguagem (no caso, o C#, mas<br> parece que o VB .net já tem isto também). Outra diferença é que ele gera XML<br> e não HTML diferente. Depois os arquivos XML podem virar HTML, PDF, DocBook,<br> HTMLHelp, Latex, etc. Ao exportar para XML, você permite que a documentção seja<br> convetida para o formato que vocé quiser!<br> <br> É a mesma coisa! A diferença é que o java usa uma marcação só dela usando o<br> símbolo "@" enquanto o C# usa XML, que é uma marcação padrão.<br> <br> <br> <b><a name="notesdoc"></a>notesdoc</b><br> <br> </font><font face="Helvetica, Arial, sans-serif">Ah! Sim, a minha idéia... bom, vocês neste ponto já sabem qual é, né?!<br> Criar o notesdoc, um pequeno utilitário de linha de comando capaz de<br> coletar comentários de documentação em qualquer linguagem e gerar<br> xml e html disto. Note que apesar das outras linguagens não terem este<br> tipo de comentário, qualquer linguagem pode fazer algo parecido usando<br> seus comentários normais. Em delphi por exemplo:<br> </font><tt>(**<br> * Este é um documentário pascal/delphi que pode ser<br> * usado como comentário de documentação.<br> *)<br> <br> </tt><font face="Helvetica, Arial, sans-serif">ou ainda:</font><tt><br> ///<br> /// igual ao C#!!!<br> ///<br> <br> </tt><font face="Helvetica, Arial, sans-serif">O notesdoc funcionaria usando por padrão o tipo de comentário<br> do C#, pois ele é muito mais portável. Mas seria capaz de converter<br> o formato do javadoc para o formato xml durante a coleta dos comentários, <br> tendo assim compatibilidade com a sun e com a M$. Além disto o componente<br> de edição do Notes 2 diferenciaria os dois tipos de comentário ao colorir<br> a sintaxe...<br> <br> Outra idéia é que usemos o notesdoc para comentar o próprio fonte<br> do Notes - assim não precisaremos nos dar o trabalho de criar uma<br> documentação separada...<br> <br> Que vocês acham???<br> Anderson<br> </font> </body> </html> |
From: Anderson R. B. <no...@ig...> - 2003-07-27 19:43:20
|
kog wrote: >## Instalei este editor aqui.... achei ele muito >interessante, cheio de recursos, >por=E9m nada facil para usuarios mais leigos > Ele n=E3o =E9 f=E1cil de usar. =C9 como um emacs ou vi, que voc=EA tem qu= e ler o=20 manual antes... chutar =E9 meio in=FAtil. Bem diferente da id=E9ia do Notes, que= =E9 de=20 que voc=EA n=E3o deve precisar da ajuda, nem de tutoriais... tudo deve ser =F3bvio.=20 Claro, se o cara for um abobado ae vai precisar ler a ajuda... e =E9 s=F3 por isto qu= e=20 mandaremos a ajuda junto :) >>Ou seja, basicamente teclas de atalho que mudam >>conforme a linguagem de programa=E7=E3o... >>Que vcs acham? Mt louco??? >> =20 >> > ## Achei a ideia muito boa. e como o notes ser=E1 > completamente configuravel, talvez podemos usar > este recurso tambem para que os usuarios "Criem", > definam novas teclas de atalho para inserir algum > texto definido pelo proprio usuario, como um outro > comando nao existente no Notes ou at=E9 mesmo uma > frase ou texto que o usuario defina.. o que acham?? Sim, porque ele poder=E1 definir teclas de atlhos para chamar extens=F5es. Tipo, no di=E1logo de configura=E7=F5es pdoer=E1 ter uma lista com os comandos do Notes + o comando das extens=F5es que o usu=E1rio pode usar... Mas o que estou sugerindo aqui n=E3o =E9 s=F3 isto -=E9 que tenhamos um grupo de teclas que pode fazer uma a=E7=E3o diferente dependendo da linguagem que estiver sendo editada.... >2) Extension Installer > >###realmente esta =E9 uma boa ideia... >uma coisa que podemos implementar a respeito dos Notes >eXtension Manager seria uma lista >de todos os plugins existentes para o notes no nosso >site, onde o Notes teria uma interface >para baixar, e vizualizar novos, e baixar atualizacoes >de todos plugins existentes,=20 >igualmente o jEdit faz. mas como o anderson disse, >podendo ser para qualquer coisa como >plugins, scripts, templates, arquivos de configura=E7=E3o >da colora=E7=E3o de c=F3digo, temas, etc. >o usuario poder=E1 atualizar todo o notes sem precisar >entrar no site ou sair do ambiente >do notes!!! >e ai???? > Uau! Isto seria o m=E1ximo... Podia ter um bot=E3o tipo "Atualizar todos = as=20 extens=F5es". Ae o cara vai tormar cafezinho e qdo volta j=E1 est=E1 com o Notes atuali= zado... Eu achouma boa... Mas talvez o download pudesse ser feito tamb=E9m pelo=20 site... no site d=E1 pra oferecer screenshoots dos plugins e tals... sei l=E1. O = que=20 acham? >3) Os Bookmakers do jEdit >Carvalho! Adorei o modo como o jEdit faz bookmakers >(vide a figura bookmakers.png). >## gostei d=E1 id=E9ia.. mas nao gostei como o jEdit >informa o bookmakers, se voce marcar >uma linha, e se o texto dessa linha for muito grande o >menu some no monitor...=20 > Por que ele mostra toda linha. Podemos mostrar s=F3 os 10 primeiros caracteres da linha (ou o que ficar melhor) para evitar o problema. Neste pto o pessoal do jEdit falhou mesmo... mas que bom, assim poderemos super=E1-los!!! ahhahahaha >4) Folding no jEdit >####olha, achei o folding do jEdit meio complicadinha, >como ja disse, este editor nao =E9 >para usuario leigos, (talvez eu ainda seja um :)) por >isso o notes dever=E1 ter uma facilidade=20 >muito maior para o uso desta ferramenta. a opcao de >criar um folding nas linhas selecionadas realmente >faltou >=E9 muito importante e necess=E1ria!!!=20 > =C9 que voc=EA precisa ativar o folding - ele vem desabilitado por padr=E3= o... Depois de ativ=E1-lo, seleciona o texto e clica em Folding > Add Eplicit = Fold. Por que vem desabilitado? Sei l=E1, doidera dos caras! Mas eu queria=20 deixar isto mais simples: quando voc=EA seleciona o texto, aparece um =EDcone na gutt= er=20 que permite voc=EA fazer o folding... ae ele adiciona o folding sozinho, sem que voc=EA= =20 precise usar menus... >Era isso. Ningu=E9m a=ED conhece mais de perto o tal de >NetBeans????? Eu queria afanar uma id=E9ias >dele, j=E1 q ele =E9 t=E3o famoso. Mas o download dele =E9 >enorme... algu=E9m ae se voluntaria a falar sobre ele? >Please? >## bom.. infelismente eu nao conheco!! hehehe.. > Eu baixei esse bicho. 30 mb!!! (a conex=E3o tava mt boa :) A minha impress=E3o =E9 que ele =E9 grande demais. Tem tanta ferramenta q= ue voc=EA n=E3o consegue se achar nele... a minha primeira impress=E3o dele n=E3o f= oi=20 das melhores. Mas vou dar outra olhada... de repente acho algo interessante... hehehehe= h T+ Anderson |
From: <kog...@ya...> - 2003-07-27 19:12:42
|
Carvalho, to que é uma fábrica de idéias!!!! Bom, as idéias de hoje vem duma rápida olhada que eu estava dando num tal de jEdit (www.jedit.org). Ele é um programa em Java e, da mesma forma que estamos pensando; para o Notes, suporta plugins, macros (scripts), configuração da coloração de syntaxe totalmente por XML, etc. ## Instalei este editor aqui.... achei ele muito interessante, cheio de recursos, porém nada facil para usuarios mais leigos A única exceção é a primeira idéia, que vem de uma sugestão dada por um usuário. Vamo lá: 1) Ctrl+Alt+ A sugestão que o usuário havia me dado é que separássemos um grupo de teclas que serviria apenas para inserir código conforme a linguagem que está sendo editada. Acho que Ctrl+Alt+[A..Z] é um bom grupo. Deixe eu exemplificar A) "ctrl+alt+i" por exemplo inseriria o "if" da linguagem que estiver sendo editada: dê ctrl+alt+i em um source em C e o Notes 2 inseriria: if () { } dê ctrl+alt+i em um source de delphi e o Notes 2 vai inserir: if then begin end; Desta forma vocês pode "escrever" boa parte do código usando apenas teclas de atalho... é algo para preguiçoso como eu :) ctrl+al+i > if ctrl+al+e > if-else ctrl+al+f > for (loop) ctrl+al+w > while (loop) ctrl+al+s > switch/case ctrl+al+t > try ctrl+al+c > class Ou seja, basicamente teclas de atalho que mudam conforme a linguagem de programação... Que vcs acham? Mt louco??? ## Achei a ideia muito boa. e como o notes será completamente configuravel, talvez podemos usar este recurso tambem para que os usuarios "Criem", definam novas teclas de atalho para inserir algum texto definido pelo proprio usuario, como um outro comando nao existente no Notes ou até mesmo uma frase ou texto que o usuario defina.. o que acham?? 2) Extension Installer Eu estava dando uma olhada na (extensa mas maravilhosa, veja o anexo) ajuda do jEdit e lá ele, em várias partes, dizia algo tipo: "para descobrir onde fica o diretório de configuração leia a seção sobre isto". E para adicionar qualquer coisa nele vc precisa descobrir onde fica o maldito. Menos para plugins, ele tem um bom gerenciador de plugins que permite instalar plugins, desinstalar, atualizar, etc. Mas por que não fazer isto com o resto dos arquivos???? Eis aí a minha idéia: chamamos tudo (plugins, scripts, templates, arquivos de configuração da coloração de código, temas, etc.) de extensões e criamos um "Notes eXtension Manager" para instalar e desinstalar tudo isto. Os arquivos seriam zipados (ou tar.bzipados) e ganhariam um final diferente: ".nxp" (Notes eXtension Package - pacote contendo uma extensão do Notes). Dentro do pacote, um pequeno arquivo XML informaria ao notes o que é a extensão: se é plugin, tema, script, template. O Notes eXtension Manager viria com um wizard para criar os pacotes. Ou seja, todo o processo seria facilitado para o usuário. Além disso, com o uso de um instalador, podemos usar um banco de dados XML para guardar as extensões instaladas ao invés de sair procurando elas no disco rígido. No caso de plugins/scripts, o instalador cuidaria para adicionar items de acesso as funções providas por estes últimos. Por exemplo, um plugin que adiciona a capacidade de fazer cafezinho através do Notes, pode instalar um item no menu "comandos" chamado "Fazer &Cafezinho!". Ah... Essa idéia não é nova... agora to lembrando que é assim que o phoenix o mozilla fazem para instalar extensões. Pô, pensei q eu tivesse tido uma idéia original! :) ###realmente esta é uma boa ideia... uma coisa que podemos implementar a respeito dos Notes eXtension Manager seria uma lista de todos os plugins existentes para o notes no nosso site, onde o Notes teria uma interface para baixar, e vizualizar novos, e baixar atualizacoes de todos plugins existentes, igualmente o jEdit faz. mas como o anderson disse, podendo ser para qualquer coisa como plugins, scripts, templates, arquivos de configuração da coloração de código, temas, etc. o usuario poderá atualizar todo o notes sem precisar entrar no site ou sair do ambiente do notes!!! e ai???? 3) Os Bookmakers do jEdit Carvalho! Adorei o modo como o jEdit faz bookmakers (vide a figura bookmakers.png). le chama bookmakers de marcadores. Ele não limita o número de bookmakers (como no Delphi e outras IDEs). Simplesmente ele adiciona um item no menu que permite vc indentificá-lo, tipo "67: if (this == bookmaker) {". Ou seja: "[linha] : [texto da linha]". Além disso ele permite ir p/ o próx. bookmaker, p/o bookmaker anterior, etc. É a melhor implementação que já vi disto em todos os editores que já analisei. To babando. Se vcs tbém gostarem, botamos isto no Notes 2 :) ## gostei dá idéia.. mas nao gostei como o jEdit informa o bookmakers, se voce marcar uma linha, e se o texto dessa linha for muito grande o menu some no monitor... isso é um problema pequeno de ser resolvido, mas existente no jEdit, depois podemos pensar em uma boa forma de apresentar isso ao usuario!! (claro deixando o usuario tambem definir quantos caracters da linha será exibido no menu!!hhahahaha.. será que é exagero??) 4) Folding no jEdit Nunca vi um editor dar tanta atenção a folding qto o jEdit. Vejam as figuras anexas: eles tem um menu só para folding. Por outro lado, o folding do jEdit é compliacado. Prmeiro por que ele faz folding de dois modos diferentes: um automaticamente escolhendo os pontos de folding através da intentação do código - e este modo é uma merda, não funfa bem não... (Talvez para linguagens como python onde indentação é tudo este modo funcione corretamente.) Existe outro método. Como no HotDog, ele permite que você mesmo diga de onde até onde você quer esconder o texto. E este funciona bem. Você pode marcar manualmente os lugares de início e fim de folding usando "[comentário]{{{" e "[comentário]}}}". Ou seja, em pascal e C vc usaria "//{{{" para marcar o inicio da "pasta" e "//}}}" para marcar o fim. A única coisa que ele faltou é aquilo que o HotDog faz - quendo você seleciona mais de uma linha de texto, ele deveria se oferecer para criar um folding com aquela área selecionada!!! Se fizesse isso, funcionaria perfeito para mim. Se vocês gostarem e permitirem, podemos fazer isto no notes 2... ####olha, achei o folding do jEdit meio complicadinha, como ja disse, este editor nao é para usuario leigos, (talvez eu ainda seja um :)) por isso o notes deverá ter uma facilidade muito maior para o uso desta ferramenta. a opcao de criar um folding nas linhas selecionadas realmente faltou é muito importante e necessária!!! 5) Barra de procura rápida Olhem a figura search.png, please. O jEdit possuí uma barra para localizar o texto. Com essa barra fica fácil ir pulando de um pedaço do texto para o outro... seria legal como um opicional p/ o Notes 2, ou para o Notes 2.1... sei lá... #interessante. 6) Comandos O resto das figuras mostram uma série de comandos que podemos implementar como comandos (scripts?) no Notes 2... Tem outra figura também que mostra a janela de configurações do jEdit. Ela tem um overview - ou seja, algumas instruções. Elas seria útil se contivesse "links" para as páginas mais usadas pelos usuários... Era isso. Ninguém aí conhece mais de perto o tal de NetBeans????? Eu queria afanar uma idéias dele, já q ele é tão famoso. Mas o download dele é enorme... alguém ae se voluntaria a falar sobre ele? Please? ## bom.. infelismente eu nao conheco!! hehehe.. T+ Anderson _______________________________________________________________________ Yahoo! Mail Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção contra spam. http://br.mail.yahoo.com/ |
From: Anderson R. B. <no...@ig...> - 2003-07-27 07:19:08
|
Pessoal, eu e o Koguta tivemos uma conversa altamente produtiva hoje e estamos=20 tornando ela p=FAblica para a equipe... nenhuma id=E9ia realmente nova, mas o=20 escalrecimento de v=E1rios pontos que estavam meio confusos. Quem n=E3o ler n=E3o venha perguntar de= pois :) Ab. Anderson -----------------begin------------------------- > P: Todos estarao empenhados em construir este novo componente? R: depende. Eu mandei alguma id=E9ias sobre um modo de funcionarmos...=20 segundo este modo sempre se implementa uma coisa de cada vez e todo=20 mundo implementa tudo... > otimo.. ou seja, n=E3o existem respons=E1veis por m=F3dulos. Cada um fica respons= =E1vel=20 sim por tarefas curtas - pequenas e implement=E1veis rapidamente... > isso =E9 interessante pois se alguem atrasar na entrega de alguma=20 > tarefa, ir=E1 atrasar toda a equipe, aumentando a responsabilidade de=20 > cada pessoa! a id=E9ia =E9 exatamente esta: todo mundo =E9 sempre respons=E1vel por um= a=20 pequena parte e tem que cumprir a pequena parte no tempo combinado. Se=20 estiver em dificuldades, deve comunicar rapidamente a equipe para que=20 algu=E9m possa ajud=E1-lo a terminar a tarefa a tempo. Tamb=E9m =E9 impor= tante=20 que cada um peque uma tarefa que tenha tempo para concluir. Tarefas=20 grandes - como um componente - s=E3o quebradas em pequenas tarefas, mais=20 curtas, para simplificar o processo... > interessante.. > P: Analisador de erros > ####bom, algum componente interessante para nos ajudar nesta funcao? sim, o Thiago Bard =E9 o nosso componente :) o Thiago Bard est=E1 na equipe para implementar o analisador de erros.=20 Vai acabar fazendo outras coisas tb=E9m, mas acho que se deixarmos algu=E9= m=20 pensando mais tempo nisso, poderemos alcan=E7ar resultados melhores. Ele=20 me disse que j=E1 tema t=E9 algumas id=E9ias... nos pr=F3x. dias ele deve= =20 envi=E1-las pra lista... > otimo... mas isso ele ja pode comecar a implementar nao???? nao.. acho que ele vai precisar do editor.. :) =E9 poss=EDvel que ele precise do editor. O editor pode, p. ex., informar= =20 que linguagem est=E1 sendo editada, qu regi=E3o =E9 um coment=E1rio, etc. > sim... mas ele pode ir pensando na implementa=E7=E3o... e parece ser o que ele a= nda=20 fazendo. > :) > Folding > ###isso ser=E1 um outro componente tambem que usaremos em cima do nosso= =20 > componente de edicao?? > ou n=F3s =E9 que temos que implementar no componente como j=E1 havia dito em algum momento, j=E1 existe um c=F3digo dum editor= =20 chamado JediEdit que implementa folding no synedit... mas precisaremos=20 fazer algumas modifica=E7=F5es - at=E9 pq modificaremos o componente... > ah sim..!! > P: alguem ficar=E1 responsavel pelo ambiente grafico do notes??? R: depende de como formos funcionar... ent=E3o, sei l=E1. Segundo as id=E9= ias=20 que passei, n=E3o teremos respons=E1veis por m=F3dulos - ao menos n=E3o a= gora,=20 quem sabe no futuro isto venha a ser bom, mas no momento n=E3o me parece.= .. > P: ### isso =E9 um bom recurso tambem! > tambem ser=E1 por arquivos xml nao =E9? R: por mim devemos fazer o seguinte: tudo que der para ficar em XML,=20 fica em xml. Se n=E3o der... bom, azar :) > ## pois =E9.. algumas ferramentas mais simples como ftp, podemos criar = a=20 > nossa propria tambem Sim, no caso do ftp =E9 mais f=E1cil implementarmos n=F3s mesmo. Achei um= a=20 biblioteca chamada Synapse que =E9 bem melhor que o Indy que vem com o=20 Delphi. Tipo, pra baixar um arquivo =E9 s=F3 fazer algo tipo: Get(URL,=20 paraarquivotal); A biblioteca implementa ftp tb=E9m... podemos us=E1-la..= . > otimo > ### E tambem pelas teclas de atalho... nao =E9 mesmo? Claro. Na realidade pro Notes teclas de atalho, menus, barras de=20 ferramentas, o toolbox... hum... =E9 tudo a mesma coisa. Acho que deveria= =20 haver algo como um "interpretador" respons=E1vel por chamar todos estes=20 comandos. Ent=E3o no arquivo XML voc=EA poderia ter: <onClick>Notes.OpenProject()</onClick> E a=ED n=E3o importa quem gerou este comando... o interpretador cuidaria = de=20 entender que o usu=E1rio quer que o Notes abra um projeto (=E9 o que=20 significaria "Notes.OpenProject") e acionaria o m=E9todo respons=E1vel... > =E9... mas anderson.... caso o usuario apagasse ou alterasse os arquivo= s=20 > xml.. o notes nao funcionaria direito.. estas funcoes internas nao=20 > seria melhor em Funcoes ou dlls?? quais fun=E7=F5es internas? os menus, toolbars, o toolbox, os atalhos, et= c.=20 s=E3o arquivos XML. Sim, se ele fizesse a estupidez de deletar um arquivo= =20 xml, ele teria que restur=E1-lo de algum modo... ou o notes ficar=E1 sem = os=20 menus ou algo assim... este =E9 o pre=E7o da configurabilidade... mas eu = n=E3o=20 penso nisto deste =E2ngulo. Eu penso que parte do Notes =E9 feita em XML.= ..=20 os arquivos xml s=E3o parte do aplicativo mesmo. O mozilla faz algo=20 parecido, mas usa JavaScript no lugar de xml... e =E9 por isto que eu dig= o=20 que voc=EA pode pegar os arquivos que vem com o Notes, edita-los e criar=20 uma "distribui=E7=E3o nova do notes" s=F3 com isto. Se voc=EA pensa que a= inda=20 pode incluir extens=F5es... uau! o notes vira um linux da vida :) > anderson, me explica melhor esta sua ideia de interpretador ai.. voce=20 > est=E1 que querendo ter um arquivo xml, que quando usuario aperte um=20 > botao, ou v=E1 ao menu ou o que for... o notes verifique no arquivo xml= =20 > qual funcao ele deve executar?? exato! mais do que isto! os menus seram criados pelos arquivos xml. Tipo: <menuitem> <caption>&Colar</caption> <hint>Click aqui para colar seu idiota!</hint> <onclick>Notes.Paste()</onclick> </menuitem> > entendi.. =E9.. se o usuario for uma anta, ele nem vai saber que o note= s=20 > parou de funcionar por que ele apagou os arquivos... mas tudo bemm!!! se tu percebeu, isto criar um item no menu que ao ser clicado permite o=20 usu=E1rio colar o texto... > e o codigo da funcao "Notes.Paste()" ficar=E1 onde??? no .pas nao =E9? isto! A fun=E7=E3o sim fica dentro do Notes. O interpretador que eu dizia= =E9=20 quem reconhece o que =E9 que a string "Notes.Paste()" est=E1 mandando o=20 notes fazer... > interessante... anderson... voce acha interessante o notes trabalhar=20 > com dlls? ser=E1 necess=E1rio para os plugins. Pense que o usu=E1rio tamb=E9m poder= =E1 fazer=20 algo como: <menuitem> <caption>&Aciona Extens=E3o</caption> <hint>Click aqui para acionar a minha extens=E3o</hint> <onclick>Extension.MinhaExtensao.Execute()</onclick> </menuitem> > eu estava pensando em separarmos o notes em varias dlls... > uma dll pra funcao. > uma dll pra interface. > uma dll pra isso > uma dll pra aquilo.. acho que n=E3o precisamos ir t=E3o longe: basta compilarmos o Notes com a= s=20 biliotecas (.bpl). Assim o exe ficar=E1 bem pequeno e poderemos distribui= r=20 updates min=FAsculos... Fora isto, acho que alguns di=E1logos podem ser extens=F5es. Tipo o di=E1= logo=20 localizar. Assim, al=E9m da facilidade de atualiza=E7=E3o, o dialogo s=F3= ocupa=20 mem=F3ria enquanto est=E1 sendo usado pelo usu=E1rio... > bpl? que extensao =E9 esta? =E9 como um dll. s=E3o os pacotes da borland. Borland Package Library...=20 toda a CLX s=E3o pacotes... ent=E3o ter=EDamos BaseCLX, VisualCLX, etc. E= stes=20 nunca modificaremos (a n=E3o ser qdo usarmos o Delphi 8) ent=E3o n=E3o=20 precisam ser baixados pelo usu=E1rio mais de uma vez... -------------------end---------------------- =20 |
From: Thiago K. <ko...@ms...> - 2003-07-26 21:48:52
|
Planejamento do Notes 2 Editando texto Para poder atender a todas as sugestões feitas pelos usuários, a Equipe do Notes decidiu construir um componente (controle) de edição próprio.............. Todos estarao empenhados em construir este novo componente??/ alguma tarefa será dividida até que este componente nao esteja pronto??? Coloração de código Esta foi a sugestão mais feita pelos usuários e vamos finalmente poder atendê-la. E não vamos fazer isto de qualquer forma:............... ótimo. com certeza será um grande ponto a favor sobre os outros editores! Analisador de erros O editor poderá também detectar erros no código enquanto você digita............. ####bom, algum componente interessante para nos ajudar nesta funcao? Folding Alguns dos editores mais novos permitem que o usuário esconda certas partes do código. ............ ###isso será um outro componente tambem que usaremos em cima do nosso componente de edicao?? ou nós é que temos que implementar no componente??? Split O velho edit do DOS e outros editores atuais permitem qeu você possa dividir o componente de edição em 2. No Notes 2 está capacidade estará presente, podendo dividir o editor tanto horizontalmente quanto verticalmente, quantas vezes você quiser. ### ótimo.. alguem ficará responsavel pelo ambiente grafico do notes??? A Interface A interface do Notes 2 será altamente configurável. Isso ocorrerá por que menus e toolbars serão criados a partir de arquivos XML, ao invés de serem harcoded. Além disto, o Notes 2 suportará skins (temas) que poderão alterar os controles (botões, campso de edição, bombos, etc.) e os ícones padrões. Apesar de configurável, continuará simples de usar, pois sua organização seguirá a forma a qual os programadores já estão acostumados. # ok! Como será a interface? Num programa tão configurável quanto o Notes 2, esta é uma pergunta difícil de responder. Temos pensando em uma estrutura assim (de cima para baixo): menus; barra de ferramentas; tabs (para mudar entre os arquivos abertos) e um botão seletor de projetos (no Notes 2 você poderá abrir vários projetos ao mesmo tempo, clique no botão para mudar de um para outro); na esquerda um painel vertical onde ficaram várias ferramentas (gerenciador de projetos, gerenciador CVS, etc.) e na direita a área de edição; um painel horizotal (abaixo do editor, mas não abaixo do painel vertical) com outras ferramentas (saída de compiladores, gerenciador de tarefas, etc.); e, por último, a barra de status. # ok.. por mim está ótimo! Dando poder ao teclado A maioria dos programadores usa muito mais o teclado que o mouse - o que difere uma IDE como o Notes 2 de outros aplicativos. Então prometemos desde já dar uma atenção especial a ele. No caso do editor, AutoIndent, SmartIndent,........................... ### isso é um bom recurso tambem! tambem será por arquivos xml nao é? Integração Sendo programadores, estamos cientes de que um editor de código não é a única ferramenta necessária durante o desenvolvimento. Por isto o Notes 2 terá uma boa integração com compiladores, debugers, CVS, FTP, servidores, ferramentas UML, etc... ## pois é.. algumas ferramentas mais simples como ftp, podemos criar a nossa propria tambem ao inves só interagir (ter a nossa e tambem interagir) com outras ferramentas ftp! integrada ao notes. sem sair do ambiente.. Extensibilidade Por mais que nos esforcemos, nunca poderemos oferecer tudo o que um usuário precisa. Há ferramentas que são muito específicas, isto é, úteis apenas para uma linguagem ou para alguns poucos usuários. Há linguagens que não existem ainda ou outras, mais antigas, que poderão não ser suportadas por padrão quando o Notes 2 for lançado..... # boaa.. deve ser um processo meio trabalhoso. mas vale a pena! Plugins Os plugins serão as extensões mais poderosas no Notes 2. Isto por que os plugins terão acesso a uma API do Notes, f....... #perfeito... Scripts No Notes 2 você poderá usar a sua linguagem de scripts preferida para adicionar novas ferramentas ao Notes (claro que você precisará ter o interpretador já instalado, não dá para querer que o Notes aprenda a interpretar... # ótimo tambem! Suporte a novas linguagens Através das extensões será possível também adicionar suporte a outras linguagens e melhorar o suporte as linguagens que são suportadas no Notes 2 por padrão. Uma extensão poderá conter templates, o arquivo de coloração de código para a linguagem, snippets, scripts, plugins, etc. Mais detalhes ToolBox O Notes SE incluia o menu inserir. Apesar de ser altamente funcional, ele tinha um problema: você tinha que navegar pelos submenus até achar o que queria inserir. Para solucionar este problema, a equipe do Notes incluirá um ToolBox no painel vertical, que facilitará o acesso aos códigos do menu inserir. ### E tambem pelas teclas de atalho... nao é mesmo? Ferramentas para SQL e XML O Notes 2 incluirá também ferramentas para que você possa manipular banco de dados, construir querys SQL com facilidade e editar visualmente arquivos XML. ------------- _________________________________________________________________ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br |
From: Victor T. B. H. <vic...@im...> - 2003-07-26 03:07:49
|
a favor do reginaldo __________________________________________________________ Email enviado pelo webmail de http://www.imasters.com.br Este serviço pode ser incorporado a qualquer site, intranet ou extranet. Visite http://www.integraweb.com.br e saiba como. |
From: Anderson R. B. <no...@ig...> - 2003-07-24 01:49:41
|
Uuauziiis! Votem nos candidatos a membro da equipe: 1) Este =E9 novo e polifuncional. Trabalha com Delphi, C, php, edi=E7=E3= o de imagens, etc. (Tri ecl=E9tico, quin=E9m eu!) e se ofereceu para trabal= har conosco. Lidou bem com aquele aviso que sempre fa=E7o (muito trabalho, no money, quer mesmo?). Chama-se Reginaldo... *Votos at=E9 domingo.* 2) S=F3 chegarm dois votos pro cara cetinho aquele, que =E9 programador. Os dois votom s=E3o contra - parece que n=E3o foram com a cara do cara :) Mas t=E1 ae ainda proc=EAs dicidi. Deixamos ele entrar ou n=E3o? Vou agua= rdar respostas* at=E9 o final de sexta*, n=E3o vamos deixar o cara esperando p= ra=20 sempre, n=E9?! Aguardos os vossos SIMs e vossos N=C3Os. Anderson |
From: Anderson R. B. <no...@ig...> - 2003-07-24 01:41:45
|
Sim, mmuuuiiittooo trabalho... Mas acho que os planos t=E3o bem incompletos ainda, falta um monte de coisa que t=EDnhamos comentado. Mas como eu disse, estou sem os e-mails antigos e as msgs do f=F3rum. N=E3o consigo lembrar tudo de cabe=E7a... se voc=EAs puderem ir vendo o que falta complementar/alterar... T+ Anderson Luiz Antonio Gomes Pican=E7o wrote: > Pelo visto, j=E1 temos bastante trabalho. > > -----Mensagem original----- > *De:* Anderson R. Barbieri [mailto:no...@ig...] > *Enviada em:* segunda-feira, 21 de julho de 2003 01:22 > *Para:* not...@li... > *Assunto:* [Notes2-team] ***Planos pro Notes 2*** vers=E3o 000001 > > Pessoas, estou enviando uma primeira vers=E3o do planejamento do > Notes 2. Eu n=E3o tenho todas as msgs da lista nem as do f=F3rum e = por > isto ele DEVE estar incompleto. Ent=E3o espero as > modifica=E7=F5es/melhorias de voc=EAs... > |
From: <lui...@im...> - 2003-07-23 12:26:26
|
Pelo visto, j=E1 temos bastante trabalho. -----Mensagem original----- De: Anderson R. Barbieri [mailto:no...@ig...]=20 Enviada em: segunda-feira, 21 de julho de 2003 01:22 Para: not...@li... Assunto: [Notes2-team] ***Planos pro Notes 2*** vers=E3o 000001 =09 =09 Pessoas, estou enviando uma primeira vers=E3o do planejamento do Notes = 2. Eu n=E3o tenho todas as msgs da lista nem as do f=F3rum e por isto = ele DEVE estar incompleto. Ent=E3o espero as modifica=E7=F5es/melhorias = de voc=EAs... =09 ------------ Planejamento do Notes 2=20 =09 =09 Editando texto Para poder atender a todas as sugest=F5es feitas pelos usu=E1rios, a = Equipe do Notes decidiu construir um componente (controle) de edi=E7=E3o = pr=F3prio (baseado no famosos componente de edi=E7=E3o SynEdit). Este = componente de edi=E7=E3o funcionara no Windows e no Linux da mesma = forma. As capacidades dele s=E3o discutidas abaixo: =09 Colora=E7=E3o de c=F3digo Esta foi a sugest=E3o mais feita pelos usu=E1rios e vamos finalmente = poder atend=EA-la. E n=E3o vamos fazer isto de qualquer forma: o = componente usar=E1 defini=E7=F5es que ficar=E3o todas em arquivos XML. = Isto significa que a colora=E7=E3o de c=F3digo ser=E1 altamente = flex=EDvel, podendo ser configurada em detalhes pelo usu=E1rio - = diferente da maioria dos editores, que s=F3 permitem que voc=EA = configure as cores. Linguagens n=E3o suportadas por padr=E3o pelo Notes = 2 poder=E3o ser adicionadas facilmente e aquelas suportadas poder=E3o = ser configuradas de forma a atender as necessidades do usu=E1rio. =09 Analisador de erros O editor poder=E1 tamb=E9m detectar erros no c=F3digo enquanto voc=EA = digita. Sim, isso mesmo - voc=EA n=E3o precisar=E1 mais compilar todo o = c=F3digo para descobrir que cometeu um erro simples de programa=E7=E3o. = Claro, o Notes 2 n=E3o substituir=E1 o seu debuger/compilador favorito, = mas alguns erros ele poder=E1 indentificar - salvando minutos, ou at=E9 = horas de compila=E7=E3o! =09 Folding Alguns dos editores mais novos permitem que o usu=E1rio esconda certas = partes do c=F3digo. =C9 como se voc=EA estivesse usando o Windows = Explorer (ou o Konqueror/Nautilus no linux) s=F3 que no lugar de poder = navegar certas pastas e arquivos, voc=EA pode navegar pelas partes do = seu c=F3digo. E o folding poder=E1 ser controlado pelo usu=E1rio. = Bastar=E1 voc=EA selecionar algumas linhas de c=F3digo que um pequeno = =EDcone aparecer=E1: clicando nele aquela parte do c=F3digo ser=E1 = escondida, bastando clicar nele novamente para mostrar a partes = escondida novamente. Voc=EA poder=E1 tamb=E9m marcar manualmente as = =E1reas de folding. Bata adcionar "{{{" para iniciar uma =E1rea de = folding e "}}}" para fech=E1-la (sem as aspas). Selecionando as linhas e = clicando no =EDcone para esconder o trecho o Notes adicionar=E1 para = voc=EA estes marcadores. =09 Split O velho edit do DOS e outros editores atuais permitem qeu voc=EA possa = dividir o componente de edi=E7=E3o em 2.=20 No Notes 2 est=E1 capacidade estar=E1 presente, podendo dividir o = editor tanto horizontalmente quanto verticalmente, quantas vezes voc=EA = quiser. =09 =09 =09 A Interface A interface do Notes 2 ser=E1 altamente configur=E1vel. Isso ocorrer=E1 = por que menus e toolbars ser=E3o criados a partir de arquivos XML, ao = inv=E9s de serem harcoded. Al=E9m disto, o Notes 2 suportar=E1 skins = (temas) que poder=E3o alterar os controles (bot=F5es, campso de = edi=E7=E3o, bombos, etc.) e os =EDcones padr=F5es. Apesar de = configur=E1vel, continuar=E1 simples de usar, pois sua organiza=E7=E3o = seguir=E1 a forma a qual os programadores j=E1 est=E3o acostumados.=20 =09 Como ser=E1 a interface? Num programa t=E3o configur=E1vel quanto o Notes 2, esta =E9 uma = pergunta dif=EDcil de responder. Temos pensando em uma estrutura assim = (de cima para baixo): menus; barra de ferramentas; tabs (para mudar = entre os arquivos abertos) e um bot=E3o seletor de projetos (no Notes 2 = voc=EA poder=E1 abrir v=E1rios projetos ao mesmo tempo, clique no = bot=E3o para mudar de um para outro); na esquerda um painel vertical = onde ficaram v=E1rias ferramentas (gerenciador de projetos, gerenciador = CVS, etc.) e na direita a =E1rea de edi=E7=E3o; um painel horizotal = (abaixo do editor, mas n=E3o abaixo do painel vertical) com outras = ferramentas (sa=EDda de compiladores, gerenciador de tarefas, etc.); e, = por =FAltimo, a barra de status. =09 Dando poder ao teclado A maioria dos programadores usa muito mais o teclado que o mouse - o = que difere uma IDE como o Notes 2 de outros aplicativos. Ent=E3o = prometemos desde j=E1 dar uma aten=E7=E3o especial a ele. No caso do = editor, AutoIndent, SmartIndent, SmartHome, SmartEnd, SmartPaste = ajudar=E3o a diminuir o tempo que um programador gasta escrevendo e = formatando o c=F3digo. Al=E9m disto, o editor poder=E1 usar features = normalmente s=F3 encontradadas em editores da Borland=AE, como as setas = que podem se movimentar livremente no texto. Al=E9m disto tudo, as = teclas de atalho poder=E3o ser totalmente configuradas. Pensamos at=E9 = em permitir que algumas delas mudem conforme a linguagem que se est=E1 = editando!!! =09 Integra=E7=E3o Sendo programadores, estamos cientes de que um editor de c=F3digo n=E3o = =E9 a =FAnica ferramenta necess=E1ria durante o desenvolvimento. Por = isto o Notes 2 ter=E1 uma boa integra=E7=E3o com compiladores, debugers, = CVS, FTP, servidores, ferramentas UML, etc. Outros IDEs fazem isto = construindo novas ferramentas (quase sempre propriet=E1rias) diferentes = daquelas que os programadores est=E3o acostumados a usar. Queremos que o = Notes 2 se integre com as ferramentas que est=E3o a=ED e que voc=EA j=E1 = sabe usar. Nada de inventar a roda e obrig=E1-lo a aprender algo que = voc=EA n=E3o quer. =09 Extensibilidade Por mais que nos esforcemos, nunca poderemos oferecer tudo o que um = usu=E1rio precisa. H=E1 ferramentas que s=E3o muito espec=EDficas, isto = =E9, =FAteis apenas para uma linguagem ou para alguns poucos usu=E1rios. = H=E1 linguagens que n=E3o existem ainda ou outras, mais antigas, que = poder=E3o n=E3o ser suportadas por padr=E3o quando o Notes 2 for = lan=E7ado. E al=E9m disto, todos os membros da equipe s=E3o humanos! = Para resolver o problema, o Notes 2 ser=E1 altamente extens=EDvel: = voc=EA poder=E1 adicionar suporte a novas linguagens, criar novos = comandos na sua linguagem de script preferida para fazer pequenas = modifica=E7=F5es no c=F3digo ou, at=E9 mesmo, escrever novos di=E1logos = e ferramentas - plugins - em C/C++, Object Pascal, etc. (De fato estamos = pensando em criar alguns dos di=E1logos padr=F5es na forma de plugins, = para que voc=EA possa modific=E1-los se n=E3o gostar de algum deles!) = Al=E9m de tudo isto, as extens=F5es poder=E3o ser instaladas atrav=E9s = do Notes e far=E3o todas as modifica=E7=F5es necess=E1rias para que = voc=EA possa sair usando elas sem precisar ler manuais complicados. =09 Plugins Os plugins ser=E3o as extens=F5es mais poderosas no Notes 2. Isto por = que os plugins ter=E3o acesso a uma API do Notes, feita especialmente = para eles. Com isto poder=E3o conseguir todo tipo de informa=E7=F5es que = precisarem, poder=E3o alterar certos comportamentos, capturar eventos, = usar bibliotecas do Notes (como a de express=F5es regulares ou a de = configura=E7=F5es), etc. Um plugin poder=E1 implementar "servi=E7os" (um = novo comportamento, como inserir uma quebra de linha toda vez que voc=EA = digitar "{"), di=E1logos, novas ferramentas que podem ser dockadas aos = pain=E9is do Notes 2, etc. =09 Scripts No Notes 2 voc=EA poder=E1 usar a sua linguagem de scripts preferida = para adicionar novas ferramentas ao Notes (claro que voc=EA precisar=E1 = ter o interpretador j=E1 instalado, n=E3o d=E1 para querer que o Notes = aprenda a interpretar todas as linguagens de scripts existentes). Outra = novidade =E9 que voc=EA poder=E1 ter interfaces simples para o seus = scripts - usando apenas a sua linguagem de script e um pouco de XML (que = =E9 f=E1cil). Com isto voc=EA poder=E1 adicionar, por exemplo, um = bot=E3o na barra de ferramentas que, quando acionado, mostre ao = usu=E1rio um di=E1logo com v=E1rias op=E7=F5es permitindo a ele criar = uma tabela HTML em poucos segundos.=20 =09 Suporte a novas linguagens Atrav=E9s das extens=F5es ser=E1 poss=EDvel tamb=E9m adicionar suporte = a outras linguagens e melhorar o suporte as linguagens que s=E3o = suportadas no Notes 2 por padr=E3o. Uma extens=E3o poder=E1 conter = templates, o arquivo de colora=E7=E3o de c=F3digo para a linguagem, = snippets, scripts, plugins, etc.=20 =09 Mais detalhes =09 ToolBox O Notes SE incluia o menu inserir. Apesar de ser altamente funcional, = ele tinha um problema: voc=EA tinha que navegar pelos submenus at=E9 = achar o que queria inserir. Para solucionar este problema, a equipe do = Notes incluir=E1 um ToolBox no painel vertical, que facilitar=E1 o = acesso aos c=F3digos do menu inserir. =09 Ferramentas para SQL e XML O Notes 2 incluir=E1 tamb=E9m ferramentas para que voc=EA possa = manipular banco de dados, construir querys SQL com facilidade e editar = visualmente arquivos XML.=20 =09 ------------- =09 |
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. ------------- |
From: Anderson R. B. <no...@ig...> - 2003-07-20 17:11:22
|
Thiago Cavalcanti wrote: > Eu j=E1 tive algum contato com o NetBeans uma =E9poca que eu estava=20 > querendo vincular uma aplica=E7=E3o a API do OpenOffice, ele =E9 muito = bom=20 > mas que pontos queres ouvir dele? ele =E9 imenso para sai falando assim= .. Bom, os pontos que tu achou mais interessantes e id=E9ias que podemos=20 pegar dele para incluir no Notes. Isto =E9 o que eu pego quando vejo=20 qualquer editor. Ou seja, a escolha =E9 bem subjetiva :) Aguardo teu "review"... Ab. Anderson |
From: Thiago C. <fa...@nl...> - 2003-07-20 14:26:27
|
>Era isso. Ningu=E9m a=ED conhece mais de perto o tal de NetBeans????? = Eu queria afanar uma id=E9ias >dele, j=E1 q ele =E9 t=E3o famoso. Mas o download dele =E9 enorme... = algu=E9m ae se voluntaria a falar sobre ele? Please? Eu j=E1 tive algum contato com o NetBeans uma =E9poca que eu estava = querendo vincular uma aplica=E7=E3o a API do OpenOffice, ele =E9 muito bom mas que pontos queres ouvir dele? ele =E9 = imenso para sai falando assim... Thiago Cavalcanti |
From: Anderson R. B. <and...@po...> - 2003-07-20 03:54:58
|
Bom, um tempo atr=E1s lancei uma pergunta na lista que era a seguinte: *como vamos funcionar?* Poucas respostas (uma?) apareceram na lista. Ent=E3o, acho que como=20 capit=E3o do barco =E9 minha fun=E7=E3o propor algo. =C9 s=F3 uma proposta a ser=20 discutida-modificada-refeita-critica-etc. Ent=E3o nada de votos (ainda). quero apenas vossas opini=F5es e id=E9ias.= Vamo l=E1: - Penso que no momento a equipe n=E3o aguentaria um per=EDodo de 2-3 meses = em=20 que fossemos fazer o design de todo o c=F3digo e que os usu=E1rios est=E3= o=20 esperando ver algo funcionado logo,logo. Al=E9m disso, n=E3o tenho certez= a=20 se vale realmente a pena fazer um design de TODO o c=F3digo, j=E1 que por= =20 mais que tentemos nos ater aos planos, iremos modific=E1-los por v=E1rios= =20 motivos: por que novas (e melhores) id=E9ias podem surgir a qualquer=20 momento; por que novas pessoas entrar=E3o na equipe e v=E3o querer coisas= =20 que n=E3o estavam planejadas inicialmente; por que algumas das coisas=20 planejadas podem ser mais dif=EDceis de serem feitas do que esper=E1vamos= ;=20 etc. Tamb=E9m n=E3o acho que temos uma equipe suficientemente grande para= =20 quebrar o c=F3digo em m=F3dulos que cada grupo de programadores=20 implementaria em separado - tamb=E9m por que n=E3o =E9 vantajoso que as=20 pessoas s=F3 conhe=E7am uma parte do c=F3digo... Acho que o mais indicado= =20 seria funcionarmos da maneira que um programador solit=E1rio funcionaria:= =20 ele primeiro implementaria o componente de edi=E7=E3o de textos, verifica= ria=20 se ele funciona perfeitamente, jogaria ele num form e faria o primeiro=20 release (um pr=E9-pr=E9-alpha). Claro que neste caso n=E3o ser=EDamos um=20 programador, mas ser=EDamos sim um s=F3 grupo. O design de cada m=F3dulo=20 importante do c=F3digo (por exemplo, o componente de edi=E7=E3o) seria fe= ito=20 imediatamente antes de come=E7ar a desenvolv=EA-lo. Modifica=E7=F5es pode= riam=20 ser feitas no design se id=E9ias melhores fossem surgindo durante o=20 desenvolvimento. Ou seja, a minha id=E9ia =E9 de fazermos os m=F3dulos em= =20 s=E9rie (um depois do outro, escritos pelo grupo) e n=E3o em paralelo (to= dos=20 ao mesmo tempo, cada um escrito por parte do grupo). Cada m=F3dulo seria a implementa=E7=E3o de uma nova feature. Poderiam ser= =20 m=F3dulos o componente de edi=E7=E3o; o gerenciador de temas (que altera = cores=20 e =EDcones da interface); o suporte a extens=F5es; a constru=E7=E3o da GU= I=20 atrav=E9s de arquivos de configura=E7=E3o (toolbars e menus criados atrav= =E9s de=20 arquivos XML); etc. Cada vez que um m=F3dulo estiver "pronto" ele=20 adicionado ao Notes e =E9 lan=E7ado ao p=FAblico. Assim v=E1rios e v=E1ri= os=20 pr=E9-alphas seriam lan=E7ados, permitindo tanto que os usu=E1rios=20 verificassem que estamos trabalhando, que eles reportassem os bugs que=20 fossem encontrando nos m=F3dulos j=E1 "acabados" e que fossem dando suas=20 sugest=F5s para melhorias durante o desenvolvimento. Quem acompanha o=20 desenvolvimento de softwares livres sabe que =E9 mais ou menos assim que=20 as coisas funcionam - os desenvolvedores v=E3o adicionando features e=20 fazendo releases. Nada de genial at=E9 aqui ent=E3o. Al=E9m disso, propon= ho=20 que cada um desses m=F3dulos (que na realidade ser=E3o conjuntos de class= es=20 e componentes) possa funcionar sem muito c=F3digo extra. Por exemplo, o=20 componente de edi=E7=E3o deve poder descobrir sozinho onde ficam os arqui= vos=20 de configura=E7=E3o que ele precisa e carregar as suas informa=E7=F5es de= l=E1,=20 sem interven=E7=E3o de algum c=F3digo no form principal. Ou seja, os m=F3= dulos=20 devem ser o mais independente poss=EDveis, devem funcionar sozinhos -=20 basta voc=EA criar um deles que o resto ele sabe fazer. Eu acho que o=20 quanto mais objeto orientado for o c=F3digo, mais f=E1cil ser=E1 mantermo= s e=20 melhorarmos o Notes 2 no futuro. Como seriam feitos os m=F3dulos? Eu sugeriria quebrarmos a constru=E7=E3o= dos=20 m=F3dulos em micro-tarefas que ficariam sob responsabilidade sempre de=20 apenas uma pessoa. Digamos que temos que limpar o SynEdit de todo o=20 c=F3digo dele que faz a colora=E7=E3o de syntaxe (realmente teremos que f= azer=20 isto). Dividimos as Units (que s=E3o muitas) do SynEdit entre os=20 desenvolvedores e cada um teria que limpar as Units pelas quais ficou=20 respons=E1vel em 1 ou 2 semanas. Ou seja, rapidamente ter=EDamos todo o=20 SynEdit pronto para mexermos nele. E, no meio deste processo, todos=20 acabariam j=E1 tendo uma familiariza=E7=E3o com ele - o que j=E1 ajudar=E1= na=20 realiza=E7=E3o das pr=F3ximas tarefas! Assim, a cada 1,2 ou 3 semanas nos= =20 encontrar=EDamos (chat, irc, icq, e-mail, etc.) e distribuir=EDamos as=20 micro-tarefas entre os programadores. O importante =E9 que todas as=20 micro-tarefas sejam curtas o suficiente para serem feitas pelo=20 programador respons=E1vel dentro do prazo. De quelaquer forma, seria=20 importante que no min=EDmo uma vez por semana o desenvolvedor atualizasse= =20 o CVS com as mudan=E7as que ele fez e baixasse as modifica=E7=F5es feitas= por=20 outros (poder=EDamos combinar um dia da semana em que todos teriam que=20 atualizar o CVS, se n=E3o o tiverem feito ainda). Cada programador deveria testar o seu c=F3digo e ter certeza de que ele=20 funciona conforme a tarefa exige - e conforme o nosso planejamento. Cada=20 c=F3digo deve ser testado para ver se funciona perfeitamente em todas as=20 situa=E7=F5es. Por exemplo, um m=E9todo que serve para passar o conte=FAd= o de um=20 arquivo para uma string deve ser testado com v=E1rios arquivos, de todos=20 os tamanhos, bin=E1rios e de texto, com arquivos localizados na rede e at= =E9=20 com arquivos que n=E3o existem. O programador teria liberdade aqui para=20 implementar o que lhe foi pedido do modo que achar melhor - afinal este=20 =E9 um software livre, temos que nos divertir um pouco ao desenvolvermos=20 ele, n=E9?! Cada programador teria completa autonomia para modificar=20 c=F3digos que outros fizeram para que o c=F3digo novo e o c=F3digo antigo= se=20 integrem perfeitamente. Todos os programadores teriam a responsabilidade=20 em tornar o c=F3digo do programa mais flex=EDvel e reus=E1vel, eliminar (= ou=20 comentar) funcionalidades que n=E3o est=E3o sendo utilizadas e melhorar=20 designs obsoletos (obviamente a equipe dever=E1 ser consultada antes de=20 modifia=E7=F5es enormes). O desenvolvedor teria tamb=E9m a responsabilida= de de=20 documentar cada tarefa que implementa (assim a documenta=E7=E3o do source= do=20 notes estar=E1 sempre atualizada e novatos na equipe poder=E3o se integra= r=20 mais rapidamente) e de, ao t=E9rmino da tarefa, enviar para a lista um=20 micro-relat=F3rio sobre o que ele implementou e que testes fez para=20 verificar se o c=F3digo funciona como deveria. (Quem sabe possamos usar=20 componentes de testagens como o DUnit ou o QTeste para automatizar as=20 nossas testagens...) Estes micro-relat=F3rios dever=E3o ser arquivados, p= ois=20 provavelmente ser=E3o extremamente =FAteis ao encotrarmos bugs :) N=E3o sei se voc=EAs conseguem imaginar isto ocorrendo. Conseguem? Eu=20 consigo. A id=E9ia =E9 basicamente que todos sempre saibam de tudo o que=20 est=E1 ocorrendo; que cada um sempre saiba o que tem que fazer e qual =E9= o=20 prazo que deve observar; que existam coisas conclu=EDdas no programa (2=20 m=F3dulos prontos ao inv=E9s de todos os m=F3dulos rec=E9m iniciados) par= a que=20 possam ir a p=FAblico - como deveria ser feito em qualquer software livre= ;=20 que as coisas sejam flex=EDveis o suficiente para podermos implementar as= =20 id=E9ias que aparecem e jogar fora as que se mostrarem ruins; e que tudo=20 isto esteja documentando sempre, para facilitar a vida dos=20 rec=E9m-chegados e possibilitar que eles possam come=E7ar a contribuir=20 conosco o mais rapidamente poss=EDvel. =C9 um m=E9todo que mant=E9m todo = mundo=20 sempre funcionando - sem precisar que eu fique chamando a aten=E7=E3o de=20 algu=E9m por n=E3o estar contibuindo (eu odeio ter que chamar a aten=E7=E3= o de=20 qualquer um!). Al=E9m disso, a qualidade do software est=E1 sempre sendo=20 "medida" tanto atrav=E9s dos testes feitos por cada desenvolvedor quanto=20 pelos testes feitos pelos usu=E1rios nos pr=E9-releases. *RESUMO:* M=F3dulo 1 -=3DDesign do M=F3dulo 1=3D- # Parte A > Desenvolvedor 1: micro-tarefa 1; > Desenvolvedor 2: micro-tarefa 2; > Desenvolvedor 3: micro-tarefa 3; > Desenvolvedor 4: micro-tarefa 4; etc. # Parte B > Desenvolvedor 1: micro-tarefa 5; > Desenvolvedor 2: micro-tarefa 6; > Desenvolvedor 3: micro-tarefa 7; > Desenvolvedor 4: micro-tarefa 8; etc. # Parte X, etc. ----------> Notes 2 Pr=E9-Alpha 1 M=F3dulo 2 -=3DDesign do M=F3dulo 2=3D- # Parte A > Desenvolvedor 1: micro-tarefa 9; > Desenvolvedor 2: micro-tarefa 10; > Desenvolvedor 3: micro-tarefa 11; > Desenvolvedor 4: micro-tarefa 12; etc. # Parte X, etc. ----------> Notes 2 Pr=E9-Alpha 2 M=F3dulo 3 -=3DDesign do M=F3dulo 3=3D- # Parte X, etc... -- Ab. Anderson |
From: <lui...@im...> - 2003-07-18 18:26:56
|
N=E3o vejo pq n=E3o funcionaria com C. Em C, criar=EDamos um ponteiro = para o m=E9todo. -----Mensagem original----- De: Anderson R. Barbieri [mailto:no...@ig...]=20 Enviada em: sexta-feira, 18 de julho de 2003 14:41 Para: not...@li... Assunto: Re: RES: [Notes2-team] Plugins Luiz Antonio Gomes Pican=E7o wrote: >Po, muito bom o c=F3digo. A gente define um m=E9todo padr=E3o e tudo o = que o=20 >plugin tem q fazer =E9 implement=E1-lo. > Sim, basta ele ter um m=E9todo estilo "LoadPlugin();". Passamos as=20 informa=E7=F5es para ele e est=E1 pronto, ele j=E1 pode se comunicar com o Notes. N=E3o h=E1=20 limita=E7=F5es pra esta id=E9ia. E a melhor parte =E9 que a implementa=E7=E3o =E9 igual no linux = e no=20 windows... Com alguma forma de callback talves possamos implementar eventos = tamb=E9m (para o onChange, onKeyPress, etc. do componente de = edi=E7=E3o). Eu queria ver se isso funciona c/ plugins em c ou n=E3o... mas n=E3o sei = o=20 suficiente de C para implementar um plugin. T+ Anderson ------------------------------------------------------- This SF.net email is sponsored by: VM Ware With VMware you can run multiple operating systems on a single machine. = WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the = same time. Free trial click here: http://www.vmware.com/wl/offer/345/0 _______________________________________________ notes2-team mailing list not...@li... = https://lists.sourceforge.net/lists/listinfo/notes2-team |
From: <fa...@nl...> - 2003-07-18 18:15:09
|
Olá pessoas Espero poder contribuir da melhor maneira possível Anderson. Estive um pouco sumido esses dias porque o meu "projeto" está a ponto de virar uma empresa de desenvolvimento de jogos, promoções e enterterimento em geral, mas estou levantando material e pensando em um modelo para fazer o corretor. Thiago Cavalcanti > Olá pessoal, > > vamos dar as boas vindas ao Thiago Bard, o "cara da AI". > > Thiago, espero que tu possa contribuir com o Notes e que possa > ter alguns momentos nesta equipe. > > Ab. > Anderson --------------------------------------------------- Este e-mail foi enviado por http://www.nlink.com.br |