엠엔디시스템 (시스템개발문의: 055-385-4832)

코틀린 vs 플러터 본문

컴터및전산관련글

코틀린 vs 플러터

하이멍동구 2024. 1. 16. 15:01

오늘은 모바일 앱 개발에 대한 이야기를 준비했습니다. '코틀린 vs 플러터'라는 주제로 이야기를 나누어 보려고 합니다. 이 두 기술에 대한 논쟁은 꽤 오래 전부터 이어져 왔어요. 무엇이 더 좋다, 무엇을 선택해야 할까? 이런 질문에 대해 저도 한번 답해보려고 합니다.



오늘은 그 중에서도 특히 화두가 되었던 코틀린 vs 플러터에 대해 이야기해볼까 합니다. 그럼 이 두 기술의 장단점을 함께 알아볼까요?

먼저, 코틀린에 대해 알아보겠습니다.

코틀린의 장점
안정성: 코틀린은 안정성을 중요시하는 개발자들에게 인기가 많습니다. 안드로이드 공식 언어인 만큼, 안드로이드 API와의 호환성이 뛰어납니다. 또한, 네이티브 개발이 가능하다는 점에서 속도와 성능 면에서도 우수합니다.

그런데 이런 코틀린에도 단점이 있습니다.

코틀린의 단점
학습 곡선: 코틀린은 플러터에 비해 학습이 어렵습니다. 특히, 함수형 프로그래밍에 익숙하지 않은 개발자들에게는 코틀린의 문법이 낯설게 느껴질 수 있습니다.
빌드 시간: 코틀린의 또 다른 단점은 빌드 시간입니다. 코틀린은 플러터보다 빌드 시간이 더 길다는 점이 흔히 알려져 있습니다. 아래 플러터에서 설명할 Hot Reload 때문인데요 ~



플러터는 어떤지 보겠습니다

플러터의 장점
생산성: 플러터는 빠른 개발 속도와 높은 생산성을 자랑합니다. 'Hot Reload' 기능을 통해 코드의 변경 사항을 즉시 반영할 수 있어, 개발 과정이 매우 효율적입니다.
크로스 플랫폼: 플러터는 한 번의 코드 작성으로 iOS와 안드로이드 모두에 앱을 배포할 수 있습니다 이는 개발 시간을 크게 단축시키며, 유지 보수도 용이하게 만듭니다.

하지만 플러터 또한 만능은 아닙니다.

플러터의 단점
라이브러리와 지원: 플러터는 비교적 새롭게 등장한 기술이므로, 아직은 코틀린이나 리액트 네이티브처럼 방대한 라이브러리와 지원을 자랑하지는 못합니다.
네이티브 기능 접근: 플러터는 네이티브 기능에 접근하기 위해 별도의 플그인이 필요합니다. 이는 때때로 개발 과정에서 제약 사항으로 작용할 수 있습니다.
... 코틀린과 플러터 둘 다 각각의 장단점을 가지고 있습니다. 그렇기 때문에 어떤 기술을 선택할 것인가는 개발자의 상황과 필요에 따라 달라집니다. 각자의 요구 사항과 목표에 맞게 적절한 도구를 선택하는 것이 중요합니다.

기억하셔야 할 점은, 어떠한 기술도 모든 것을 해결해주는 만능 열쇠는 아니라는 것입니다. 각 기술은 그 자체로 특정 문제를 해결하기 위한 도구일 뿐입니다. 따라서, 선택을 할 때는 여러 요소를 고려해야 합니다.


필자는 스마트공장과 같은 해당 업체에 대해 때마다 새로운 기술을 도입하고 패키지가 아닌 사내 최적화형으로 구축하는 저희 엠엔디시스템에서는 크로스 플랫폼으로 iOS , Android , Web, Windows 까지 한번에 다 개발할 수있는  Flutter로 개발하고 있습니다. (말이 한번에지 사실상 한번에 개발은 불가능합니다 ..)

하지만 어떨때는 안정적인 Native가 필요하다고 느껴질땐 Kotlin을 사용하여 개발하기도 합니다.

Kotlin을 사용하느냐 Flutter 를 사용하느냐는 각각 환경에 따라 또는 각 개발자의 특성에 따라서 달라질수있는 것이니 누가 틀리고 맞는게 아닌 각자에게 맞는 언어를 사용하는게 좋을거같습니다.

오늘 이야기를 마무리하며, 개발에 있어서 가장 중요한 것은 기술을 두고 싸우는 것이 아니라, 기술을 통해 무엇을 만들어낼 수 있느냐는 것이라는 점을 다시 한번 상기하고 싶습니다.

오늘의 주제인 '코틀린 vs 플러터'에 대한 이야기를 마치도록 하겠습니다. 다음에는 또 다른 흥미로운 주제로 찾아뵙겠습니다. 그럼 행복한 코딩하세요 ~

Tel. 055-385-4832
E-Mail. hooing777@naver.com
Url. mndsystem.com
Adr. 양산시 범구로 25 디온플레이스앤메디 401호 엠엔디시스템