Dev-Docs icon indicating copy to clipboard operation
Dev-Docs copied to clipboard

2019 Google I/O Extended

Open BKJang opened this issue 5 years ago • 0 comments

Session1. What’s new in web

신속성

  • 이미지 레이지 로딩
  • google chrome hands on update (canalia)
  • light house / peformance budget

확장성

  • web perception toolkit
  • Sharing API
  • Duplex on the web - google io keynote 25:00)

안정성

  • HTTP vs HTTPS
  • 프라이버시 제어를 더 쉽게(사용자가 자신의 데이터의 사용 정보에 대한 접근성 향상)
  • Same site Cookie(CSRF에 대한 보호) = 쿠키 헤더 : ‘sameSite:strict’
  • Fingerprinting Protection

현재 웹의 한계 & 극복

  • Native app vs Web (App Gap) : PWA(Progressive Web App)

Session2. Flutter 알아보기

크로스 플랫폼

  • 하나의 코드로 다양한 플랫폼에서 동작
  • 기존의 Native 경험을 해친다
  • 크러블 슈팅의 어려움

크로스 플랫폼 언어의 종류

  • Xamarin
  • RN(React Native) : JS bridge를 통해 통신하기 때문에 성능 고려 필요
  • Flutter
  • Electron
  • Kotlin/Native

Flutter

  • Fuchsia OS의 애플리케이션을 만들기 위해 만들어졌다가 발전
  • Dart라는 언어를 기반으로 개발
  • Skia를 통해 캔버스에 바로 렌더링(Skia : 안드로이드 내부에서 화면을 그릴 때 쓰는 그래픽 엔진)
  • 낮은 버전의 os도 지원 가능
  • Cupertino(iOS), Material UI(Android) 를 주로 쓰지만 꼭 쓰진 않아도 됨
  • Platform 구분으로 Widget 구현
  • Row, Column으로 화면 구성(RN의 flex)
  • 플랫폼을 모든 위젯마다 나눠서 개발해줘야 하는게 가장 큰 단점이 아닐까?(모듈화가 필수)
  • 비동기 호출은 async/await를 사용하며 JS의 async/await와 구현 방식은 동일
  • Flutter desktop의 상용성이 높아진다면 꽤나 강력할 수 있을 것 같음

Flutter Web

  • Skia가 아닌 js 컴파일러를 통해 브라우저에서 그리게 됨
  • 아직 지원하지 않는 Widget이 꽤 됨
  • 아직은 프리뷰 버전
  • 디버그 모드에서만 동작
  • 아직은 사용하지 말자.

Session3. Google Search and Javascript sites

우리가 만든 사이트는 어떻게 구글 검색에 노출될까

Javascript의 사용성

  • 전통적인 웹 사이트: 사용자의 인터렉션만을 위해서만 사용
  • 현대의 웹사이트: ajax로 데이터만 주고 받고 콘텐츠를 js로 생성한다. 자바스크립트를 이해하지 않고는 콘텐츠를 이해할 수 없다.(google bot + pupeteer)
  • 즉, 우리가 만든 spa사이트는 검색 결과에 더 이상 노출에 영향을 미치지 않는다.
  • 상위 노출의 문제 : SEO(검색엔진 최적화)

[SEO]Robots.txt

  • 구글 봇이 어디까지 크롤링할 것인가 => 보통 크롤링을 막기 위해 사용하지 더 검색이 잘되기 위해 사용하진 않음
  • 검색이 아예 되지 않게 하려면 : 도메인을 통째로 나누는게 어떨까
  • 검색이 되지 않아야 하는 내부 페이지 : 인증을 거쳐야만 볼 수 있도록 하면 크롤링 되지 않음

[SEO] 올바른 의 사용

  • 적절한 콘텐츠를 설명하면서도 사이트를 잘 설명하도록

[SEO] 올바른 description의 사용

  • 선언과 충분한 설명이 필요
  • 제대로 해놓지 않으면 컨텐츠의 일부 내용들을 가져와 검색 결과에 노출

[SEO] 올바른 HTML 사용

  • navigation : 구글 검색은 기본적으로 검색을 기반으로 크롤링
  • 제목 : 태그를 주로 사용

[SEO] 반응형 웹 디자인

  • 모바일을 지원하는 페이지를 우선적으로 노출
  • 모바일을 지원하는지 아닌지 판단하는 기준은 pupeteer에서 나름대로의 알고리즘으로 판단하는데 이는 light house를 한 번 돌려보면 가능

[SEO] Structured Data 사용

  • 데이터를 통해 컨텐츠를 소개(schema.org) => 구글 서치에서 지원하는 structured data는 검색!

[SEO] Light house

  • 현재 웹 페이지의 성능 등을 분석해주는 Tool (web.dev로 들어가면 light house 지원 항목 확인 가능)

[SEO] 그 이외..

  • 속도!
  • 모바일 지원!
  • 국내 웹 사이트 : 나무 위키가 가장 잘 되어있음...(SEO와 컨텐츠의 관련성은 없음..)
  • festa도 Good 👍

즉, SPA는 검색 결과에 영향을 주지 않는다!

BKJang avatar Jun 30 '19 04:06 BKJang