본문 바로가기
Study/basic

[Basic] Frontend의 이해 - Mobile Applications & Desktop Applications

by 오후 6시의 봄 2023. 8. 15.

1. Mobile Applications

  • React Native
    • JavaScript와 React 라이브러리를 기반으로 하는 프레임워크
    • 웹 개발 경험이 있는 개발자들이 비교적 빠르게 학습하고 사용할 수 있음
    • 하나의 코드베이스를 사용하여 iOS와 Android 플랫폼 모두에서 애플리케이션을 개발할 수 있음
    • 재사용 가능한 컴포넌트를 사용하여 UI를 구성
    • 애플리케이션을 실행 중에 코드 변경을 감지하여 라이브로 리로드 가능
    • 네이티브 모듈과 통합하여 네이티브 기능에 접근하고 사용할 수 있음
  • Flutter
    • Dart 프로그래밍 언어를 사용하여 개발하는 UI 프레임워크
      (Dart는 C와 JavaScript의 장점을 결합한 언어로, 풍부한 기능과 성능을 제공)
    • 하나의 코드베이스로 iOS와 Android 애플리케이션을 개발할 수 있음
    • UI를 위젯을 통해 구성하며, 매우 유연하고 고성능의 커스텀 UI를 만들 수 있음
    • 핫 리로딩 기능을 제공하여 코드 변경을 실시간으로 확인하고 적용할 수 있음
    • 네이티브 컴파일을 통해 높은 성능을 제공하며, GPU 가속도를 사용하여 부드러운 애니메이션을 구현

2. Desktop Applications

  • Electron
    • 웹 기술인 HTML, CSS 및 JavaScript를 사용하여 데스크톱 애플리케이션 개발을 돕는 프레임워크
    • 동일한 코드로 Windows, macOS 및 Linux에서 실행 가능한 데스크톱 애플리케이션을 개발할 수 있음
    • 웹 프론트엔드 기술 스택을 사용할 수 있음
    • 네이티브 API와 통합하여 시스템 리소스 및 기능에 접근할 수 있음
  • Tauri
    • Rust 프로그래밍 언어를 기반으로 하는 프레임워크로, 고성능과 안전성을 강조
    • HTML, CSS 및 JavaScript를 사용하여 UI를 구축하며, 기존 웹 개발자들에게 친숙한 환경을 제공
    • Windows, macOS 및 Linux에서 실행 가능한 데스크톱 애플리케이션을 개발할 수 있음
    • 네이티브 API와 직접 통합하여 높은 수준의 커스터마이징과 기능 구현이 가능

* 네이티브 API : 특정 플랫폼(예: iOS, Android, Windows 등)에서 제공되는 원래의 응용 프로그램 프로그래밍 인터페이스(API)로 사용시 해당 플랫폼의 높은 성능, 기능 및 특징을 활용할 수 있