Autores: Microsoft Edge Team Última atualização: 2018-12-06
Nos últimos anos, a Microsoft aumentou significativamente a participação na comunidade de software de código aberto (OSS), tornando -se um dos maiores apoiadores de projetos de OSS do mundo. Estamos iniciando um caminho para adotar o código aberto do cromo no desenvolvimento da Microsoft Edge na área desenvolvedores da web.
Este documento existe para esclarecer nosso pensamento sobre como esse trabalho prosseguirá : queremos explicar nossos planos e intenções relacionados ao Microsoft Edge e ao projeto de código aberto do Chromium. O público que achamos que encontrará este documento mais relevante e útil são (a) as pessoas que trabalham no cromo como aprovadores/mantenedores e liderando esse projeto (b) as empresas e engenheiros que constroem outros navegadores e estarão interessados nas contribuições que planejamos Faça e (c) a comunidade mais ampla de desenvolvedores da Web, gerentes corporativos de TI e parceiros com quem trabalhamos no Windows e Microsoft Edge. E, é claro, nós e todos esses públicos nos preocupamos principalmente com o usuário final, que é o público que este trabalho pretende se beneficiar.
Trabalhar com código aberto não é novo para o Microsoft Edge. Nosso novo navegador móvel foi baseado em código aberto desde o início há mais de um ano. Também usamos de código aberto para vários recursos do Microsoft Edge na área de trabalho (por exemplo, ângulo, áudio da web, brotli) e começamos a fazer contribuições para o projeto Chromium para ajudar a avançar a navegação em novos dispositivos Windows baseados em ARM. Nesse contexto, estamos pensando nos planos de adotar o projeto de código aberto do Chromium no desenvolvimento da Microsoft Edge na área de trabalho para criar melhor compatibilidade na web para nossos clientes e menos fragmentação da Web para todos agora pronto para avançar.
Como parte disso, esperamos e pretendemos nos tornar um contribuinte significativo para o Chromium, de uma maneira que possa fazer não apenas o Microsoft Edge - mas também outros navegadores - melhor nos PCs e em outros dispositivos. Escrevemos nossos "Princípios da OSS para Microsoft Edge" abaixo e "O que acontece a seguir" para descrever claramente nossa abordagem às contribuições.
Nosso plano é se envolver de uma maneira que abraça o modelo de código aberto bem estabelecido que trabalha efetivamente há anos: contribuições significativas e positivas que se alinham com a arquitetura pensativa de longa data, engenharia colaborativa e tendo em mente que nós, juntos, juntos Como comunidade, procure o melhor resultado para todas as pessoas que usam a Web em muitos dispositivos.
Nossa intenção é profundamente informada por nosso contexto. Historicamente, a Microsoft se concentrou em três constituintes primários: usuários finais, desenvolvedores e empresas/organizações. Esses públicos informaram os investimentos que fizemos no Internet Explorer no passado e agora informam os investimentos que fazemos no Microsoft Edge. Como ouvimos esses clientes nos últimos anos, um tema consistente que eles ecoam é a crescente complexidade de seus ambientes e um desejo de consistência, simplicidade, confiabilidade e compatibilidade.
Fomos efetivamente em parceria com o Google e outros fornecedores de navegador ao longo dos anos, primeiro no W3C e agora ainda mais de perto pelo Whatwg, para criar padrões comuns para a plataforma da Web para reduzir essa complexidade e melhorar a experiência geral da Web. Embora os fornecedores do navegador em todo o setor tenham feito progressos significativos no alinhamento desses padrões comuns, as implementações subjacentes e diferentes cronogramas de liberação criaram dificuldades para nossos desenvolvedores se beneficiarem completamente das promessas da Web aberta.
Vemos uma oportunidade agora de avançar de uma maneira mais profunda em uma plataforma web compatível comum que atenderá bem aos clientes da Microsoft e fornecerá benefícios mútuos para a comunidade da Web maior, mantendo os benefícios do mercado da diversidade competitiva no ecossistema do navegador. Considere as seguintes oportunidades, pois as vemos em nossos segmentos de clientes:
Usores finais -Embora o Microsoft Edge tenha uma compatibilidade da Web muito alta para o HTML baseado em padrões e para recursos adicionados por navegadores altamente usados como o Chrome, nossa base de código de plataforma da Web exclusiva ainda enfrenta problemas ocasionais de compatibilidade, à medida que os desenvolvedores da Web se concentram menos nos padrões HTML e Concentre -se racionalmente em plataformas amplamente usadas como o Chrome para desenvolver e validar experiências para seus clientes. Enquanto trabalhamos duro para fazer atualizações e corrigir esses problemas continuamente, nossa implementação do Microsoft Edge como um componente que é enviado apenas no mesmo cronograma que o sistema operacional completo do Windows diminuiu nossa capacidade de atualizar, causando fragmentação da plataforma e expondo lacunas de compatibilidade. Achamos que um maior uso do software de código aberto (OSS) pode melhorar essa experiência para nossos usuários finais.
Fora do navegador Microsoft Edge, os usuários de outros navegadores nos PCs do Windows às vezes enfrentam conjuntos de recursos inconsistentes e vida útil/vida útil dos tipos de dispositivos. Alguns navegadores tiveram um progresso mais lento para adotar novos recursos do Windows, como processadores de toque e braço. Como você sabe, começamos recentemente a fazer contribuições que fornecem esses tipos de suporte de hardware aos navegadores baseados em cromo, e acreditamos que essa abordagem pode ser generalizada: achamos que podemos ajudar a acelerar a experiência da Web e dos usuários por ela por Contribuindo com novos recursos para o Chromium Open Source para o benefício de todos esses navegadores e usuários.
Desenvolvedores -À medida que a Web cresceu em uso em uma variedade cada vez de modelagem de tipos de dispositivos, a complexidade e a sobrecarga envolvidas no teste de sites explodiram. Como os desenvolvedores da Web - particularmente aqueles em pequenas empresas - precisam testar tantos sistemas diferentes, é quase impossível garantir que sites interessantes funcionem bem em todos os tipos de dispositivos e todos os navegadores. Esperamos simplificar essa matriz para desenvolvedores da Web, alinhando a plataforma da Web do Microsoft Edge com outros navegadores de cromo e fornecer recursos significativos e alinhados no Windows que podem ser usados por qualquer navegador.
Os gerentes corporativos de TI - os gerentes de TI enfrentam a complexidade a jusante de usuários com muitos tipos de dispositivos diferentes, usando sites novos e antigos, em dispositivos possuíam pessoalmente e pela corporação. Vemos um valor significativo na criação de melhor compatibilidade da Web e uma plataforma da Web alinhada entre os navegadores para a Corp It, independentemente da plataforma de dispositivo.
O que é comum em todas essas audiências é o benefício bilateral que acreditamos que podemos trazê-los quando (a) engenheiro valiosos novos recursos em um projeto de código aberto compartilhado, para o benefício de vários navegadores e (b) cada vez mais usar que compartilhou compartilhado Fonte de origem aberta no navegador que distribuímos em escala. Pretendemos fazer os dois.
No último ano, começamos a nos envolver nos projetos de código aberto Chromium e WebRTC (entre outras áreas OSS de maneira mais ampla na Microsoft), e nossos esforços estão aumentando ao considerarmos uma ampla gama de tipos de dispositivos. Alguns exemplos incluem…
Portando Chromium para o ARM64 : Fizemos um trabalho significativo em colaboração com os engenheiros do Google para permitir que os navegadores baseados em cromo compilem e executem nativamente no Windows em dispositivos de braço. Devido ao nosso investimento em engenharia, os navegadores baseados em cromo poderão em breve enviar implementações nativas para PCs Windows baseados em ARM, o que melhora significativamente seu desempenho e duração da bateria. Este é um ótimo exemplo de fazer investimentos em cromo para avançar a experiência na web em uma variedade de navegadores nesses novos tipos de PCs.
Permitindo que o WebRTC funcione para aplicativos UWP Windows : há mais de um ano, trabalhamos no WebRTC for Universal Windows Platform (UWP). Isso oferece aos desenvolvedores uma solução WebRTC para todas as nossas plataformas Windows 10, incluindo desktop, Xbox, Hololens/VR e IoT. Na semana passada, anunciamos nosso contrato com o Google para empurrar o Fork UWP do WebRTC Lib de volta ao repo webrtc.org.
Melhorando o ângulo : no passado, fizemos melhorias no back -end do D3D11 do Angle e melhoramos seu desempenho. Mais recentemente, colaboramos com a Intel e a equipe Angle em melhorias adicionais para tornar o ângulo o back -end oficial do WebGL no Microsoft Edge.
Reconhecemos que esses são exemplos modestos, mas com muita sensação, de contribuições de código aberto orientadas para a Web. Ambos nos forneceram uma perspectiva valiosa sobre como podemos usar e contribuir colaborativamente para o cromo de maneira saudável. Na Microsoft, nossa experiência e foco de OSS cresceram - e nossas equipes da web estão empolgadas em fazer essas lições e levar a experiência na web para milhões de pessoas adiante.
Reduzindo as tachas de latão ... Juntamos este documento para ser transparente para colaboradores e parceiros relevantes da OSS sobre nossa intenção.
Embora tenhamos sido consumidores de código aberto do cromo para enviar nosso navegador móvel Microsoft Edge e, para alguns componentes do Microsoft Edge Desktop, tomamos a decisão de mover muito mais da Microsoft Edge Desktop para usar o Chromium Open Source e aumentar nossas contribuições de volta a esta comunidade.
Os principais aspectos dessa evolução na direção do Microsoft Edge são:
Adotaremos o Chromium como a plataforma da Web para o Microsoft Edge Desktop . Nosso desejo aqui é alinhar a plataforma da web da Microsoft Edge, ambos (a) com padrões da Web e (b) com outros navegadores baseados em cromo, para obter compatibilidade melhorada e uma matriz de teste mais simples para os desenvolvedores.
Evoluiremos a arquitetura do aplicativo Microsoft Edge, permitindo a distribuição para todas as versões suportadas do Windows, incluindo Windows 7 e Windows 8, bem como o Windows 10. Também traremos o Microsoft Edge para outras plataformas de desktop, como o MacOS . Melhorar a experiência da Web para usuários finais (melhor compatibilidade) e desenvolvedores (menos fragmentação) requer uma plataforma da Web consistente o mais disponível possível. Para conseguir isso, usaremos a tecnologia de aplicativos de plataforma cruzada do Chromium, juntamente com uma alteração em nosso modelo de distribuição, para que a experiência do Microsoft Edge e a plataforma da Web se tornem disponíveis em todos os sistemas operacionais suportados.
Ofereceremos nossa experiência no Windows Platform para melhorar a experiência de todos os navegadores baseados em cromo no Windows . Nossa filosofia de maior participação no Chromium Open Source abraçará a contribuição de uma nova tecnologia benéfica, consistente com parte do trabalho que descrevemos acima. Reconhecemos que melhorar a Web no Windows é bom para nossos clientes, parceiros e nossos negócios - e pretendemos contribuir ativamente para esse fim. Congratulamo -nos com a oportunidade de fazer parceria com a comunidade de cromo nas áreas de duração da bateria, toque, acessibilidade, segurança e outras áreas de interesse mútuo.
Um objetivo essencial para fornecer este documento às equipes e pessoas que já estão imersas no Chromium OSS é indicar como planejamos contribuir e iniciar o planejamento de engenharia necessário para trazer novas tecnologias valiosas aos navegadores de cromo.
Estamos empolgados em se envolver mais profundamente com o projeto mais amplo de cromo. Esta foi uma decisão fortemente pesada e que acreditamos ser o próximo passo certo. Dito isto, estamos dando esse passo no espírito de aprender. Sabemos que temos muito a aprender à medida que aumentamos nosso uso e contribuições para o cromo, e esperamos envolver e contribuir de volta para a comunidade mais ampla de maneira colaborativa. Estamos ansiosos para evoluir a natureza e o escopo de nosso envolvimento ao longo do tempo.
Estamos tomando essa decisão a longo prazo . Esperamos que nossos engenheiros aprendam e, com o tempo, se tornem especialistas no projeto de cromo e se transformem em membros ativos e responsáveis da comunidade. Estamos ansiosos para aumentar nossas contribuições para o projeto do cromo e continuaremos a manter quaisquer contribuições que fizermos.
Ao procurar melhorias na plataforma da Web, nossa posição padrão será contribuir . Estamos focados em fornecer um navegador de classe mundial com o Microsoft Edge através de seus recursos diferenciados de experiência do usuário e serviços conectados, mas no que diz respeito aos novos recursos da plataforma, procuraremos uma 'maré crescente que flutua em todos os barcos'. Começaremos com correções de bugs e contribuições significativas em áreas como suporte ARM64, acessibilidade, segurança, entrada de toque e aprimoramentos de potência no Windows.
Reconhecemos e respeitaremos os requisitos de arquitetura e a abordagem de engenharia que são intrínsecos em projetos de código aberto da Web e fizeram com que o cromo fosse bem-sucedido . Existem muitos aspectos que governaram o OSS de Chromium e outros projetos: suporte a vários dispositivos, suporte multi-OS, engenharia rigorosa em tempo real etc. Embora nossa empresa tenha historicamente foco em PCs do Windows e acreditamos que podemos fazer contribuições que Melhorar os navegadores no Windows, também entendemos que os projetos de OSS da web adotam uma ampla gama de tipos de dispositivos, incluindo o Android, e que as contribuições devem acomodar essa diversidade de dispositivos. Contribuiremos de uma maneira que seja consistente com o projeto arquitetônico que atenda às necessidades de plataforma cruzada e cruzada do Chromium.
Acreditamos que a evolução da Web aberta é melhor servida, embora as comunidades de padrões e a web aberta se beneficiem do debate aberto de uma ampla variedade de perspectivas . Permaneceremos profundamente e vigorosamente envolvidos nas discussões de padrões no contexto do W3C, ECMA e Whatwg, onde as perspectivas dos vendedores desenvolvendo navegadores concorrentes e da comunidade web maior podem ser ouvidos e considerados.
À medida que progredimos em nosso trabalho de OSS e consideramos os lugares onde nossa experiência em engenharia pode fazer a maior diferença para usuários e desenvolvedores, reunimos uma lista inicial de contribuição “áreas de foco”.
Gostaríamos de destacar que vemos essa lista simplesmente como o ponto de partida - algumas áreas em que podemos aprender/praticar juntos e criar um valor significativo na base de código do cromo para todos os seus consumidores.
ARM64 - Nossos planos aqui são continuar/terminar o trabalho de portamento que traz a base de código do Chromium para suportar o ARM -64 e, portanto, os navegadores podem ser enviados, o que suporta esses dispositivos nativamente.
Acessibilidade - Para atender às necessidades de todos os nossos clientes, pretendemos desenvolver a acessibilidade da base de código do cromo, adicionando interfaces de automação da UI do Microsoft (UIA) para oferecer suporte ao narrador e outras tecnologias de assistência no Windows, integrando -se com as configurações de acesso ao Windows, como Estilação de alto contraste e legenda, melhorando os controles de acessibilidade e apoiando a navegação intermediária.
Evolução do PC -Hardware para os tipos de entrada modernos (por exemplo, Touch) - podemos ajudar a melhorar o toque da área de trabalho, o reconhecimento de gestos e a suavidade de rolagem/panning, particularmente nos dispositivos Windows mais modernos e mais modernos.
Segurança - é, obviamente, de suma importância para todos os fornecedores do navegador que os usuários da Web são mantidos o mais seguros possível. Em apoio a esse objetivo compartilhado, estamos ansiosos para fazer parceria em estreita colaboração com a equipe de segurança do Chromium e contribuir com nossa experiência com a criação de software seguro em geral e nossa experiência com a plataforma Windows, em particular.
Este é um grande passo para a Microsoft, para a equipe do Microsoft Edge, e reconhecemos que também será um grande passo para o projeto de cromo. Estamos entusiasmados com o benefício que acreditamos que isso trará para a comunidade da web maior. Estamos ansiosos para começar a nos envolver com nossos colegas no Google e os outros colaboradores do projeto Chromium e no projeto de cromo geralmente, sobre como podemos avançar juntos em uma plataforma da Web comum. Ao mesmo tempo, reconhecemos o valor da concorrência e pretendemos levar a vida nossa melhor visão para um navegador Microsoft Edge que se baseia no código aberto do Chromium por meio de recursos diferenciados de experiência do usuário e serviços conectados.
Já temos relações de trabalho positivas com muitos colaboradores de cromo com base em nosso trabalho nos órgãos de padrões e em esforços anteriores de engenharia compartilhada. Estamos ansiosos para desenvolver esses relacionamentos e o aprendizado como nós, como podemos contribuir melhor para essa implementação da Web aberta.
Para fornecer uma sensação mais específica de quais ações tomaremos e seguindo este memorando, aqui está a lista curta:
Convidamos seus comentários, conselhos e feedback quando começamos a se envolver com você no projeto Chromium!