플러터로 개발하기가 너무 힘들다..
반응형

플러터는 분명 크로스 플랫폼으로 좋은 점이 너무나 많다. 

미리 디자인 되어있는 쿠퍼티노, 메터리얼 디자인 등 분명 손이 덜 가는 부분이 있지만

 

문제는 아직도 완성도가 높다고 말하기에는 좀 어렵다. 버그도 많고 기기 특성을 너무 많이 타기도 한다.

 

같은 라이브러리도 기기마다 다르게 작동하다보니 아이폰에서는 되는 것이 아이패드에서는 안되기도 하고

 

똑같은 인앱결제 로직을 쓰더라도 안드로이드는 안거치는 pending 로직을 IOS는 pending로직을 거친다.

 

공식 인앱 결제 패키지조차 정보가 제대로 넘어오지 않아 불만을 갖는 사람들이 많은데도 고치질 않는다.

 

결국 플러터로 크로스플랫폼 개발하려면 윈도우로는 개발하기가 힘들다.

 

반드시 맥북, 아이폰 실기기, 아이패드 실기기가 있어야 IOS까지 신경을 쓸 수 있기 때문이다.

 

게다가 아이폰과 아이패드를 구분하는 코드는 없어서 아이패드는 거의 버려두다 싶이 해야한다.

 

아이패드에서는 안되는 것이 생각보다 많다. 둘의 기기 특성이 완전히 다른 듯 하다...

 

특히 오디오 구현이 정말 복잡한데 안드로이드와 IOS의 오디오가 작동하는 로직 자체가 다른듯 하다.

 

IOS는 오디오 세션이라는 것을 쓰는데 외국인들도 가장 많이 쓰는 플러터 써드파티 라이브러리로도 버그가 일어난다.

 

스피커로 소리를 나오게 아무리 명시해서 코드를 써도 뭐가 문제인지 전화통화할때 쓰는 스피커인 earpiece 스피커로 음량이 작게 나오는 문제도 있고 일단 한번 earpiece로 소리가 나오기 시작하면 그 앱 세션이 완전히 끝나기 전까지 무조건 earpiece로만 소리가 나온다.

 

사례를 검색해봐도 사례가 많지도 않고 문제를 겪는 사람들이 적다.

 

정말 사람을 미치게 하는 ...문제였다. 안드로이드에서 테스트할 때는 잘 되던 것이 아이폰에서는 안되어 라이브러리를 아예 갈아엎기도 했다. 라이브러리를 타고타고 들어가서 코드를 봐도 어느 수준까지 들어가면 결국 내가 읽을 수 있는 영역을 벗어나게 된다;;

 

완벽한 크로스플랫폼 프레임워크는 없는걸까? 많은 기업들이 크로스플랫폼을 쓰다가 결국 네이티브를 생각하게 되는 이유가 있는 것 같다..

반응형