aaocs's picture
Posts: 79
Membro desde: 19-Jul-2007
66 tibs
Finding the OS X Turbo Button
15/03/2008 - 11:38

Ubiratan.apo's picture
Posts: 1234
usuário VIP

Membro desde: 29-Fev-2008
1297 tibs
+ conexão
Re: Finding the OS X Turbo Button
15/03/2008 - 12:57

Leia a ressalva que o autor incluiu no texto:

Slashdot seems to have picked up on this, and in typical style, has completely misunderstood the post. To be clear, I do not think that Apple is in any way trying to purposely "cripple" non-Apple software. I also do not think that undocumented APIs give Safari any kind of "significant performance advantage" (as Firefox 3 should show!). However, as I said, the undocumented functionality could be useful for Firefox and other apps to implement things in an simpler (and potentially more efficient) manner. I don't think this is malicious, it's just an unfortunate cutting of corners that is way too easy for a company that's not fully open to do.

Por aí se vê que ele não acha que a Apple propositadamente está escondendo o jogo para ganhar uma vantagem desleal.

Outra coisa interessante, a tal chamada não documentada está documentada no próprio código fonte, leia:

  • // CoreGraphics deferred updates are disabled if WebKitEnableCoalescedUpdatesPreferenceKey is set
  • // to NO, or has no value. For compatibility with Mac OS X 10.4.6, deferred updates are OFF by
  • // default.

Continuando, a "reclamação" seguinte leva a uma documentação de mudança do WebKit! Quer dizer, existe uma documentação da não documentação?

A última reclamação leva a um header que não tem o código documentado, realmente não estava, mas quando existia documentação no código ele reclamou. Além disso as mudanças do header estavam todas documentadas.

Finalmente, me parece que todas as chamadas que iniciam com WK são chamadas à API do WebKit, assim como NS quer dizer NextStep e QT QuickTime. Se não me falha a memória o Firefox não utiliza o WebKit, mas sim o Gecko. Então por que ele está se preocupando tanto com a documentação do WebKit? Quem deveria se preocupar com isso é o pessoal do KHTML/Konqueror.

Muito estranho isso tudo.

yawara.br além da tecnologia.


Posts: 864
usuário VIP

Membro desde: 23-Nov-2006
684 tibs
+ conexão
Não há nada de estranho.
17/03/2008 - 16:31

Não há nada de estranho. Sim, o Firefox usa Gecko, e a Apple o WebKit. O problema é que essas APIs que não são públicas, não são chamadas ao WebKit, mas chamadas PARA o WebKit. São feitas especificamente para resolver problemas do WebKit, que são comum ao pessoal da Mozilla.

A Apple sabia da existência desses problemas, e prontamente criou APIs específicas para o WebKit, não documentou e nem divulgou. Nos últimos meses a Mozilla gastou um bom tempo tentando descobrir alternativas para esses problemas do OSX, e a Apple já havia resolvido em modo privado, e a solução era somente conhecida pelo pessoal do WebKit.

O pior é que a biblioteca que faz uso dessas APIs, é proprietária, portanto nem estudar essas APIs, a equipe da Mozilla pôde. Por isso que muita gente chiou...


Ubiratan.apo's picture
Posts: 1234
usuário VIP

Membro desde: 29-Fev-2008
1297 tibs
+ conexão
Re: Não há nada de estranho.
17/03/2008 - 16:49

Na verdade o pessoal do Firefox resolveu o problema sem chamar nenhuma API, foi só acertar um parâmetro no arquivo plist do programa que tudo rodou como o WebKit rodava.

O próprio post dele disse que esse parâmetro do plist está muito bem documentado pela Apple.

Ele só descobriu essa API pois o arquivo plist do Safari não utilizava esse parâmetro e para isso ele foi fuçar no código do WebKit.

Quer dizer, a solução existia e estava documentada.

yawara.br além da tecnologia.


Posts: 864
usuário VIP

Membro desde: 23-Nov-2006
684 tibs
+ conexão
Claro que resolveu, a equipe
17/03/2008 - 22:59

Claro que resolveu, a equipe do Firefox é foda... Eye-wink

Agora, eles usaram a solução mais complicada, e é bom ressaltar que é esse o motivo da reclamação.

Sem usar a API, todas as aplicações que quiserem fazer uso do Firefox, por exemplo, terão que alterar os parâmetros dentro do plist. Usando a API, todas as aplicações que chamam o Firefox, teriam o comportamento esperado, sem nem precisar saber o que é plist.

Não tem menos cara de gambiarra? Por ser mais simples, não poderia ser melhor documentado?


Ubiratan.apo's picture
Posts: 1234
usuário VIP

Membro desde: 29-Fev-2008
1297 tibs
+ conexão
Re: Claro que resolveu, a equipe
18/03/2008 - 07:40

Desculpe-me, mas a modificação do plist é muito mais simples que chamar uma API, são necessárias somente duas linhas xml para fazer isso.

Se você ler a documentação da Apple vai entender por que isso foi feito, está tudo bem explicado lá, por sinal a modificação do plist é a última solução recomendada, o pessoal do Firefox podia ter utilizado outra solução, mas foi pela mais simples, a tal que gambiarra que você falou.

yawara.br além da tecnologia.


Posts: 864
usuário VIP

Membro desde: 23-Nov-2006
684 tibs
+ conexão
É mais simples pra quem e
18/03/2008 - 23:41

É mais simples pra quem e sob qual aspecto? Como eu disse, qualquer programa que fizer referência ao Firefox, vai ter que adicionar essas linhas no XML. Se o controle fosse feito via código, seria muito melhor...

Acredite, se chiaram não foi sem motivos, eles sabem muito bem do que estão falando. Tanto que a equipe do Safari acabou até concordando em fornecer informações a respeito dessas APIs.


Opções de exibição de comentários

Selecione seu modo de exibição dos comentários favorito e clique "Salvar opções" para ativar suas mudanças.

Conexão

Opções de conexão



Design Wenetus