본문으로 바로가기

(참고)

플러터 홈페이지: https://flutter.dev

퓨시아 홈페이지: https://fuchsia.dev

Worst language to learn in 2019: https://fossbytes.com/worst-programmi...

Worst language to learn in 2018: https://news.elearninginside.com/wors...

 

코딩쉐프(https://www.youtube.com/watch?v=AdYRASHRKwE)

동영상 참고해서 정리를 해봤습니다.

 

flutter에 대해서 구글의 전략은 무엇인가?

flutter를 구글에서 만든 이유와 fuchsia의 관계를 파악함으로서의 흐름과 의도 파악하고 공부하기

항상 어떤것들을 하기전에는 만들어진 이유와 역사들을 살펴보면서 접근하면 흐름도 파악하기가 좋다고 생각합니다.

 


1. fuchsia OS 

  • 꽃의 이름 
  • 꽃말 : 좋아함, 열렬한 마음이라는 꽃말을 가지고 있음
  • Google에서 2016년 8월, 어떠한 공식 발표도 없이 깃허브에 코드가 게시
  • Zircon(지르콘)이라는 마이크로 커널을 기반으로 하고 있음 
    이전에는 Magenta(마젠타) 였다가 Zircon으로 변경
  • 2018년 1월 픽셀북을 공식 fuchsia OS 테스트 디바이스로 추가 
    픽셀북에 설치된 fuchsia OS는 부팅시간이 4.7초 밖에 안걸림
  • 2019년 1월에는 안드로이드 앱 -> fuchsia 생태계로 가져오기 위한 시도가 진행중
  • 2019년 5월 구글 I/O에서 fuchsia가 언급됨
    • flutter는 다양한 웹 플랫폼을 위한 UI 툴킷
    • 다양한 플랫폼 : window, mac, fuchsia 지원 
    • 공식으로 fuchsia os 개발을 인정하는 것인지, 공식적인 입장을 물었으나 
      구글에서는 어떠한 답변도 주지 않았음 

2. 커널(Kernel) : 여기에서는 필요한 부분만 간단한게 설명 합니다.

  • OS(운영체계)에서 핵심적인 역할을 하는 부분 
  • OS 구동시 하드웨어와 소프트웨어를 연결시켜주는 역할을 한다.
  • 마이크로 커널(Micro Kernel,지르콘 커널) : fuchsia os ( google 에서 개발 )
    : 커널의 최소한의 필수기능들만을 만들어 놓고, 필요한 것들은 따로 모듈로 만들어 놓고, 필요한 기술들을 필요한 시점에 추가해서 사용할 수 있음.

 Micro Kernel, Zircon Kernel

  • 단일형 커널(Monolithic Kernel) : android os (opensource linux kernel)
    : 커널에 필요한 모든 기능들을 커널에 모아놓은 형태 
      모듈이 서로 얽혀있기 때문에 기능을 추가할 경우에는 시간과 노력이 많이든다.

Monolithic Kernel 

3. 구글은 왜 Fuchsia를 만들려고 하는가? 
   (Why is Google making Fuchsia?)

  • 1) 지르콘은 임베디드 응용프로그램에서 일반적으로 사용되는 소형 시스템용으로 설계된 Little Kernel의 파생물 
  • 2) 지르콘은 현대적 전화기와 고속의 프로세서를 갖춘 개인용 컴퓨터를 타겟으로 하고 있다.
  • 이는 구글에서 fuchsia os를 모든 디바이스에서 동작하도록 하겠다는 야심이 간접적으로 드러나 있다.
  • 3) 음성명령에 중점을 두고 개발됨
    • 향후 디바이스에는 디스플레이보다 음성명령은 필수적인 기능이 될 수 있다. 
    • 따라서 fuchsia os는 어떠한 환경에서도 음성명령을 설계할 수 있도록 설계되어 있다. 
  • 4) 안드로이드의 파편화 
    • 구글 트레블 프로젝트 
      스마트폰 제조사들이 os를 조작하지 않고 배포하도록 하는 정책을 펼치긴 했으나 
      실질적으로 os의 업데이트의 권한은 제조사가 가지고 있다보니 한계가 존재 
  • 5) 오라클과의 특허싸움
    • 오라클과 google의 특허싸움으로 인해 약 10조원 가까운 라이센스를 지불해야 할 상황에 처해있음.
    • 구글에게 두고두고 부담이 될 가능성이 높음. 

4. 이와 연관하여 flutter와 fuchsia os에 대해 정리해 보면,  

flutter, android, ios, fuchsia 관계

  • flutter는 프레임워크라고 봐야 한다. 
  • flutter는 fuchsia os 의 사용자 인터페이스와 애플리케이션을 만들기 위해 사용(fuchsia에서 그대로 동작한다.)
  • flutter 앱 개발을 위한 프로그래밍 언어로는 Dart를 사용한다.
  • 크로스 플랫폼(안드로이드, iOS) 애플리케이션 개발
  • 인터페이스나 사용자 경험(UX)을 하나로 통일 (android, ios 등)
  • Hummingbird : flutter 웹 프로젝트
    • flutter로 만들때와 똑같은 형태로 웹 프로젝트도 만들 수 있도록 하려고 한다.
    • 아직은 초기단계라 chrome만 지원가능
  •  flutter를 활용해서 개발자들이 앱을 만들면 만들수록 fuchsia os에 익숙해지는 개발자들이 늘어날 것이다.

[정리]

  •  확정적이지는 않으나 사실로 알려진 내용을 기반으로 정리를 해보자면, 
  • flutter로 만들어진 앱은 android, ios에서 동작을 하는 하이브리드 앱을 구현을 할 수 있다.
  • flutter는 다양한 플랫폼인 window, mac, fuchsia를 지원할 예정이고,
  • 기본적으로 flutter로 만들어진 앱을 통해서 fuchsia os에서 동작하도록 하고, oracle과의 java언어 라이센스 문제도 해결하기 위해 Dart라는 언어를 적용하고, 모바일, desktop등 모든 디바이스에서 동작하게 하기위해서 fuchsia os를 발전시켜가고 있다.
  • 구글이 굳이 os가 android os, chrome os 이라는 것이 있는데도 fuchsia os를 만드는 이유는 앞으로의 os는 음성인식에 최적화 되어 있어야 하기 때문으로 보인다.
  • android os 와 chrome os 은 touch에 적합하게 디자인 되어 있기때문이다.
  • 앞으로 구글이 만들 os의 중심이 fuchsia가 될 수 있고, 언어의 중심도 Dart가 될 수 있을 것 같다. 하여, flutter를 공부를 해보려고 하는 사람들은 공부를 열심히 해두면 구글의 fuchsia os가 중심이될때 실력을 발휘할 수 있지 않나 싶다. 미래는 모르는 거니까 확신하긴 힘들지만, 구글의 계획이 제대로 구현이 되면 flutter도 중심이 되지 않을까 싶네요. 또한, flutter 웹 프로젝트까지 만들어지고 있으니 앞으로는 구글이 flutter 앱을 구현하는 형태로 전환되지 않을까 하는 생각이 드네요. 
  • flutter와 fuchsia os 그리고 구글의 빅 픽쳐를 이해하는데 도움이 되셨기를 바랍니다.^^

2020.07.01