FMX로 앱개발 3년째에 드는 생각
2018.11.02 12:39
FMX로 앱개발 3년째에 드는 생각
개발자 기술 자료실의 "[마감임박] Google의 새로운 Android API Level 26 요구사항 해결방법 2가지 " 게시물을 읽고 드는 생각이 참 많습니다.
http://tech.devgear.co.kr/index.php?mid=delphi_news&search_keyword=sdk&search_target=title_content&document_srl=446011
정말 당황스럽네요. 파이어몽키로 앱을 개발한다는 것이 이렇게 고난의 연속일 줄은 몰랐습니다.
저는 비콘 컴포넌트를 이용한 앱을 FMX로 개발을 했습니다. 그런데 디버그 모드에서는 잘 작동하던 비콘 컴포넌트가 스토어에 올리기만 하면 먹통이 되어 몇개월을 고생하고 결국 찾지 못해 두손 들었다가(당연히 회사에는 엄청난 카오스와 멘붕이...) 몇 개월전 안드로이드의 API레벨이 높아지면서 권한 요청을 메니페스트(FMX에서는 project > options > uses permisssions메뉴)에 입력해 놓으면 스토어에서 설치시 자동으로 권한 요청화면이 뜨는 방식에서 앱내에서 코드로 권한 요청을 해야되는 방식으로 바뀌었다는 것을 알았습니다. 물론 이는 안드로이드SDK의 문제이기는 했지만 열심히 검색을 해봤지만 관련 자료를 찾지 못했습니다. 네이티브에서는 권한 요청을 하는 방법이 많았는데 FMX에서 구현하는 방법을 찾지는 못했고 아직 실력이 미천한 저는 우선은 급한데로 고객사에는 안드로이드폰에서 권한 설정화면으로 들어가서 직접 권한을 주는 방법을 안내했고 안드로이드 스튜디오에서 기능 구현을 하고 Jar파일을 생성해서 FMX로 불러오는 방법을 구현할 계획을 했습니다.
이 과정에서 드는 생각이 매년 새로운 RAD Studio를 구매하거나 서브 스크립션 계약을 하지 않고는 이전 버전으로 개발이 점점 힘들어진다는 것이었습니다.
저희 회사는 시애틀을 구매하고 서브스크립션을 구매하지는 않았는데 ios버전에 제한 등 xcode버전은 점점 올라가고 RAD Studio에서 지원하는 ios SDK버전은 정해져 있어서 맥에서 이전 버전의 xcode를 찾아 헤매거나 이전 버전의 SDK를 추출해서 넣어야하고 FCM이 구글에서 기본으로 지원하는 푸시서비스인데 Baas컴포넌트는 FCM을 지원하지도 않아서 다른 방법을 찾아야하며 관련 자료도 넉넉치 않고.... 델마당이나 데브기어 개발자Q&A에 물어봐도 답변이 없는 경우도 꽤 많고...
점점 파이어몽키로 앱 개발을 포기하고 네이티브로 안드로이드 스튜디오와 xcode를 사용해야할 것 같다는 생각이 커지고 있습니다.
물론 델파이 자체로는 좋은 언어이고 VCL은 정말 안정적이고 개발도 쉽고 빨라 윈도우용 SW개발에는 지금까지 정말 잘 사용했습니다.
하지만 FMX는 크로스플랫폼을 지원해서 그런지 자료와 물어볼 곳도 부족하고, 무겁고, 기본 기능으로 안되는 것도 있어서 다른 방법을 찾아봐야하는 경우도 꽤있고 등등 델파이 만의 장점이 많은 부분 퇴색되는 것 같습니다.
또한 이전에 근무하던 회사에서 사용하던 델파이7, 델파이2009버전으로 아직까지도 윈도우SW 개발 현업에 적용하고 있는데 FMX는 지속적으로 새로운 버전을 구입하거나 서브스크립션 계약을 하지 않으면 점점 개발하기 거북해 지고 있습니다. 물론 안드로이와 ios의 SDK가 업데이트 되므로 생기는 문제이지만 윈도우의 버전이 업데이트 되어도 10년전 출시된 델파이2009버전으로 아직 개발하는 것과 비교하자면 답답합니다.
저는 8년여 전 안드로이드로 프로젝트해 본 것이 모바일 개발에서 네이티브로 개발한 것의 전부이고 2년전 크로스플랫폼에 대한 매력에 빠져 FMX로 개발을 시도해 보았고 아직도 바쁘다는 핑계로 안드로이드 스튜디오와 스위프트를 따로 공부해서 모바일 작업을 할 엄두도 나지 않는 게으른 개발자여서 FMX를 포기하지는 못하고 있는데 엠바카데로의 구버전 FMX의 지원도 좀 있었으면 좋겠습니다. 제가 생각하는 개발툴은 한번구매로 적어도 5년, 길면 10년도 사용하능해야 하는데 제 생각이 틀렸는지 모르겠습니다. 안드로이드나 ios버전이 업데이트 되어 버전업된 SDK는 보유하고 있는 RAD Studio에서는 적용을 할 수 없다는 제약 자체가 FMX를 장기적으로 사용할 수 없다는 생각이 들게 만듭니다. 서브스크립션 계약이 없더라도 지원하는 모바일의 SDK버전은 확장할 수 있는 패치는 좀 있으면 좋겠습니다.
답답한 마음에 단점만 늘어 놓은 것 같습니다. 하지만 저는 파이어몽키를 이용한 앱 개발이 엄청난 강점이 있다고 아직도 생각하고 있습니다. 앞으로 FMX 프레임웍이 더 널리 쓰이기를 정말 희망합니다.
댓글 7
-
icj
2018.11.20 17:56
-
생각
2018.11.21 13:21
매년 버전이 올라가면 서드파티 상용 프로그램도 재구매를 해야하며, 이전 버전에서 호환되던 컴포넌트(ZMS BAR READER 등)는 개발 종료되어 사용할 수 없고 엠바카데로 본사의 의중은 "절이 싫으면 중이 떠나라는 식"인 것 같습니다. 기능이 있어봤자 뭐할까요? 그 기능이 버전업에 따라 사용못 할 경우 유지보수도 되지 않고, 개발자가 공수를 더 두어 다른 컴포넌트로 변경 작업을 해야하구요. 돈(그것도 비싼돈)을 받는 상용툴이면 다른 서드파티를 구매할 필요없이 그 자체로도 부분적으로는 완벽(?)해야한다고 생각하지만 FMX는 전혀 그렇지 않습니다. 가장 큰 단점은 커뮤니티가 전 세계적으로 분류되어있고 내부 커뮤니티를 사용하다보니 개발 레퍼런스도 전무하다는 것이죠. 제 생각에 윈도우용 개발툴로써는 좋겠지만 모바일용으로는 최악이라고 생각해요.
-
김태윤
2018.11.27 11:23
저의 엉성한 글에 공감해 주셔서 감사합니다. 다른 커뮤니티에서 파이어몽키는 아직 시기가 아니라고하고 미성숙된 프레임워크라고 하며 안정성에 문제가 있다는 글을 보고 그래도 계속 파다보면 답이 나오겠지라고 생각하고 파이어몽키를 깍아내리는 글에 마음이 불편했는데 파면 팔 수록 힘들다는 생각만 드네요. 지금 저는 덕분에 모바일 개발에서는 우선 손 떼고 윈도우용 소프트웨어 개발에만 전념하고 있는 상태고 다른 팀원이 모바일 개발을 진행하고있습니다.
저희는 파이어몽키 개발을 무기한으로 보류했습니다. 대안으로 크로스컴파일을 지원하는 언어를 찾아 공부하려고 합니다. 이미 저희 팀에서는 다른 프레임워크를 사용해 개발에 착수 했습니다. 제가 델파이만 10년 넘게 하면서 너무 아쉽지만 불편함을 넘어 기획자에게 이건 안되고 이건 더 알아봐야하고....라고 아쉬운 소리하기가 점점 어려워져서 접습니다. 기존처럼 윈도우 개발에만 델파이를 사용하려고 합니다.
-
델피노
2018.12.10 17:40
Win32 어플 개발을 델파이7로 2017년 8월 까지 버티다 유니코드와 윈도우10에서 고해상도 모니터의 화면배율을 달리했을 때 발생하는 문제를 해결코자 최신 버전으로 옮겨탔습니다.
이것 말고는 더 뭘 해보겠다는 생각이 현재로선 없습니다.
VCL 대비 파이어몽키는 너무 난해한 것 같아 어떻게 접근을 해야할지 모르겠습니다.
이것 저것 뭐 다 된다고 하는데 뭘 어떻게 해야 할지 감이 안잡히네요.
크로스 플랫폼을 지원하다 보니 더 복잡해 진것 같습니다.
제 생각엔 Win32용은 VCL로 그냥 가고 안드로이드 ios 용은 다른 개발툴로 만들었으면 어땟을까 하는 생각이 드네요.
-
막스뮐러
2018.12.21 09:36
공감합니다.
그리고, 버전업이 될 때마다 튀어나오는 버그들을..패치하지 않고 그냥 1년을 넘기고, 개발자들한테 알아서 피해서 코딩하라는 느낌을 지울 수가 없습니다. 엠바카데로 쪽에 버그리포팅 프로세스가 있는 건지 의심스러울 정도로 패치가 너무 없는 것 같습니다.
제 경운, 서브스크립션을 매년 갱신해서 최신 버전을 쓸 수 있지만..정말 지금도 델파이7 으로 하는 게 제일 안정적이고
이것저것 회피하면서 개발하지 않아도 되니..FMX 는 시작하다 내려놓기 일수입니다.
아무리 버그를 얘기해도, 그냥 회피하는 방법을 알려주는 게 다인..개발툴이 과연 살아남을 지..이제는 의심이 됩니다.
-
김태윤
2018.12.31 14:50
델피노님, 막스뮐러님 공감합니다.
저희 회사는 지금 리엑트네이티브로 모바일 개발을 진행하고 있습니다. 물론 저 말고 다른 팀원이 진행을 하고 있습니다. 리엑트 역시 크로스플랫폼을 지원하다보니 안드로이드와 ios 각각 기능을 구별해서 구현해야하는 경우도 있지만 적어도 운영체제의 버전에 따른 제약은 파이어몽키보다 덜한 것 같습니다. 오히려 버그에 대한 너무 빠른 패치와 기술발표로 인해 개발자들이 따라가기 힘들다는 말도 있습니다. 물론 이는 장점이자 단점이 될 수 있다는 것을 잘 압니다.
하지만 파이어몽키처럼 상용 프레임워크도 아닌 공개 프레임웍인 리엑트네이티브(물론 현재까지는 공개이고 앞으로는 확정적이지는 않지만)가 발빠르게 모바일 생태계에 적응해 나가고 있고 구글에서 발표한 플루터도 크로스 플랫폼을 지원하며 무료로 사용가능한 프래임워크인 것을 가만했을때 파이어몽키에 대한 엠바카데로의 대응은 안일하다는 생각밖에 들지 않습니다. 파이어몽키가 처음 발표되었을때 정말 혁신적이다라고 생각했으나 지금처럼 경쟁자들이 나오고 있고 무료인데다가 운영체제 대응도 더 발빠르다면 굳이 익숙한 파스칼을 이용한 모바일 개발이라는 장점 이외에 어떤 장점을 보아야 하는지 의문입니다. 저도 이번 프로젝트가 마무리되면 리엑트 네이티브나 플루터를 공부해 볼 생각입니다.
-
늦바람
2020.03.15 17:42
여기에 뭘 더 기대하기 어려울 것 같습니다.
기존의 프로젝트를 볼모로 구독연장을 안하면 이전 버전도 못쓰게 하겠다는 정책에 경악을 금 할 수 없습니다.
진짜 구독연장에만 집중을 했지 그외에는 실망 그 자체 입니다.
그래서 저는 앞으로 델파이로의 개발 계획은 접고 이전 버전의 설치 카운트가 차기 전에 VitualBox등 가상환경에 설치를 해 놓고 복사본을 여러 개 준비 하는 수 밖에 없다 란 결론에 도달 하였습니다.
참으로 안타까운 현실 입니다.
물론 개발사의 고충을 모르는 것 도 아닙니다만 여러가지 방법이 있을 터인데 안타깝습니다.
저는 솔직히 가격 이슈가 대두 될 때 마다 저는 1년에 그 가격도 감당 못하는 개발을 하는게 옳은가?
그 정도되면 개발 자체를 포기 해야 되는것 아닌가 라는 생각이 지배적이었지만 안드로이드 등 다른 플랫폼 앱개발을 시작하면서 생각이 바뀌기 시작하였고 유튜브등 무수히 많은 FMX관련 동영상들을 보면서 여태까지 보아왔던 것이 실제로 개발에는 도움이 별로 안되는 허상임을 깨닫게 되었습니다.
앞으로의 프로잭트는 델파이로 개발하고자하는 마음을 비우고 기존 프로잭트를 위해 가상환경에 설치를 하는 수 밖에 없을 것 같습니다.( 이렇게 하면 가상환경의 구동도 언제가는 막겠죠..)
참 안타깝습니다.
몇달전부터 FMX를 사용하고 있습니다. 저또한 많은 기대를 안고 작업을 진행 하였으나 멀티 플랫폼이란 말이 무색할 정도로 전용화를 해야 하는 것과 기본 제공되는 컴포넌트들 조차 완벽한 동작을 하지 않는 다는 것에 대해 큰 실망을 느꼈습니다.