2. 배경
• 외주 개발로 하이브리드 앱을 다수 개발.
• 앱을 초기 세팅 및 빌드하는 시간이 대부분 소요됨
• 앱의 기능은 공통적인 부분이 대부분.
• 하나의 앱에서 문제(버그) 발생시 다른 프로젝트의 코드까지 수정되어야하는 문제점 발생
• 앱이 개발되서 나올때 까지 웹 개발자는 대기하는 시간이 발생
• 공통적인 것을 자동화 배포로 만들자.
2017-07-24MINT-SOFT 1
3. 계획
2017-07-24MINT-SOFT 2
• 웹개발자에게 시뮬레이터앱을 제공함으로써 웹 개발이 쉽도록 함.
• 버그 발생시 자동으로 앱을 업데이트 하도록 함.
• 모든 시스템을 자동화 함으로써 비용 절감
• 앱의 기능을 사용가능하도록 SDK를 제공함
• 템플릿을 제공함으로써 사용자만의 앱 제작가능하도록 함.
• 하이브리드 앱 배포를 클라우드상에서 이뤄지도록 함.
5. HiApp 서버
• 사용자가 프로젝트를 생성해서 빌드 및 배포
• 각종 정보(아이콘이미지,모바일웹주소,템플릿등)을 입력함.
• 앱의 SDK 파일을 생성함.
• 템플릿이 수정되었을경우 앱을 자동적으로 업데이트 함.
• 사용자의 프로젝트파일을 다운받을수 있음.
2017-07-24MINT-SOFT 4
HiApp Server
6. 템플릿 저장소
• 모바일앱의 UI를 템플릿화 시켜서 사용자가 선택하도록 함.
• 템플릿을 안드로이드,IOS 별로 제작.
• 설명서까지 같이 배포해서 사용자의 선택에 도움을 줌.
2017-07-24MINT-SOFT 5
템플릿 저장소
7. 클라우드 배포 서비스
• HiApp 서버에 명령을 받아서 앱을 빌드 및 배포함.
• 배포 결과를 HiApp 서버에 전달해 개발자가 알수 있도록 함.
• 자동적으로 구글,애플의 앱스토어에 배포까지 처리함.
• 알파버젼,베타버젼,릴리즈버젼으로 구분해서 앱을
배포하기 전에 테스트가 가능하도록 함.
• 빌드 파일은 다른 클라우드 파일 서버에 저장함
2017-07-24MINT-SOFT 6
빌드 빌드빌드
클라우드 배포 서버
8. 파일 서버
• 앱을 빌드 및 배포시 발생되는 파일을 저장함.
• 퍼블릭 클라우드를 사용하지 않는 이유
• 빌드시 발생되는 코드의 외부 유출을 방지
• 사용자의 요청이 있을경우만 파일 제공
• ftp및 nas를 사용하지 않는 이유
• 배포 키,인증서와 같은 중요한 데이타는 백업이 필수
• ftp와 nas의 백업을 구축하는것 보다 클라우드서버를 구축해서 백업을 하는게 유리
2017-07-24MINT-SOFT 7
파일 서버
9. 시뮬레이터 앱
• 웹개발자가 개발할때 실제 앱과 동일한 환경에서 테스트 해볼수 있는 앱
• 각종 기능 테스트를 해볼수 있는 앱
• 푸쉬 테스트
• 위치 정보 테스트
• 연락처 테스트
• 파일 저장 테스트
2017-07-24MINT-SOFT 8
시뮬레이터
10. 자동 업데이트
• 기능추가 및 버그 수정에 따른 앱들을 자동으로 업데이트 함.
• 템플릿 저장소에 소스코드를 올리면 HiApp서버가 모든 프로젝트의 앱을 업데이트 함.
• 업데이트 선택가능하도록 함.
• 개발자가 업데이트 확인 후 업데이트
• 확인 없이 자동업데이트
2017-07-24MINT-SOFT 9
11. SDK
• 앱의 특정한 기능을 사용하고자 할때 필요한 API 함수.
• 특정기능은 웹으로 해결되지 않고 네이티브의 기능을 사용해야 될경우가 존재
• Javascript sdk(Software Development Kit)을 제공함으로써 웹개발자가 편하게 네이티브의
기능 사용하도록 제공
2017-07-24MINT-SOFT 10
12. 차후계획
• 쇼핑몰제작회사,솔루션 제작회사와 협업해 특정 회사에 맞는 템플릿 제공
• 폼이 정해진 솔루션일 경우 네이티브 자동 배포도 개발 예정
• Back-End 개발자에게 SDK 제공
• 푸쉬서비스 통계
• Google Analytics 통계 페이지
2017-07-24MINT-SOFT 11