격세지감 크로스플랫폼

Programming 2023. 12. 9. 20:45

지금은 안드로이드를 하지 않지만 다른 UI 프레임워크를 다루다 보면 가끔 안드로이드가 그리울 때가 있었는데, 오랜만에 플러터를 끄적이며 안드로이드의 친숙함을 느낄 수 있었다.

고작해야 튜토리얼 정도만 했지만, 플러터는 확실히 안드로이드와 자바 스타일이 풀풀 풍긴다.
다르트 언어에서 지원하는 예약어도 그렇고, 화면의 레이아웃을 구성하는 방식도 안드로이드와 그것도 참 비슷하다. 비벼먹을 괄호의 웅장함(!)까지도 똑같다.

딱 기존의 스타일을 고수한 안드로이드의 상위 버전이라고 총평을 할 수 있을 것 같다. 어쨌든 크로스플랫폼이라길래 써본 플러터의 첫 인상은 썩 나쁘진 않다.

나의 경우에는 안드로이드의 경우, 4.0(아이스크림 샌드위치)부터 8.0(오레오)까지 개발을 했었다. 그러면서 Ionic(자동차 말고!), Xamarin, Qt 등의 크로스플랫폼으로 모바일 앱도 개발을 했었는데, 대부분 말아먹고 유일하게 Qt로만 상용 서비스를 런칭을 했었다. 이게 6~7년 전 이야기인데 당시만 해도 네이티브, 하이브리드, 웹앱, 크로스플랫폼 등등 안드로이드와 iOS, 웹을 모두 아우르는 개발 방식에 대한 이슈와 시도가 한창이었던 시기였다.

그 당시만 해도 크로스플랫폼으로 앱 만들면 안드로이드나 iOS 중 하나만, 혹은 아예 몰라도 되는 것처럼 대부분의 사람들이 이해하고 있었지만, 안타깝게도 모두 다 알고 있어야 양 쪽 앱을 만들 수 있었다. 즉, 크로스플랫폼 개발자는 안드로이드+iOS+크로스프랫폼 까지 세 가지 모두를 다 알고 있어야 했다. 학습 곡선과 진입 장벽이 어마했다. 사장님한테만 좋았지, 사실상 개발자 죽이는 접근 방식이었던 것이다... 그래서 그때 내가 x나게 힘들었다... ㅠㅠ...

이런 상황을 알고 있었떤 터라 사실 RN이나 플러터의 약진이 개발자의 입장에서는 그닥 달갑지만은 않았다. 공부해야 할 것만 잔뜩 늘어나니까...

내 의견과는 달리 뭐 어쨌든 RN은 성공적인 듯 하다. 여기서부터 난 이미 모바일 앱 개발을 떠났기 때문에 앱의 세부사항이나 업계 상황에 대해서는 잘 모른다.

그래도 플러터는 써보니 확실히 구글에서 공을 많이 들인 티가 팍팍 나면서, 동시에 기술이 엄청 발전했음에 새삼 격세지감을 느꼈다.

요즘은 또 크로스플랫폼은 RN이 좋냐 플러터가 좋냐 이런 얘기들이 있는 것 같은데, 개인적으로는 웹 친화적인 개발자라면 RN을, 모바일 친화적인 개발자라면 플러터를 사용하는 건 어떨까 싶다.

프론트 전문이 아니라 강력하게 주장은 못 하겠지만, 양측 진영에서 개발을 해본 경험에 비춰볼 때 View를 코딩하는 스타일이 정말 다르다. 이 부분에 대해서는 비판과 반박의 여지가 많긴 하지만, 그래도 감히 얘기해보자면, 대표적으로 모바일 쪽이 디자인 시스템에 더 친화적이다. 예를 들어, 레이아웃 구성을 위한 기능과 지원이 웹 보다 강력하다.
웹 개발을 하면서 가장 어려웠던 점이 바로 디자인을 지원하는 툴 기능, 프레임워크상의 부족한 스펙이었는데, 이런 부분은 늘 모바일 개발을 그립게 했었다.

물론 지금은 플러터가 RN의 위상은 뛰어넘을 수 없다. 다르트 언어가 가진 약점 역시 걸림돌이 되겠지. 코드 푸시 같은 게 지원이 미약한 부분도 플러터의 큰 단점이다. 그리고 커뮤니티 규모도 작다.

뭐가 되었든 간에 과거에 내가 크로스플랫폼으로 개발했던 때와는 환경도 바뀌었고 기술도 많이 발전했다. 불과 1~2년 전 까지는 '크로스플랫폼 절대 안 돼요!'라고 주장하고 다녔지만, 이제는 실제로 되고 있으니 할 말이 없다... 허허...

'Programming' 카테고리의 다른 글

SQL? NoSQL? NO!  (1) 2023.12.27
Dynamo DB 특징 및 단점  (1) 2023.12.27
MySQL SQL Password Length 오류  (0) 2022.06.30
깨끗한 코드!!! 깨끗한 코드를 원해!!!  (0) 2022.03.10
MYSQL 코드 메모  (0) 2022.02.14
admin