RES: [Notes2-team] O modelo de desenvolvimento do Notes...
Brought to you by:
andersonrb
From: <lui...@im...> - 2003-07-03 12:35:25
|
Eu apostaria em desenvolver na VCL como nosso amigo havia falado e = manter alguem na equipe para dar suporte para adaptar o codigo para = linux. -----Mensagem original----- De: Anderson Barbieri [mailto:no...@ig...]=20 Enviada em: quarta-feira, 2 de julho de 2003 21:45 Para: Notes Dev List Assunto: [Notes2-team] O modelo de desenvolvimento do Notes... =09 =09 Os 3 modelos... Ol=E1 pessoal. Nos =FAltimos e-mails uma discuss=E3o muito importante = vem tomando corpo e acho que chegou a hora de incluirmos todos (n=E3o = apenas os desenvolvedores) nela para que possamos tomar uma decis=E3o e = seguirmos em frente. A discuss=E3o =E9 sobre qual modelo de desenvolvimento vamos utilizar. = Apesar de parecer algo para programador, na verdade n=E3o =E9 - o modelo = escolhido traz conseq=FC=EAncias para todo o futuro do Notes e, = portanto, conseq=FC=EAncias para o planejamento que temos discutido. = Pelos e-mails que chegaram, temos 3 modelos diferentes e teremos que = escolher um deles. Vou tentar explic=E1-los a seguir do modo que sei. = Por favor, leiam e me corrijam onde for quiserem. 1) Dois c=F3digos fonte: um exemplo deste modelo =E9 o M$ Office. Dois = c=F3digos fontes diferentes s=E3o mantidos e quando capacidades novas = s=E3o implementadas em um precisam ser depois traduzidas para o outro = fonte. Os dois fontes possuem alguma semelhan=E7a, mas tamb=E9m muitas = diferen=E7as, pois cada um deles segue as APIs e padr=F5es espec=EDficos = de cada sistema operacional. O M$ Office no windows =E9 totalmente = integrado ao Windows por causa disto. O M$ Office do Mac tamb=E9m =E9 = bastante integrado ao sistema operacional. Por um lado a forte = integra=E7=E3o aos sistemas operacionais diminu=ED a curva de = aprendizado para pessoas acostumadas com aquele sistema operacional e, = algumas vezes, traz algum aumento de performance. Por outro lado, = usu=E1rios que usam o programa nos dois sistemas operacionais ter=E3o = que reaprender algumas coisas do programa, j=E1 que ele n=E3o =E9 igual = nos dois sistemas operacionais. Al=E9m disso, como isto leva a = desenvolver quase dois programas ao mesmo tempo, o desenvolvimento acaba = sendo demorado e laboroso. Eu vejo este modelo sendo muito adotado por = empresas como M$, Qualcom, Macromedia e Adobe (se bem que estas duas = =FAltimas n=E3o integram seus produtos tanto ao OS, preferindo manter = muitas semelhan=E7as entre as vers=F5es para Mac e Win de seus = produtos). Por causa de todo o trabalho a mais que este modelo de = desenvolvimento gera as empresas mant=E9m duas equipes distintas de = desenvolvimento - uma para cada c=F3digo fonte. Outro por=E9m deste = modelo =E9 que as vers=F5es costumam ter datas de lan=E7amento bastante = diferentes - =E9 normal que o produto para Mac esteja na vers=E3o 2.1 e = que a vers=E3o para windows j=E1 esteja na vers=E3o 3 ou vice-versa. No = nosso caso este modelo nos daria uma vantagem a mais: n=E3o = precisar=EDamos distribuir a QT no windows (o que significa 2 ou 3 Mbs a = menos). 2) IFDEFs: este modelo tamb=E9m traria para n=F3s a vantagem de n=E3o = precisar distribuir a biblioteca QT. Na realidade ele n=E3o chega a ser = t=E3o diferete do modelo 1: usa-se apenas um c=F3digo fonte, pois = atrav=E9s dos famosos ifdefs (*IDEF =E9 uma instru=E7=E3o que permite = que voc=EA use um peda=E7o do fonte ou outro dependendo de certas = condi=E7=F5es podendo assim, por exemplo, usar certo trecho de c=F3digo = no linux e outro diferente no windows*) os trechos espec=EDficos para = cada sistema operacional podem ficar juntos. Este modelo n=E3o =E9 t=E3o = trabalhoso quanto o anterior, mas por causa da grande quantidade de = ifdefs no c=F3digo este acaba ficando menos claro. Mas com algumas = pol=EDticas de desenvolvimento os ifdefs podem ser "escondidos" e a = clareza do codigo pode ser mantida em boa parte do fonte. Parece um bom = modelo. Mas no nosto caso espec=EDfico ele tem um problema - por causa = de certas diferen=E7as entre o linux e o windows (na realidade entre a = CLX e a VCL, para quem programa em Delphi) n=E3o teremos como = implementar temas e skins do modo como vinhamos pensando. (At=E9 existe = uma forma, mas ter=EDamos que usar algo do modelo 1, parte do fonte = teria que ser espec=EDfico para cada plataforma.) Temos que pesar = ent=E3o o qu=E3o importante =E9 para n=F3s a interface do Notes ser = configur=E1vel. 3) Bibliotecas cross-plataforma: voc=EAs conhecem esta solu=E7=E3o de = softwares abertos como OpenOffice e Mozilla. =C9 a que eu tenho visto = ser empregada nos softwares livres mais novos. =C0s vezes penso que o = Java da Sun e o .Net da M$ derivaram suas id=E9ias deste modelo. A = id=E9ia aqui =E9 basear toda a constru=E7=E3o do software em bibliotecas = que sejam multiplataforma ao inv=E9s de usar as APIs providas pelo = sistema operacional. Na verdade, este modelo deixa o trabalho de = adaptar-se as APIs dos sistemas operacionais para as bibliotecas. Como o = trabalho chato fica com os desenvolvedores da biblioteca esta me parece = ser a forma mais r=E1pida e menos trabalhosa de desenvolver um = aplicativo multiplataforma. Claro que h=E1 alguns problemas: A. voc=EA = deve distribuir as bibliotecas junto com o software. No nosso caso isto = significa que ter=EDamos que distribuir a QT no windows (no linux sempre = teremos que distribu=ED-la). B. se a biblioteca tiver alguma falha em = algum dos sistemas operacionais o desenvolvedor depende do desenvolvedor = da biblioteca para corrigir o erro (no nosso caso =E9 assim, mas o = mozilla p. ex. n=E3o sofre deste problema por desenvolver as suas = pr=F3prias bibliotecas) C. os desenvolvedores, normalmente acostumados = com as APIs de algum sistema operacional precisam aprender as APIs da = biblioteca (n=E3o =E9 o nosso caso, j=E1 que a Borland fez as APIs = ficarem na maior parte das vezes iguais a que usamos no windows ou = disponibilizou alguma forma do reaprendizdo n=E3o ser necess=E1rio). No = nosso caso acho que este =E9 o modelo que permitiria o desenvolvimento = mais acelerado e tamb=E9m a interface mais customiz=E1vel. Por outro = lado, os controles da QT tem algumas diferen=E7as dos controles do = windows - o que pode causar alguma estranhesa em algum usu=E1rio, por = mais que todos os controles sejam f=E1ceis de usar. S=E3o estes os tr=EAs modelos e os pr=F3s e contras que conhe=E7o = deles. Qual voc=EAs acham que devemos usar? Aguardo os argumentos de = voc=EAs! Anderson --=20 Anderson R. Barbieri --------------------- Coordenador do Projeto Notes - Notepad Replacement http://notes.codigolivre.org.br * no...@ig... |