Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019 Google I/O Extended #47

Open
BKJang opened this issue Jun 30, 2019 · 0 comments
Open

2019 Google I/O Extended #47

BKJang opened this issue Jun 30, 2019 · 0 comments
Labels
토의&토론 한가지 주제를 가지고 자신의 의견 어필

Comments

@BKJang
Copy link
Collaborator

BKJang commented Jun 30, 2019

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] 올바른 <title>의 사용

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

[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 BKJang added the 토의&토론 한가지 주제를 가지고 자신의 의견 어필 label Jun 30, 2019
@BKJang BKJang changed the title GDG 2019 Google I/O Extended Jun 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
토의&토론 한가지 주제를 가지고 자신의 의견 어필
Projects
None yet
Development

No branches or pull requests

1 participant