노마드 코더 'Dart 시작하기' 강의 정리
Flutter는 하나의 코드 베이스로 웹과 모바일 등 여러 환경에서 작동이 되도록 하는 크로스플랫폼 프레임워크다.
1. 각각의 환경에 따라 개발을 할 필요가 없다는 것이 가장 큰 장점이다.
Flutter는 Dart 언어로 작성되고 두개 다 구글이 개발하고 있다.
*Dart
Dart는 2개의 컴파일러가 있음
1) Dart Web - Dart로 쓴 코드를 javascript로 변환해주는 컴파일러
2) Dart Native - Dart로 쓴 코드를 여러 CPU의 아키텍쳐에 맞게 변환(ARM32. ARM64, X86_64 아키텍쳐의 CPU를 기반으로 하는 IOS, Android, Windows, Linux, Mac 등에서 사용할 수 있도록 변환)
* JIT = just-in-time
* AOT = ahead-of-time
컴파일러는 아주 많은 최적화를 해야하고, 작성한 코드를 기계어로 바꿔야함. 이럴 경우 많은 시간이 소비됨
개발할 때는 코드반영이 바로 되는 JIT 컴파일러 방식을 사용하고, 배포는 AOT 컴파일러 방식을 사용하여 각 아키텍쳐에서 작동되도록 한다.
2. Dart와 Flutter는 구글이 만들었기 때문에, 개발하는 주체가 서로 다른 여타 언어와 프레임워크보다 최적화에 좋다.
(React는 더 빠르게 작동하기 위해 Javascript를 수정할 수 없는 것과는 확연히 다르다!)
자바스크립트를 공부하고 리액트 연습을 시작할 때만 해도 Flutter에 대한 부정적인 의견을 들었었다. (구글이 개발을 하다가 중단 할 수도 있고, 1버전 2버전 3버전의 각 급격한 변화?가 개발자들을 떠나가게 만드는 요소라고 했던 것 같다. 때문에 지켜봐야한다는 의견이었다.)
웹과 모바일에서 동시에 작동하는 서비스에 대해서 그동안 관심이 많았고, 나의 개발 의욕을 새롭게 불태워보기 위해 Flutter를 건드려본다.
'개발 > 정리' 카테고리의 다른 글
[Flutter가지고놀기] Dart_2 (0) | 2023.06.02 |
---|---|
[Flutter가지고놀기] Dart_1 (0) | 2023.06.01 |
React Native 개발환경 설정 (for macOS m1) (0) | 2022.12.21 |
CS 공부 - 네트워크의 기기, IP주소 (0) | 2022.09.30 |
CS 공부 - TCP/IP 4계층 모델 - 2 (1) | 2022.09.27 |