웹 개발 방식을 놓고 다양한 논란이 있긴 하지만, 기업은 계속해서 지원과 파트너, 고객을 위해 모바일 앱을 개발하고 유지, 관리해야 한다. 순수 HTML5, 자바스크립트, CSS3 모바일 웹 선호세력과 네이티브 코드 순수주의자, 하이브리드 모바일 앱 추종자들, 모두 다 설득력 있는 주장과 접근방식을 제시하지만, 결국 하나의 절대적인 정답은 없다. 각 접근방식과 툴 세트마다 나름의 장단점이 있다. 모바일 앱을 개발한다는 어려움과 그에 따른 비용은 혁신 기업들에 큰 어려움이다. 그래서 여기 모바일 애플리케이션 개발용 로우 코드 또는 노코드 빌더를 소개한다. 종류는 다양하지만, 공통으로 각 기업의 모바일 프로젝트를 신속하게 처리하는 것이 목표다. editor@itworld.co.kr

알파 애니웨어 알파 애니웨어(Alpha Anywhere, www.alphasoftware.com, 월 99달러)는 로우 코드를 사용해 빠르게 개발할 수 있도록 지원하는, 위자드-드리븐(wizard-driven) 윈도우 기반 엔드-투-엔드(end-to-end) 통합개발환경(IDE) 빌더다. 다양한 데이터베이스를 지원하고 웹, 모바일(iOS, 안드로이드, 윈도우 폰), 데스크톱 애플리케이션을 개발할 수 있다. HTML 앱은 컴포넌트 기반 디자이너를 이용해 4인치에서 48인치까지 화면 크기에 따라 개발할 수 있다. 알파 애니웨어는 폰갭(PhoneGap)과 어도비 폰갭 빌드(Adobe PhoneGap Build)를 통합한 형태로, 개발자가 여러 네이티브 개발환경에서나 또는 맥 PC를 따로 구매할 필요 없이 하이브리드 모바일 앱을 손쉽게 개발할 수 있도록 지원한다. 업체는 현재 원격 데이터베이스를 기반으로 연결되는 모바일 앱용 독특한 솔루션을 테스팅하고 있다.

앱 프레스 앱 프레스(App Press, www.app-press.com, 월 30~460달러)는 웹 기반의 노코드 앱 제작 툴로, 아이폰, 아이패드, 안드로이드 애플리케이션을 만들 수 있다. 디자이너에게 맞춰진 앱 프레스는 레이어를 사용할 수 있는 비주얼 애셋(Visual asset)에서 화면을 조합하는 포토샵 방식의 사용자 인터페이스(UI)를 사용한다. 백 엔드는 아마존 클라우드 기반 서비스와 그 플랫폼이다. 업체는 앱 프레스를 처음 접한 디자이너가 앱을 하나 만드는 데 소용되는 시간은 단 하루이며, 익숙해지면 하루에 5개도 제작할 수 있다고 주장한다.

앱 아키텍트 앱 아키텍트(AppArchitect, apparchitect.com, 현재는 무료 베타)는 웹 기반 노 코드, 드래그-앤-드롭 빌더이자 네이티브 아이폰과 아이패드 앱용 플랫폼을 갖고 있다. 앱 아키텍트 프리뷰 앱(AppArchitect Preview App)을 통해 개발한 앱은 미리보기가 가능하며, 아이튠스 앱 스토어(iTunes App store)에서 다운로드도 할 수 있다. 작업이 끝난 바이너리는 앱 스토어에 다운로드 가능하도록 등록할 수도 있다. 또한, 오브젝티브-C(Obejective-C)로 작성된 플러그인 구성요소를 조합하고, 앱 아키텍트 SDK를 이용해 제품의 기능을 확장할 수 있다. 업체는 앞으로 안드로이드와 모바일 웹 앱 개발까지 확장기능(expend)을 지원할 계획이다. 베타 서비스가 끝나고 정식 출시하면 월 40달러에서 100달러의 가격대로 판매될 예정이다.

폼닷컴 폼닷컴(Form.com, form.com, 프로젝트 범위와 조건에 따라 월 412달러 이상)은 웹과 모바일 폼 솔루션용 웹 기반 기업용 플랫폼으로, 드래그-앤-드롭 방식의 폼 빌더와 유연한 백 엔드 기술을 지원한다. 또한, 새 폼 생성, 기존 페이퍼 폼의 자기복제, 프로세스 특정 워크플로우(process-specific workflow)와 API 통합 설정, 논리적 이행 임베드, 폼 내에서의 이미지 캡처 허용, 디지털 시그니처 캡처, 폼 필드 자동완성 활성화 등 다양한 기능을 지원한다. 완성된 모바일 폼은 연결이 차단됐을 때 정보를 수집하고 연결이 복구되면 다시 전송하는 것도 가능하다.

아이빌드앱 아이빌드앱(iBuildApp, ibuildapp.com, 무료에서 월 299달러)은 웹 빌더로, 아이폰, 아이패드, 안드로이드 앱용 맞춤 템플릿을 제공한다. 업체 측은 이를 이용해 누구든 5분 안에 앱을 만들 수 있다고 주장한다. 아이빌드앱으로 앱을 개발하면 일단은 무료로 사용할 수 있지만 사용자 수와 사이트 방문 수가 매우 제한적이다. 사용자 수가 무제한인 태블릿 앱은 월 299달러이다. 이 밖에도 다양한 선택 사항에 따라 가격이 달라진다. 일반적인 앱이라면 아이빌드앱 같은 템플릿 기반 시스템에서도 기대 이상의 결과물을 뽑아낼 수 있다.

퀵 베이스 퀵베이스(QuickBase, quickbase.intuit.com, 월 299달러 이상)는 웹과 모바일 데이터베이스 애플리케이션 개발을 위한 온라인 빌더와 플랫폼이다. 300가지 이상의 맞춤 애플리케이션 템플릿을 제공하는데, 슬라이드에 보이는 컴플릿 프로젝트 매니저(Complete Project Manager)도 그중 하나다. 사용자들은 ‘백지상태’에서 데이터 디자인을 해 애플리케이션을 개발할 수 있고 이를 모바일 웹사이트로 확인할 수 있다. 모바일 퀵베이스는 현재 앱 형태로는 사용할 수 없지만, 모바일 웹사이트는 상당히 유용하다.

세일즈포스1 세일즈포스1(Salesforce1, www.salesforce.com/platform/overview, 사용자당 25달러부터)를 이용하면 HTML5, iOS, 안드로이드 앱, 웹 앱 등을 빠르게 개발할 수 있다. 모바일 웹사이트나 다운로드 가능한 일반적인 세일즈포스 뷰어 앱을 포스닷컴(Force.com) 웹 애플리케이션과 함께 활용하는 간단한 작업은 물론, 세일즈포스 모바일 팩(Salesforce Mobile Pack)을 활용해 (슬라이드에 보이는) 제이쿼리 모바일(jQuery Mobile), 앵귤러.js(Angular.js), 백본.js(Backbone.js), 녹아웃 HTML5(Knockout HTML5) 모바일 앱도 개발할 수 있다. 심지어 모바일 플랫폼에서 세일즈포스 모바일 SDK와 네이티브 SDK(Native SDK)를 결합해 iOS와 안드로이드의 네이티브와 하이브리드 앱을 개발하는 것도 가능하다. 이러한 앱은 모두 세일즈포스의 커넥티드 앱(Connected App)을 통해 백 엔드와 커뮤니케이션을 한다.

비지앱스 비지앱스(ViziApps, www.viziapps.com, 월 15달러에서 149달러, 퍼블리케이션 요금 별도)를 이용하면 온라인 비주얼 디자이너와 맞춤 가능한 샘플 앱을 모바일 웹의 코드 생성은 물론 iOS와 안드로이드 네이티브 앱과 결합할 수 있다. 비지앱스 디자이너는 양식 필드와 차트, 60개의 배경, 4,000개의 이미지를 기본으로 제공한다. 또한, 비지앱스는 지도, 비디오, 오디오, 내비게이션 바, 내비게이션 패널을 지원하고, 수많은 맞춤 설정 옵션과 자바스크립트 익스텐션을 포함하고 있다. 예제 앱을 보면 필드(field), 액션(actions), 데이터 인터페이스를 어떻게 사용하는지 한 눈에 알 수 있다.

모바일 크롬 개발 키트 모바일 크롬 개발 키트(Mobile Chrome Development Kit, github.com/MobileChromeApps, 무료)는 아파치 코르도바(Apache Cordova)에 기반한 개발자 프리뷰(Developer Preview) 툴 체인으로, iOS, 안드로이드, 크롬 앱에 대한 하이브리드 앱 전략을 취하고 있다. 슬라이드에서 확인할 수 있듯이, 사용자 인터페이스는 안드로이드와 iOS 네이티브 툴킷이 통합된 CSS과 표준 HTML이다. 모바일 크롬 개발 키트는 엄밀히 말해, ‘노코드'(no-code) 툴은 아니지만, 비주얼 HTML 페이지 디자이너 누구나 쉽게 사용할 수 있다. 모바일 코드를 추가해야 할 경우에는 플랫폼에 따라 바뀌는 네이티브 코드를 사용할 필요 없이, 자바스크립트에서 앱을 보완하는 크롬 API와 코르도바 API를 원하는대로 사용하면 된다.

앱셀러레이터  앱셀러레이터(Appcelerator, www.appcelerator.com, 개발자에게는 무료)는 IDE, SDK, 다수의 프레임워크, 백 엔드 클라우드 서비스를 모바일 개발을 위한 기업 단위 시스템으로 통합한다. 티타늄 SDK(Titanium SDK)를 이용하면 단일 코드로 네이티브, 하이브리드, 모바일 웹 앱을 모두 개발할 수 있다. 티타늄 스튜디오(Titanium Studio)는 확장성이 뛰어난 이클립스(Eclipse) 기반 IDE이고, 앱셀러레이터 클라우드 서비스(Appcelerator Cloud Services)는 앱에 강력한 네트워크 기능과 데이터 객체 배열 등을 지원한다. 알로이(Alloy) 프레임워크는 MVC 아키텍처에 기반한 티타늄 애플리케이션을 더 빨리 개발하기 위해 만들어진 앱셀러레이터 프레임워크로, 백본.js와 언더스코어.js를 지원한다. 앱셀러레이터는 노코드 솔루션이 아니지만, iOS, 안드로이드, 타이젠, 블랙베리, 모바일 웹 앱용 자바스크립트 툴을 한 번에 제공하는 장점이 있다.

 

출처:http://www.itworld.co.kr/print/86657

 

‘코드 한 줄 몰라도’ 모바일 앱을 개발할 수 있는 노코드 빌더 10선

웹 개발 방식을 놓고 다양한 논란이 있긴 하지만, 기업은 계속해서 지원과 파트너, 고객을 위해 모바일 앱을 개발하고 유지, 관리해야 한다. 순수 HTML5, 자바스크립트, CSS3 모바일 웹 선호세력과 �

www.itworld.co.kr

 

https://appgyver.com/

 

기존의 노코드 나 로우코드 솔루션들은 아래와 같이 많습니다.

AWS허니코드, 스마트메이커, 플로우 빌더, MS 파워앱스 가 국내에 그나마 많이 알려져 있고요.

 

그외로 아래와 같은 곳들도 있습니다.

1. 알파 애니웨어:  알파 애니웨어(Alpha Anywhere, www.alphasoftware.com, 월 99달러)

2. 앱 프레스:  앱 프레스(App Press, www.app-press.com, 월 30~460달러)

3. 앱 아키텍트: 앱 아키텍트(AppArchitect, apparchitect.com, 현재는 무료 베타)

4. 폼닷컴: 폼닷컴(Form.com, form.com, 프로젝트 범위와 조건에 따라 월 412달러 이상)

5. 아이빌드앱: 아이빌드앱(iBuildApp, ibuildapp.com, 무료에서 월 299달러)

6. 퀵 베이스: 퀵베이스(QuickBase, quickbase.intuit.com, 월 299달러 이상)

7. 세일즈포스1: 세일즈포스1(Salesforce1, www.salesforce.com/platform/overview, 사용자당 25달러부터)

8. 비지앱스: 비지앱스(ViziApps, www.viziapps.com, 월 15달러에서 149달러, 퍼블리케이션 요금 별도)

9. 모바일 크롬 개발 키트: 모바일 크롬 개발 키트(Mobile Chrome Development Kit, github.com/MobileChromeApps, 무료)

10. 앱셀러레이터: 앱셀러레이터(Appcelerator, www.appcelerator.com, 개발자에게는 무료)

(출처: https://bit.ly/3koU6Gj )

 

여기서 제가 확인해보니, 무료로 사용하기에 가장 할만 한 곳이 

3번인 "앱 아키텍트"인데 지금 url이 "앱가이버"로 바껴져 있네요.

 

그리하여, 앱가이버의 무료 가입 관련 링크는 아래와 같습니다.

https://appgyver.com/pricing 

 

번역을 해보면, 하기와 같습니다.

"매출 또는 자금이 미화 1,000만달러 미만인 모든 인디 개발자 및 조직 대상

ComposerPro는 평생 무료입니다."

"100%무료 플랜에는 앱 스토어 또는 웹에 앱을 게시하는 것이 포함됩니다. 원하시면 CDN에서 귀하의 사이트를 호스팅 할 수도 있습니다. 데이터베이스를 무료로 제공하고 있으며 프로덕션 앱에 타사 백엔드를 사용하는 데도 제한이 없습니다. 비상업적 앱과 상업적 앱을 모두 구축할 수 있으며, 별도의 조건이 없습니다."

"저희는 10년 동안 근무해 왔으며, 항상 소기업과 인디 개발자들을 위한 무료 플랜을 제공해 왔으며, 대기업을 유료 고객으로 삼았습니다. 작곡가 프로와 함께, 우리는 단지 이 전통을 계속하고 있을 뿐입니다. 우리는 시각적 프로그래머들로 구성된 글로벌 커뮤니티를 구축하기 위해서는 모든 사람들이 동일한 플랫폼에 접근할 필요가 있다고 믿습니다. "

 

즉, 결론은 인디개발자나 소기업들은 무료로 가입하여 사용할 수 있다는 것입니다.

 

'Android' 카테고리의 다른 글

GCM sample MainActivity.java 설명(주석)  (0) 2016.06.16
GCMIntentService.java 내용 설명(주석)  (0) 2016.06.16

package com.leminity.gcmsampleapp;


import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.util.Log;

import android.widget.Toast;


import com.google.android.gcm.GCMRegistrar;


/**

 * GCM Service 이용을 위한 샘플 프로젝

 * @author Leminity

 *

 */

public class MainActivity extends Activity {

private static final String TAG ="MainActivity";

private static final String PROJECT_ID=""; //Google Cloud Messageing Service PROJECT ID

private Context appContext = null;//applicationContext


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initialize();//변수 초기화

startGCM();//GCM 시작 메소드

}

private void initialize(){

appContext = getApplicationContext();

}

/**

* GCM 서비스를 시작한다.

*/

private void startGCM(){

/**

* GCM Service가 이용 가능한 Device인지 체크한다.

* api 8(Android 2.2) 미만인 경우나 GCMService를 이용할 수 없는

* 디바이스의 경우 오류를 발생시키니 반드시 예외처리하도록 한다.

*/

try {

GCMRegistrar.checkDevice(appContext);

} catch (Exception e) {

// TODO: handle exception

Log.e(TAG, "This device can't use GCM");

return;

}

/**

* 2.SharedPreference에 저장된 RegistrationID가 있는지 확인한다.

* 없는 경우 null이 아닌 ""이 리턴

*/

String regId = GCMRegistrar.getRegistrationId(appContext);

/**

* Registration Id가 없는 경우(어플리케이션 최초 설치로 발급받은 적이 없거나,

* 삭제 후 재설치 등 SharedPreference에 저장된 Registration Id가 없는 경우가 이에 해당한다.)

*/

if(CommonUtils.isEmpty(regId)){

/**

* 3.RegstrationId가 없는 경우 GCM Server로 Regsitration ID를 발급 요청한다.

* 발급 요청된 Registration ID는 SharedPreference에 저장된다.

*/

GCMRegistrar.register(appContext, PROJECT_ID);

//SharedPreference에 저장된 Registration Id가 존재하는 경우

}else{

Toast.makeText(appContext, "Exist Registration Id: " + regId, Toast.LENGTH_LONG).show();

}

}


@Override

protected void onDestroy() {

// TODO Auto-generated method stub

/**

* 4.앱 종료되기 전이나 종료하기 전에 GCMRegistrar.onDestroy를 반드시 호출한다.

* 호출하지 않을 경우 unRegisterReceiver오류가 발생한다.

* 해당 함수는 null이나 기타 오류에 대해 내부적으로 예외 처리하고 있으므로, 아무때나 마음껏 호출해도 된다.

*/

GCMRegistrar.onDestroy(appContext);

super.onDestroy();

}


}



'Android' 카테고리의 다른 글

앱 만들기 (코딩없어도 만들수 있다)  (0) 2020.09.23
GCMIntentService.java 내용 설명(주석)  (0) 2016.06.16

package com.leminity.gcmsampleapp;


import android.content.Context;

import android.content.Intent;


import com.google.android.gcm.GCMBaseIntentService;


/**

 * GCMBaseIntentService를 상속받은 클래스를 프로젝트 루트 패키지에 생성한다.

 * 클래스는 반드시 다음 조건을 충족해야 한다.

 * 

 * 1.클래스명은 GCMIntentService여야 한다.

 * 2.반드시 루트 패키지 내에 선언되어 있어아 한다.

 *  상기 1,2 조건을 만족해야 하는 이유는 라이브러리 내에서 해당 이름으로

 *  자바의 리플렉션을 통해 클래스를 생성/시작하게 되어 있다.

 * @author Leminity

 *

 */

public class GCMIntentService extends GCMBaseIntentService {


/**

* GCM Server로부터 발급받은 Project ID를 통해 SuperClass인

* GCMBaseIntentService를 생성해야한다. 

*/

public GCMIntentService() {

super(Constants.PROJECT_ID);

// TODO Auto-generated constructor stub

}


@Override

protected void onError(Context arg0, String arg1) {

// TODO Auto-generated method stub

/**

* GCM 오류 발생 시 처리해야 할 코드를 작성한다.

* ErrorCode에 대해선 GCM 홈페이지와 GCMConstants 내 static variable 참조한다. 

*/


}


@Override

protected void onMessage(Context arg0, Intent arg1) {

// TODO Auto-generated method stub

/**

* GCMServer가 전송하는 메시지가 정상 처리 된 경우 구현하는 메소드이다.

* Notification, 앱 실행 등등 개발자가 하고 싶은 로직을 해당 메소드에서 구현한다.

* 전달받은 메시지는 Intent.getExtras().getString(key)를 통해 가져올 수 있다.

*/


}


@Override

protected void onRegistered(Context arg0, String regId) {

// TODO Auto-generated method stub

/**

* GCMRegistrar.getRegistrationId(context)가 실행되어 registrationId를 발급받은 경우 해당 메소드가 콜백된다.

* 메시지 발송을 위해 regId를 서버로 전송하도록 하자.

*/


}


@Override

protected void onUnregistered(Context arg0, String arg1) {

// TODO Auto-generated method stub

/**

* GCMRegistrar.unregister(context) 호출로 해당 디바이스의 registrationId를 해지요청한 경우 해당 메소드가 콜백된다.

*/


}


}



'Android' 카테고리의 다른 글

앱 만들기 (코딩없어도 만들수 있다)  (0) 2020.09.23
GCM sample MainActivity.java 설명(주석)  (0) 2016.06.16

+ Recent posts