본문 바로가기
IT & Tech(기술)

[IT] '플러터(Flutter)' 어떤 프로그램인가?!('What is Flutter?')

by 정남c 2023. 6. 16.
반응형

Flutter

 

최근에 많은 회사에서 새로운 프레임워크로 각광받고 있는 플러터(Flutter)에 대해서 알아보고자 합니다.

Flutter는 Google에서 개발하고 관리하는 오픈 소스 모바일 애플리케이션 개발 프레임워크입니다. 이 프레임워크는 Android와 iOS, 그리고 Google Fuchsia와 같은 다양한 플랫폼에서 동작하는 앱을 개발하기 위해 사용되고 있습니다.

Flutter는 Dart라는 언어를 기반으로 하며, 그 특징 중 하나는 "핫 리로드"라는 기능입니다. 이를 통해 개발자는 코드의 변화를 바로 확인하고 앱의 상태를 유지할 수 있습니다.
*다음에 Dart라는 언어는 좀 더 자세히 알아보겠습니다.

Flutter의 UI 구성 요소는 위젯으로 이루어져 있습니다. 이 위젯들은 서로 다양하게 조합되어 복잡한 UI를 만들어냅니다. Flutter에서는 머티리얼 디자인 스타일의 위젯과 iOS 스타일의 위젯을 기본적으로 제공하며, 커스터마이징이 가능한 다양한 위젯들도 제공합니다.

또한 Flutter는 성능 면에서도 강점을 가지고 있습니다. Flutter의 그래픽 엔진은 직접적으로 기기의 GPU에 접근하므로, 60 fps 혹은 120 fps의 고성능 애니메이션을 구현할 수도 있습니다.

요약하면, Flutter는 크로스 플랫폼 모바일 앱 개발을 위한 프레임워크로, Dart 언어를 사용하며, 뛰어난 성능과 빠른 개발 주기를 제공함으로써 최근의 아주 핫한 개발 프래임워크로 선도 IT SW기업들에게 인정받고 있습니다.

 

 

Flutter의 특징

1. 크로스 플랫폼 
 Flutter는 한 번의 코드 작성으로 다양한 플랫폼에서 실행되는 애플리케이션을 생성할 수 있습니다. 이는 시간과 자원을 크게 절약해 줍니다. Flutter는 현재 Android와 iOS를 지원하며, 웹 및 데스크톱용 앱 개발에 대한 실험적인 지원을 제공하고 있습니다.

2. 단일 코드베이스
 Flutter는 단일 코드베이스를 통해 여러 플랫폼에 대한 애플리케이션을 생성할 수 있습니다. 즉, iOS와 Android에서 실행되는 앱을 동일한 코드로 작성할 수 있습니다. 이를 통해 개발 과정이 단순화되며, 유지보수와 업데이트가 쉬워집니다.

3. 빠른 개발

 Flutter의 "핫 리로드" 기능은 코드 변경 사항을 즉시 반영하여 앱에 표시해 줍니다. 이로 인해 개발자는 실시간으로 변경 사항을 보면서 즉시 피드백을 받을 수 있습니다. 이는 디버깅 시간을 크게 단축하며, 프로토타이핑과 실험을 더욱 빠르게 수행할 수 있게 합니다.

4. 선언적 UI
 Flutter는 위젯 기반의 선언적 UI 스타일을 사용합니다. 이는 UI 코드가 어떻게 보일지, 그리고 어떻게 작동할지를 명시하는 방식으로, UI의 상태 관리를 쉽게 만듭니다. 이로 인해 코드의 가독성이 높아지며, 개발 속도가 향상됩니다.

5. 네이티브 성능
Flutter는 네이티브 코드로 컴파일되므로 네이티브 앱과 유사한 성능을 제공합니다. 이는 모든 플랫폼에서 일관된 성능을 보장하며, 사용자 경험을 향상합니다.

6. 다양한 라이브러리와 패키지
 Flutter는 다양한 라이브러리와 패키지를 제공하여 개발자의 작업을 쉽게 만듭니다. 이러한 패키지는 통신, 이미지 처리, 로컬 데이터베이스 저장 등 다양한 기능을 제공합니다.

7. 테스트와 통합
Flutter는 단위 테스트, 위젯 테스트, 통합 테스트를 위한 강력한 테스트 프레임워크를 제공합니다. 이를 통해 개발자는 앱의 다양한 부분을 쉽게 테스트하고 검증할 수 있습니다.

이와 같은 특징들로 인해, Flutter는 모바일 애플리케이션 개발에 있어 효율적인 도구로 간주되며, 그 인기가 계속해서 상승하고 있는 상황입니다.


728x90

 

프레임워크란..

 프레임워크는 특정 프로그램이나 애플리케이션을 개발하기 위해 사용되는 기본적인 구조를 제공하는 코드 라이브러리입니다. 그것은 특정한 '틀' 또는 '구조'를 제공하며, 개발자는 이 구조 내에서 필요한 기능을 추가하거나 수정하여 원하는 소프트웨어 제품을 완성시키도록 합니다. 

 프레임워크에는 미리 정의된 클래스와 함수, 인터페이스 등이 포함되어 있고, 이를 사용해 개발자는 빠르고 효율적으로 소프트웨어를 개발할 수 있습니다. 이를 통해 개발자는 특정 문제에 집중하고, 반복적인 코드 작성을 최소화하며, 소프트웨어의 품질과 일관성을 유지할 수 있습니다.

 프레임워크는 종류에 따라 다양한 용도로 사용됩니다. 예를 들어, 웹 개발에서는 Django, Flask, Express.js 등의 프레임워크가 있으며, 모바일 애플리케이션 개발에서는 Flutter, React Native, Xamarin 등의 프레임워크가 있습니다.

 프레임워크를 사용하면 기본 구조와 함께 안정성, 보안성, 확장성 등이 검증된 방식을 따를 수 있어 많은 장점이 있지만, 반면에 프레임워크 자체를 배우고 이해하는 데 시간이 걸릴 수 있고, 프레임워크의 제약 사항 내에서 작업해야 한다는 단점도 있습니다. 따라서 적합한 프레임워크의 선택은 프로젝트의 요구사항과 개발 팀의 능력에 따라 달라집니다.

 


반응형

 

<For English>

 

I would like to introduce Flutter, a new framework that has been gaining attention from many companies recently.

Flutter is an open-source mobile application development framework developed and managed by Google. This framework is used to develop apps that operate on various platforms such as Android, iOS, and Google Fuchsia.

Flutter is based on a language called Dart, and one of its features is a function called "hot reload." This allows developers to immediately verify changes in the code and maintain the state of the app.

The UI components of Flutter are made up of widgets. These widgets can be combined in various ways to create complex UIs. Flutter provides widgets in both Material Design style and iOS style, and also offers a variety of customizable widgets.

Flutter also has advantages in performance. Because Flutter's graphic engine directly accesses the device's GPU, it can implement high-performance animations at 60 fps or 120 fps.

In summary, Flutter is a hot development framework that is recognized by leading IT SW companies for cross-platform mobile app development. It uses the Dart language and offers outstanding performance and a fast development cycle.

 


Characteristics of Flutter

 


1. Cross-platform

Flutter allows you to create applications that run on various platforms with a single codebase, saving time and resources. Currently, Flutter supports Android and iOS, and provides experimental support for web and desktop app development.

2. Single codebase
 Flutter can create applications for multiple platforms through a single codebase. In other words, you can write an app that runs on both iOS and Android with the same code, simplifying the development process and making maintenance and updates easier.

3. Fast development

Flutter's "hot reload" feature instantly reflects code changes in the app. This allows developers to receive immediate feedback while viewing changes in real-time, significantly reducing debugging time and allowing for faster prototyping and experimentation.

4. Declarative UI
 Flutter uses a widget-based declarative UI style.
This style specifies how the UI code will look and how it will operate, making it easy to manage the UI's state. This improves the readability of the code and increases the speed of development.

5. Native performance
As Flutter compiles to native code, it provides performance similar to native apps. This ensures consistent performance across all platforms, enhancing the user experience.

6. Various libraries and packages
Flutter provides various libraries and packages to simplify the developer's work. These packages offer a variety of features such as communication, image processing, and local database storage.

7. Testing and integration
 Flutter provides a powerful testing framework for unit testing, widget testing, and integration testing. This allows developers to easily test and validate various parts of the app.

Due to these features, Flutter is considered an efficient tool for mobile application development, and its popularity continues to rise.


What is a framework?

 

A framework is a code library that provides a basic structure for developing a specific program or application. It provides a certain 'frame' or 'structure', and developers add or modify the necessary features within this structure to complete the desired software product.

Frameworks include predefined classes, functions, and interfaces. Using these, developers can quickly and efficiently develop software. This allows developers to focus on specific problems, minimize repetitive code writing, and maintain the quality and consistency of software.

Frameworks are used for various purposes depending on their type. For example, in web development, there are frameworks such as Django, Flask, and Express.js, and in mobile application development, there are frameworks such as Flutter, React Native, and Xamarin.

Using a framework has many advantages, including following verified methods for stability, security, and scalability along with the basic structure. However, on the downside, it can take time to learn and understand the framework itself, and you need to work within the limitations of the framework. Therefore, the choice of a suitable framework varies depending on the project's requirements and the development team's capabilities.

 

반응형

댓글