본문 바로가기

1인개발자

<1인 개발자로 살아남기> 9일차 : 플러터Flutter로 전향하기, 앱 개발의 종류

반응형

급하게 플러터로 갈아타게 된 이유

  1. '개발 '의 A-Z를 찍먹하자는 생각으로 <HTML, CSS, JS, NODEJS, REACT, DB>를 간단하게 수료하려고 하였음.
    (하나씩 다 다뤄주는 UDEMY100일 코스를 수강하게 된 가장 큰 이유)
  2. 그런데 1) '웹'과 '앱'은 다르다는 것과, 2) 크래스플랫폼이면은 '웹'과 '앱'이 해결될 뿐만 아니라 ANDROID, IOS까지 해결된다는 것을 알게 됨.
    (기존에는 서비스배포계획이 없어서 '웹'과 '앱'에 대한 구분이 없었고 일맥상통하는 거라고 생각했음.)
  3. 대단한 소프트웨어 엔지니어가 목표가 아니라, 제품&서비스 공급자가 목표이므로 나는 최대한 빠르게 많은 제품과 서비스를 생산해내는 것이 중요함
    (특히, 생산을 위해 학습기간을 최소화하는 것도 중요포인트 중 하나)
  4. 그래서 UDEMY. 교육 70% 정도 수강시점에 급하게 FLUTTER로 전향  
    (물론 듣던 교육은 완강을 해낼 것임. 사용하는 언어와 프레임워크가 다른 것이지 웹이나 앱이나 일맥상통하는 것은 맞기 때문에, 예상치 못한 함정에 빠지지 않으려면 A-Z를 다루는 강의를 완강하는 것이 중요함.)
  5. 우선 교육자료는 노마드코더의 '웹툰 어플 만들기'로 클론코딩 방식으로 시작
    (개인적으로 노마드코더는 박진감 넘쳐서 즐겁게 배울 수 있다는 점에서 굉장한 교육자라고 생각함.)

앱 개발의 종류

앱 개발의 종류
앱 개발의 종류

 

  1. 네이티브 : 하나의 언어로 하나의 플랫폼 (Android, IOS)에 대해서만 개발을 한다.
    • 장점 : 
      • 플랫폼스러운 UX (자연스럽다.)
      • 높은 성능
    • 단점 : 
      • 플랫폼별로 따로 개발해야 한다.
      • 버전갱신 어려움 : 어플리케이션을 배포할 때 뿐만 아니라 버전 업데이트 시에도 매번 스토어의 심사를 통과해야 한다. 
    • 프레임워크 예시 : (ANDROID) 안드로이드 스튜디오, 코틀린  // (IOS) 스위프트
  2. 하이브리드 : 웹과 앱을 한꺼번에 개발한다. (웹 화면을 앱에 뛰운다고 생각하면은 된다.)
    • 장점 : 
      • 배포한 어플리케이션 업데이트 시, 웹을 수정하기만 하면 되기 때문에 업데이트에 대한 추가적 심사를 받지 않아도 된다.
      • 기본적으로 네이티브앱을 사용하기 때문에, 네이티브앱이 가지는 장점을 그대로 가져간다.
    • 단점 : 
      • 플랫폼별로 따로 개발해야 한다.
    • 프레임워크 예시 : 하이브리드 개발은 따로 프레임워크가 있는 것이 아니라, 웹 화면을 가져다가 뛰우는 것이기 때문에  각 프레임워크에 구현가능한 개발방식이다.
  3. 크로스플랫폼 : 하나의 언어로 여러플랫폼 (Android, IOS)에서 개발한다.
    • 장점 : 
      • 한 번의 개발로 두 플랫폼에서 모두 어플리케이션 배포가 가능하다.
      • 뿐만 아니라 플러터의 경우 웹에서도 배포가 가능하기 때문에 하나의 언어, 하나의 프레임워크에 대한 전문성을 깊게 쌓아나갈 수 있다.
    • 단점 : 
      • 네이티브에 비해 떨어지는 성능
      • 플랫폼에서 제공하는 디자인요소(위젯)를 사용할 수 없다. 
        <하지만, 플랫폼의 디자인 요소 (위젯) 을 그대로 사용할 수는 없지만 ! 나만의 디자인 철학이 있다면, 안드로이드와 아이폰 구분 없이 동일하게 구현이 가능하기 때문에 장점이 될 수도 있다.>
    • 프레임워크 예시 : FLUTTER, React Native

 

 

반응형