[FAQ] 모바일 앱 개발, 궁금해요!

2019. 05. 22

정보

 

 

미리 알아두면 훨씬 수월해지는 앱 개발 Q&A

- 모바일 앱 개발할 때, 가장 궁금한 정보

 

 

  1. Q. 모바일 앱을 제작하려고 하는데 요즘 유행하는 반응형 앱이 좋을까요? 아니면 적응형 앱이 좋을까요?
  2.  
  • 각각은 서로 다른 장점들이 있습니다. 반응형 앱의 경우는 단말기에 구애받지 않고 보여주려는 정보를 동일한 방식으로 보여줍니다. 이는 장점이자 단점인데, 페이지 제작 시, 이를 고려하여 다양한 방식으로 검증하여 여러 단말기에 적합하게 보이는지 확인하여야 합니다. 즉, 개발에 투입될 자원(인력, 시간, 비용)이 증가하는 것입니다.
  •  
  • 또한, 향후 유지보수에도 많은 자원이 소요됩니다. 반면, 적응형 앱은 단말기에 맞게 별도로 제작하는 것입니다. 따라서, 이 방식도 초기 제작 비용은 많이 소요되지만, 테스트 등의 기간이 반응형 앱에 비해 짧고, 유지보수에 유리합니다. 단점으로는 단말기별 페이지를 각기 관리해야 하므로 관리상의 복잡도가 증가합니다.

 

 

  1. Q. 회사 내부적으로 모바일을 전략을 수립하려고 합니다. 우선으로 고려할 사항들로 어떤 것이 있나요?
  2.  
  • 모바일 앱이 비즈니스 성장과 새로운 기회 창출을 위한 핵심요소로 부상함에 따라, 기업들은 더 많은 핵심 기업 서비스를 모바일화하고 있습니다. 이 과정에서 기업의 목표를 달성하기 위한 최적의 개발 방법을 모색하지만, 한 가지 개발 방식으로는 기업의 복잡한 요건을 모두 충족시키기는 어렵습니다.
  •  
  • 따라서, 한 가지 개발 방식이 아니라, 각 방식이 제공하는 장점을 활용하고 개발 방식과 상관없이 지속해서 개발하게 될 모바일 앱의 개발을 지원하는 유연한 솔루션이 해답입니다. 하이브리드, 네이티브, 등 웹 개발 방식의 선택은 한 방식이 주가 될 수는 있어도 한 가지 방식만을 선택하는 것은 아닙니다. 모바일 전략을 세우는 기업들은 다음 요소들을 고려해야 합니다.
    •  
    • - 모바일 앱 개발, 백엔드 서비스와 연동, 앱 관리 등 전체 수명주기 관리 관점의 전체 비용 및 복잡성을 증가시키는 모바일 기기 및 기술의 파편화
    •  
    • - 소비자와 기업의 모바일 채택 가속화에 따른 보안, 확장성 및 제어에 대한 요구사항 증가
    •  
    • - 생각지도 못한 새로운 유형과 새로운 용도의 모바일 앱을 가져올 근거리 통신, 위치 정보, 증강 현실, 소셜 네트워크 등과 같은 새로운 기능과 보조 기술
    •  
    • - 앱 스토어의 제출 및 승인 과정 없이 사용자가 손쉽게 이용할 수 있도록 앱을 배포하고, 업데이트 배포 및 전체 앱 포트폴리오 관리를 신속하게 수행할 수 있는 새로운 앱 배포 채널(공용 및 개인 채널)
    •  
  • - 기업은 이러한 변수를 모두 고려하여 모든 유형의 앱을 지원하는 유연성과 백엔드 기간 업무 서비스와 완벽한 연동, 높은 수준의 보안 보장, 중앙의 단일 접점으로 전체 애플리케이션 포트폴리오 모니터링 및 관리 기능을 제공하는 솔루션을 선택해야 합니다.

 

 

  1. Q. 모바일 서비스를 제공하려 하는데, 모바일 응용프로그램을 2가지를 개발하여야 하는 이유는 무엇인가요?
  •  
  • 그 이유는 대표적인 모바일 단말기의 OS가 Android와 iOS이며, 이들 운영체계에서는 응용프로그램이 호환되지 않기 때문입니다. 따라서, 하나의 프로그램을 동작시키기 위하여 Android용과 iOS용 2가지 응용 프로그램을 작성하여야 합니다. 기본적인 알고리즘은 같지만, 두 가지 운영체계의 특성과 개발환경이 다르며, 소프트웨어 배포를 동시에 진행하여야 하므로 2가지 운영체계의 응용프로그램을 동시에 개발하고 있습니다.

 

 

  1. Q. 모바일 단말기를 통해 외부 장치를 제어하려고 하는데 어떻게 하나요?
  2.  
  • 단말기와 Interface는 크게 2가지가 있습니다. 유선 케이블을 이용하여 통신하거나 무선으로 통신하는 것입니다. 개발 시, 보통 양쪽 모두에 해당하는 Lib.를 제공하기 때문에 개발자는 크게 부담을 갖지 않아도 됩니다. 유선 케이블은 보통 단말기의 충전포트를 통해 외부 장치와 통신합니다. 무선의 경우는 3가지 방법이 있습니다.
  •  
  • 단말기의 셀룰러 데이터 통신을 이용하는 방법, 무선 와이파이 공유기를 통한 와이파이 통신, 근거리 Bluetooth 무선통신이 있습니다. 각각의 통신 중 가장 경제적이며, 통신상의 장애가 적으며, 장비와 거리를 고려하여 가장 적합한 것을 선택하여 개발하면 됩니다. 각각의 통신 거리는 셀룰러 >> 와이파이 >> Bluetooth입니다.
  1.  
  2.  
  3. Q. 모바일 앱에 주로 사용되는 개발언어는 어떤 것이 있습니까?
  4.  
  • Android 응용프로그램에 사용되는 개발언어는 보통 Java를 사용하며, 근래에는 Python, C# 등을 이용하여 개발합니다. 우리나라의 경우 Java를 이용하여 개발하는 개발자가 대부분이고, Java의 특성상 가독성이 뛰어나고 버전 관리가 비교적 쉬어 많은 개발자가 애용하고 있습니다. 최근에는 Python을 이용한 개발자가 증가하는 추세입니다.

  • iOS는 최근까지 Objective-C를 이용하여 개발하였습니다. Apple 사에서 Objective-C Compiler와 Xcode라는 개발환경을 제공하기 때문에 MacOS 환경에서 개발하는 것이 일반적입니다. 따라서, MacOS 환경이 아닌 운영체계에서 개발하는 것은 한계가 있습니다. 그리고, 최근에는 Swift를 이용하여 개발하는 추세입니다. 2014년 공개된 Swift는 2015년 오픈소스로 공개되어 강력하고 직관적인 프로그래밍 언어로서 개발자들에게 차세대 최첨단 소프트웨어 개발에 필요한 자유와 역량을 제공하고 있습니다.
  • 코딩 경험이 전혀 없는 사람까지도 누구나 쉽게 배우고 사용할 수 있으며, 스크립팅 언어만큼이나 표현력 있고 재미있는 첫 시스템 프로그래밍 언어로 자리매김하고 있습니다. 또한 Swift는 안전을 고려한 설계로 자주 발생하는 프로그래밍 오류의 종류 전체를 제거해주어 많은 iOS 개발자들에게 편의를 제공하고 있습니다.

 

 

전문가가 될 수 있는 모바일 앱 관련 용어

- "여기 버튼 UI는 좋은데, UX는 별로네요."

 

UI/UX

 

  • - User Interface/User Experience를 뜻하며, UI는 사용자가 기계나 컴퓨터를 사용할 때 사용자가 쉽게 접근해서 사용하고, 그에 따른 결과를 얻어 낸다는 것에 주목적이 있습니다. UX는 사용자가 서비스를 이용할 때 어떤 감정이 있고, 또 어떤 감정을 갖게 되는지를 고려하여 설계하는 것을 말합니다. UX의 개념을 대표하는 것이 스티브 잡스의 야심작인 아이팟과 아이폰, 아이패드입니다. 아이팟과 아이폰, 아이패드는 통일된 사용법으로 사용자가 하나의 기계를 확장해서 사용하는 듯한 느낌을 주었고, 터치스크린의 기능을 삽입하여 사용자가 매우 편리하고 빠른 속도로 사용할 수 있게 하였으며 심미성까지 고려하여 IT 산업의 엄청난 혁명과도 같은 혁신을 이뤄냈습니다.
  •  

macOS

 

  • - macOS는 기업 애플이 제작한 운영 체제입니다. 2002년부터 매킨토시 컴퓨터에 적용되었으며, 이전 이름은 맥 OS로 불려오다가 버전 10에서 OS X로 변경되었습니다. 여기서 X는 버전 10을 뜻하는 로마숫자입니다. 이후 2016년 6월 macOS Sierra를 공개하면서 macOS로 변경되었습니다.

 

JSP

 

  • - Java를 이용한 서버 사이드 스크립트 언어입니다. Java Server Pages의 약자이며, Java의 점유율을 대폭 상승시킨 1등 공신입니다. 같은 부류에 속하는 것으로 PHP, ASP가 있습니다.
  •  
  • - JSP는 HTML 내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어입니다. Java EE 스펙 중 일부로 웹 애플리케이션 서버에서 동작합니다.
  •  
  • - 자바 서버 페이지는 실행 시에는 자바 서블릿으로 변환된 후 실행되므로 서블릿과 거의 유사하다고 볼 수 있습니다. 하지만, 서블릿과는 달리 HTML 표준에 따라 작성되므로 웹 디자인하기에 편리합니다. 1999년 썬 마이크로시스템즈에 의해 처음 배포 되었습니다.

 

 

인기 포스트