어플 개발이 느려지고 있습니다

전에 올린 어플의 관한 작은 공지 입니다.
3주전에 올린 음악 플레이어 어플을 많은 관심을 주셔서
최대한 빠르게 보여 드릴려고 잘 개발 하고 있었습니다만
아무래도 제가 예상한 기간보다 오래걸릴꺼 같아서 짫게 말씀 올리도록 하겠습니다
결론 부터 말씀 드리면
프로젝트를 리워크를 했습니다 ㅠㅠ
이유는 크게 두가지가 있습니다.
첫번째로는 프레임 워크 관련 이슈 입니다.
프레임 워크는 쉽게 말하면 어플을 만드는 도구입니다
저는 다양한 환경에서 이 음악 플레이어로 들을수 있게 제작 할려고 Flutter프레임 워크 같은 크로스 플렛폼 프레임 워크를 사용했습니다.
쉽게 설명 드리자면
한국인과 아랍에미리트인과
서로의 언어를 알지 않는이상 잘 대화가 되지 않는 것 처럼, 컴퓨터도 사용하는 장치에 따라 사용하는 도구를 쓰지 않으면 못씁니다.
그래서 왠만하면 외국인들과는 영어같은 통합되어있는 언어쓰는 것처럼, 크로스 플렛폼 프레임 워크를 쓰면 같은 도구에서는 여러가지 환경에서 작동하도록 할수 있습니다.
하지만 이 프레임 워크는 음악 플레이어 처럼 하드웨어에 간섭하는 어플리케이션을 만들기에는 적합하지 않았습니다.
(Equalizer, ASIO, MIDI, VST, DirectSound, OBOE 등 Low-level 오디오 제어나 고성능 DSP 처리를 위한 핵심 API들이 지원되지 않는 한계가 있음)
영어로 대화 한다고 모국어 만큼의 표현이 되지 않는것 처럼요.
그래서 환경에 맞게 Android는 Kotlin 언어와 네이티브 프레임워크를, Windows는 .NET Core를 사용하여 각각 따로 개발하기로 결정했습니다.
그래도 추후에 다양한 플렛폼 형식으로도 개발할 계획입니다!
두번째는 전체적인 기능 부제 입니다.
처음에는 그저 기존에 쓰던 음악플레이어의 디자인과 불필요한 기능을 제외 시키자는 의도로 시작하였습니다.
하지만 기본적인 시스템을 만드는거 부터 여러가지 기능이 융합되어 있고 이것이 음악플레이어의 사용성을 정의 한다는 것을 알게 되었습니다.
오히려 저가 생각했던 추가할 기능이 더 필요 없다는 것이 오점이였습니다.
그래서 전체적인 기능 부터 검토하고있고 필요한 기능과 매력적인 디자인에 대해 고민하고 있습니다.
Ui디자인 보다 UX(사용자 사용성)관련한 리워크이기에 Ui디자인 몇개 추가된걸로 올려드리고 공지 마무리 하겠습니다.
다른 궁금한 점이나 의견 있으시면 댓글 올려주세요!
Comment 44
Comment Write

음악 플레이어 기능에 대한 개인적인 생각입니다.
- 플레이어에 있어야 한다고 생각하는 기능은 아무래도 큐델릭스/JDS Labs DAC들과 같은 PEQ 기능 및 Import / Export, 그리고 각종 스트리밍 사이트와의 연동이 아닐까 싶습니다. 전자도 그렇지만 후자는 일부만 적용되는 경우가 많으니...
- Windows/Mac에서도 되도록 하신다면 Roon/Plexamp와 같이 서버기능을 지원해서 모바일 앱과 연동해서 PC음원을 모바일 앱을 통해서 들을 수 있도록 하면 정말 좋을 것 같습니다. PEQ 기능도 지원하면 더 좋겠죠.
뭔가 좀 요구가 어렵고 많네요...ㅎㅎ 디자인은 깔끔하고 좋은 것 같습니다. 살짝 애플뮤직 냄새도 나는 것 같고요. 이정도 디자인도 안되는 하이파이 음악 앱을 표방하는 앱들도 많으니, 기능만 충실하면야 앱스토어같은데 올리셔도 잘 나가지 않을까 싶습니다. 화이팅!

응원합니다 ㄷㄷ


음악 플레이어 기능에 대한 개인적인 생각입니다.
- 플레이어에 있어야 한다고 생각하는 기능은 아무래도 큐델릭스/JDS Labs DAC들과 같은 PEQ 기능 및 Import / Export, 그리고 각종 스트리밍 사이트와의 연동이 아닐까 싶습니다. 전자도 그렇지만 후자는 일부만 적용되는 경우가 많으니...
- Windows/Mac에서도 되도록 하신다면 Roon/Plexamp와 같이 서버기능을 지원해서 모바일 앱과 연동해서 PC음원을 모바일 앱을 통해서 들을 수 있도록 하면 정말 좋을 것 같습니다. PEQ 기능도 지원하면 더 좋겠죠.
뭔가 좀 요구가 어렵고 많네요...ㅎㅎ 디자인은 깔끔하고 좋은 것 같습니다. 살짝 애플뮤직 냄새도 나는 것 같고요. 이정도 디자인도 안되는 하이파이 음악 앱을 표방하는 앱들도 많으니, 기능만 충실하면야 앱스토어같은데 올리셔도 잘 나가지 않을까 싶습니다. 화이팅!

타 프로그램에서 Export한 Precision EQ 데이터를 그대로 불러오는 것은 형식 차이로 인해 제한적일 수 있으나, 기능 구현 자체는 가능하다고 판단하고 있습니다. 보다 범용적으로 사용할 수 있도록 JSON 형식 기반의 Import/Export 기능을 제공하여 EQ 설정을 쉽게 공유할 수 있도록 할 계획입니다.
2.스트리밍 서비스 연동
다양한 스트리밍 서비스와의 연동은 각 서비스와의 계약 및 인증 절차 등 현실적인 제약이 많아 현재 시점에서는 구현이 어렵습니다. 초기 버전에서 제공되기는 어려운 기능이나, 추후 협업이나 API 개방 상황에 따라 검토할 여지는 있습니다.
3.PC-모바일 연동
Roon이나 Plexamp와 유사한 서버 기반 음원 스트리밍 기능도 내부적으로 검토하였습니다. 현재는 구글 드라이브 API를 활용한 연동 방식과 FTP 서버 접근 방식을 고려하고 있으며, 두 방식 모두 설정값을 포함한 Import/Export가 가능하도록 동일한 구조를 채택할 예정입니다. 즉, PC에서 Export한 설정을 모바일에서 그대로 사용할 수 있으며 그 반대도 마찬가지입니다.
다만 완전한 서버 기반의 실시간 스트리밍 및 제어 기능은 다양한 환경에 대한 최적화가 필요해 개발을 보류하고 있습니다.


말그대로 일반적인 eq보다 더많은 기능과 정확한 제어를 할수 있는 이퀄라이저 입니다













ㅎ. 다행이네요.
안그러면 포팅을 다시해야하는 대사건이 생길 수도 있긴 하죠.
그런데 정석대로 개발하실거면 Straming API를 지원하는 서버를 개발해서 기본 Contents는 서버에서 운영하고, 모바일, Windows 앱에서는 음원파일 구동을 담당하는 형태로 구성하는게 맞는 것 같아보입니다.
다만 그러면 개발범위가 미친듯이 폭발하기 때문에 쉽지 않아 보이긴 하네요.

로컬에서만 할수있는 기능이 많아 채택한 방식이지만 정말... 쉽지않아요...








이 엄청난 작업을 혼자서 하신다구요.....헐~~~~~~
플랫폼을 2개로 개발하셔야 하니 2배가 아니라 4배는 더 공수가 들겠군요.
또 이둘을 연동하셔야 하니 더 힘들어지고......
순전히 개인적인 의견이지만요...
우선은 개발 요건을 줄여서 기능을 제한하고 외부 요인을 최소화하기 위해
플랫폼을 한가지로만 정해서 부가적으로 발생할 위험의 영향도를 낮추는 거는 어떨까요?
처음부터 많은 기능을 여러 플랫폼에서 동시에 지원하는 방향 자체를 단순히 해야되지 않나 생각합니다.
우선은 안드로이드 환경에서 Kotlin만으로 필요한 기능을 구현하고 안정화 한 이후에,
윈도우 플랫폼 쪽 기능을 개발하는 방식이 나을 것 같지 않을까요...
너무 힘드실 것 같아서.......(눈에 선함...)
염려스런 마음에 드리는 말씀이니 오해는 하지 말아주세요~


Windows와 AOS는 OS 커널이 다르긴 해서 각각 커널 API를 파악하시긴 해야겠죠.
C++에 익숙하시면 파악하기는 쉬우실 것 같네요.
so, dll로 빌더하고 loading해서 kotlin이랑 .net core에서 dynamic library 호출한 후 코드 flow 만드시면 될 것 같습니다.
code flow를 UML 같은 걸로 사전에 그려보시고 작업하시면 쉬우실거예요.
좋은 프로그램 만드시길요.

오히려 c++가 더 익숙합니다




정말 너무 어려워요


저도 flutter 써서 프로그램 만들어볼까 싶어서 dart랑 함께 flutter 배워볼 까 했는데, flutter랑 네이티브 연동이 많이 힘든 편인가요?
UI는 flutter로 하고 네이티브단과 interaction하는 부분만 네이티브로 짜는게 훨씬 손이 덜 들지 않을까 싶은데,
아예 전면 네이티브로 재개발하신다고 해서 이유가 궁금합니다!




압도적 응원....

응원 감사합니다!!!