Chrome Dev Summit – otwórz podsumowanie platformy internetowej

autorzy: Greg Simon i Eric Seidel

Blink to mechanizm renderujący Chrome typu open source. Zespół Blink rozwija sieć i rozwiązuje problemy deweloperów.

Od uruchomienia usługi w kwietniu wprowadziliśmy szereg ulepszeń.

Najpierw musieliśmy usunąć połowę źródeł, co nie było konieczne. To jeszcze nie koniec. Nie robimy tego na ślepo: usuwanie kodu odbywa się na podstawie anonimowych i raportowanych statystyk zbiorczych pochodzących od użytkowników Chrome, którzy zgadzają się na raportowanie.

Nowy interfejs API dla programistów publikujemy co 6 tygodni – tyle samo co w przypadku harmonogramu dostawy Chrome.

Jedną z najważniejszych zmian, które wprowadziliśmy, gdy odchodziliśmy od Blink, było dodanie systemu intencji. Za każdym razem, zanim zamierzamy zmienić platformę internetową, wysyłamy do Blink dev publiczne ogłoszenie z informacją o naszym zamiarze dodania lub usunięcia funkcji. Potem zaczynamy od kodowania. Następnego dnia po zarejestrowaniu funkcji jest ona już dostępna w naszych kompilacjach do wersji Canary. Ta funkcja jest domyślnie wyłączona, ale możesz ją włączyć, używając atrybutów about:flags.

Następnie na naszej publicznej liście adresowej ogłaszamy zamiar wysyłki.

Na stronie chromestatus.com możesz zobaczyć funkcje, nad którymi pracujemy, a także funkcje, które wprowadziliśmy, a także te, które planujemy wycofać. Możesz też zapoznać się z blogiem dotyczącym wersji Chromium, który zawiera linki do informacji o błędach i panel śledzenia.

Kolejną dużą zmianą jest usunięcie prefiksów WebKit. Celem nie jest używanie prefiksów Blink, ale posiadanie flag czasu działania (a nie tylko flag kompilacji).

Komponent WebView Androida stanowi spore wyzwanie, ale HTML5Test pokazuje, że wszystko idzie coraz lepiej. Jesteśmy znacznie bliżej komputerów, jeśli chodzi o to, aby w każdym miejscu znajdował się jeden zestaw interfejsów API platform internetowych (doskonałym tego przykładem jest Web Audio).

Ale jak działa kiełbasa? Każda zmiana w Blink jest natychmiastowo przetwarzana przez ponad 30 000 testów, nie wspominając o wszystkich testach Chromium przeprowadzanych później. Korzystamy z 24-godzinnego szeryfa, przy użyciu tysięcy botów, tysięcy testów porównawczych i systemów, które generują miliony niedziałających stron internetowych, aby upewnić się, że nie przepadną. Wiemy, że urządzenia mobilne działają znacznie wolniej i pracujemy nad tym.

Co nowego?

  • Komponenty sieciowe: zobacz prezentację Erica Bidelmana.
  • Animacje internetowe: złożone, zsynchronizowane, wysokiej wydajności animacje, które korzystają z GPU tam, gdzie to możliwe.
  • Częściowy układ: obliczaj tylko to, czego potrzebujesz.
  • Siatka CSS
  • Obrazy elastyczne: srcset, srcN lub ?
  • Szybsze autoskalowanie tekstu i spójne czcionki podrzędne
  • System graficzny Skia używany w aplikacji Blink przechodzi w systemie Windows z GDI na DirectWrite

Chętnie poznamy Twoją opinię.

Jeśli czujesz C++ we krwi i chcesz pisać z nami C++, cały nasz kod jest otwarty. Nie musisz nikomu o tym mówić ani nas ewangelizować. Wystarczy, że opublikujesz poprawkę lub zgłosisz błąd.

Prezentacje: Mrugnięcie

Bezpieczeństwo

Autor: Parisa Tabriz

Więcej osób ma dziś dostęp do internetu niż kiedykolwiek wcześniej – i z wielu różnych miejsc.

Mamy stały dostęp do internetu z naszymi laptopami, telefonami i tabletami, a zapewne już wkrótce – urządzenia osobiste i akcesoria. Korzystamy z internetu z niezaufanych, a czasem nawet wrogich sieci. Ponieważ coraz więcej osób korzysta z internetu, musimy dbać o ochronę swoich danych i danych użytkowników.

Przede wszystkim jako deweloperzy musimy zrozumieć konieczność użycia protokołu SSL i jego praktyczny charakter.

Co to jest SSL? Skrót Secure Sockets Layer to protokół kryptograficzny zaprojektowany w celu zapewnienia bezpieczeństwa komunikacji przez internet. Gwarantuje prywatność dzięki szyfrowaniu i integralności, co zapobiega przechwyceniu lub ingerencji w Twoje połączenie internetowe. SSL ma swoje wady, ale to czołowy i jedyny sposób zapewniania bezpieczeństwa komunikacji w internecie.

Jak wynika z danych Pulse SSL, rok temu stosowaliśmy protokół SSL około 15%, a obecnie jest to ponad 50%.

Dwa akronimy:

  • TLS: dla większości intencji i celów tak samo jak w przypadku SSL. Nazwa protokołu SSL 3.1 została zmieniona na TLS, a TLS to nazwa standardu IETF. Ale mogą być wymienne!

  • HTTPS: to protokół HTTP przez SSL, stanowiący warstwy zabezpieczeń SSL i standardowego protokołu HTTP. Najpierw uzgadnianie połączenia klient-serwer przy użyciu kryptografii klucza publicznego/prywatnego do utworzenia udostępnionego klucza, który jest wykorzystywany przez drugą część protokołu SSL do szyfrowania komunikacji.

Połączenie się z internetem w internecie może być szybkie, bezpieczne i szybkie. Wydaje się, że rozmawiamy bezpośrednio ze stroną. W rzeczywistości nie jest to jednak bezpośrednia relacja. Komunikacja odbywa się przez router Wi-Fi, dostawcę usług internetowych i potencjalnie inne pośrednie serwery proxy między Twoim urządzeniem a witryną. Bez protokołu HTTPS cała komunikacja w firmie odbywa się za pomocą zwykłego tekstu.

Problem polega na tym, że użytkownicy rzadko wpisują pełny adres URL zawierający HTTPS lub klikają link, korzystając z protokołu HTTP. Co gorsza, można zastosować atak typu „man in the middle” i zastąpić protokół HTTPS protokołem HTTP. Właśnie do tego służy narzędzie SSLstrip wprowadzone w 2009 roku. Firesheep z 2010 roku słuchał tylko otwartych sieci Wi-Fi w poszukiwaniu w bezpośredni sposób wysyłanych plików cookie. Oznaczało to, że można było nasłuchiwać wiadomości na czacie lub zalogować się na czyjeś konto na Facebooku.

Wdrożenie protokołu SSL jest jednak (względnie) tanie, szybkie i łatwe (zobacz stronę ssllabs.com i książkę Ilyi Grigorik „High Performance Browser Networking”). Przypinanie klucza publicznego umożliwia operatorom witryn określenie, które urzędy certyfikacji mogą wystawiać certyfikaty dla witryn.

„W styczniu tego roku (2010) w Gmailu we wszystkich usługach domyślnie stał się protokół HTTPS. W tym celu nie musieliśmy wdrażać żadnych dodatkowych maszyn ani żadnego specjalnego sprzętu. Na naszych produkcyjnych komputerach frontendu protokół SSL odpowiada za mniej niż 1% obciążenia procesora, 10 KB pamięci na połączenie i <2% obciążenia sieci...

Jeśli przestaniesz teraz czytać, zapamiętaj tylko jedną rzecz: protokół SSL nie jest już dodatkowo kosztowny”.

Overclocking SSL, Adam Langley (Google)

Na koniec kilka błędów, które są najczęściej wykrywane:

  • Treść mieszana: witryny, które korzystają zarówno z protokołu HTTP, jak i HTTPS. Użytkownik będzie się zirytować, bo będzie musiał kliknąć przycisk uprawnień, aby wczytać treści. (Chrome i Firefox blokują zawartość mieszaną w elementach iframe). Upewnij się, że wszystkie zasoby na stronie HTTPS są ładowane przez HTTPS – użyj adresów URL względnych lub zależnych od schematu, na przykład <style src="//foo.com/style.css">.
  • Niezabezpieczone pliki cookie: wysyłane przez połączenie HTTP. Aby tego uniknąć, ustaw bezpieczny atrybut w nagłówkach plików cookie. Możesz też używać nowego nagłówka „Strict Transport Security”, aby wymagać protokołu SSL (HSTS).

Odebranie krążka

  • Jeśli dbasz o prywatność i integralność danych użytkowników, musisz korzystać z protokołu SSL. To szybsze, łatwiejsze i tańsze niż kiedykolwiek dotąd.
  • Unikaj typowych problemów z implementacją, takich jak błędy związane z treścią mieszaną lub brak ustawień odpowiednich bitów nagłówka HTTP.
  • Użyj względnych adresów URL schematów lub adresów URL względnych.
  • Sprawdź nowe, przydatne funkcje, takie jak HSTS czy przypinanie certyfikatów

Prezentacje: Korzystasz z protokołu SSL?

Interfejsy API multimediów w internecie na wielu urządzeniach

autorzy: Sam Dutton i Jan Linden

Oprócz pojawiania się nowych urządzeń i platform w internecie obserwujemy też ogromny wzrost komunikacji w czasie rzeczywistym (audio, wideo i wideo). Media online zmieniają sposób, w jaki korzystamy z mediów wszelkiego rodzaju.

Badanie przeprowadzone przez rząd brytyjskiego kraju wykazało, że 53% dorosłych podczas oglądania telewizji „korzysta z multimediów” i udostępnia multimedia oraz korzysta z nich za pomocą urządzeń mobilnych. W wielu krajach spada oglądalność telewizji, a oglądanie online rośnie. Na przykład w Chinach w 2012 roku tylko 30% gospodarstw domowych w Pekinie oglądało telewizję, podczas gdy w 2009 r. było to 70%. Według rankingu W3C Populars 2013 „w zeszłym roku oglądanie filmów na urządzeniach mobilnych podwoiło się. W tym roku średni czas spędzany codziennie na korzystaniu z mediów cyfrowych w Stanach Zjednoczonych będzie wyższy niż podczas oglądania telewizji. Oglądanie nie jest już czynnością pasywną. W Stanach Zjednoczonych 87% konsumentów z branży rozrywki twierdzi, że podczas oglądania telewizji korzysta z co najmniej jednego drugiego ekranu”. Jak podaje Cisco, do 2017 r. „video ...” będzie się mieścić w przedziale od 80 do 90 procent globalnego ruchu konsumentów. Oznacza to niemal milion minut filmów na sekundę.

Co mamy tutaj dla programistów? Ekosystem interfejsów API multimediów dla otwartego internetu: ustandaryzowane, współdziałające technologie działające na wielu platformach.

Odebranie krążka

  • Standard WebRTC umożliwia komunikację w czasie rzeczywistym w przeglądarce, a obecnie jest powszechnie obsługiwany na urządzeniach mobilnych i komputerach. Łącznie jest już ponad 1,2 miliarda punktów końcowych WebRTC.
  • Web Audio udostępnia zaawansowane narzędzia do syntezy i przetwarzania dźwięku.
  • Interfejs Web MIDI, zintegrowany z Web Audio, umożliwia interakcję z urządzeniami MIDI.
  • Elementy audio i wideo są teraz obsługiwane w ponad 85% przeglądarek mobilnych i na komputerach.
  • Rozszerzenia źródeł multimediów mogą służyć do adaptacyjnego przesyłania strumieniowego i przesuwania w czasie.
  • EME umożliwia odtwarzanie treści chronionych.
  • Transkrypcje, napisy oraz element ścieżki umożliwiają tworzenie napisów, napisów, metadanych czasowych, precyzyjnych linków i precyzyjnych linków.

Prezentacje: interfejsy API multimediów w internecie na wielu urządzeniach