2010-05-11 2 views
4

저는 여러 모바일 장치에서 실행될 예정인 클라이언트 - 서버 "사교 (socialising)"개발 중입니다. 이 프로젝트는 네트워킹, 미디어 교환, Geolocation 서비스 사용, 멋진 사용자 UI 등 상당히 복잡합니다.다른 모바일 플랫폼을위한 개발자 노력

개발 노력, 기술적 위험 및 확장 성면에서 가장 좋은 플랫폼은 무엇입니까? 목표는 모바일 버전에서 최대한 빨리 "실행"됩니다. 두 번째 목표는 대부분의 사용자를 대상으로하는 것입니다 (하지만 우선 중요합니다).

아이폰 (아이팟 아이 패드) 안드로이드 블랙 베리 자바 ME, 심비안

나는 모든 플랫폼에 한계가 있음을 인식하고, 아이폰이 더 나은 개발자가 예를 들어, 계정 (고려 서로 다른 측면이있다 커뮤니티 다음 안드로이드, J2ME 끔찍한 샌드 박스에서 실행되지만 대부분의 장치를 다루고).

찬반 양론을 공유하십시오. 난 J2ME 만 가진 경험이 있지만, 불행히도 다른 플랫폼을 평가할 수는 없다.

+1

이 질문에 대한 명확한 답변이 없으며 무엇보다도 "최고의"플랫폼이라는 주제는 주관적 및 논증적인 응답으로 이어질 수 있습니다. 이 주제는 다른 질문에서도 다루었습니다. http://stackoverflow.com/questions/1599725/which-mobile-programming-environment-do-you-recommend-for-a-startup-to-target –

답변

3

당신이 목록 플랫폼에서 네이티브 응용 프로그램을보고있는 경우, 적어도에서 가장하기 위해 필요한 개발 노력은 다음과 같습니다

  1. 아이폰

  2. 안드로이드

    블랙 베리

  3. 자바 ME

  4. 심비안

개발 노력은 주로 언어/라이브러리, 도구 및 분열의 적용을받습니다. 따라서 iPhone이 이깁니다 (좋은 언어 & 라이브러리, 탁월한 툴링, 거의/전혀 단편화되지 않음). 심비안은 마지막으로 제공됩니다 (제한된 라이브러리, 빈약 한 도구, 큰 단편화가있는 C++). 안드로이드는 라이브러리와 조각화에 블랙 베리를 제치고, 블랙 베리는 조각화에 자바 ME를 이긴다.

이에 대한 대위법 특히 대상 사용자 기반 중 시장 규모입니다 - 자바 ME는 다른 플랫폼보다 훨씬 더 많은 장치에 도달하면 안드로이드 기반은 아직 아무도 없다 5.

의 가장 작은 설치 반면, 옳은 대답이지만 도달 범위가 중요하다면 Java를 시작하는 것이 좋습니다. 시장 진입 및 사용자 경험이 핵심이라면 iPhone이 합리적입니다.

다른 플랫폼으로 포팅하는 것이 얼마나 쉽고/어렵습니까? Airplay 또는 J2ME Polish와 같은 다양한 크로스 플랫폼 라이브러리를 통해 비용을 절감 할 수 있습니다. 즉, 크로스 플랫폼 부분에서 응용 프로그램을 구현할 수 있어야합니다.

+0

I haven ' 안드로이드에서 어렴풋이 나타 났지만, 아이폰에서 블랙 베리로의 도약은 광대했다. 예 : Apple에서 코드 서명 키를 받으려면 developer.apple.com을 통해 코드 서명 키를 구입했습니다. RIM에서 웹 양식이 2 주 동안 다운되었으므로 팩스 *로 키 *를 주문해야했습니다. http://na.blackberry.com/eng/developers/javaappdev/codekeys.jsp –

+0

Symbian은 # 1이어야합니다. 다른 모바일 플랫폼보다 다양한 언어 선택을 지원합니다. C++, OpenC, Java, Python, Qt 등이 있습니다. 또한 가장 큰 설치 기반을 비롯하여 엔지니어링에 기반한 심비안을 선택할 수있는 다른 모든 이유가 있으며 현재 x-factor 선택 사항은 아닙니다. – Dynite

+3

@Dynite : 여러 언어를 지원할 수 있지만 어느 언어에서나 프로그래밍 할 수 있습니다. 자바는 본질적으로 J2ME이므로 플랫폼만큼 좋고 나쁘다. Open C는 대부분의 플랫폼 기능에 액세스 할 수 없습니다. 파이썬도 비슷하게 제한됩니다. 전체 "기본"응용 프로그램은 Symbian C++ 및 (아직 배송되지 않은 장치의 경우) Qt를 의미합니다. 심비안을 10 년 동안 프로그래밍 해 본 경험이있는 사람이라면이 목록의 맨 아래에 있지 않다고 말할 수 있습니다. 그 순간이 "선택의 순간"이 아니기 때문입니다. 개발 환경이 열악하기 때문에 거기에 있습니다. –

0

특정 플랫폼 용으로 기본적으로 개발 된 응용 프로그램은 일반적으로 플랫폼 UI 일관성 및 성능면에서 유리하지만 일반적으로 Rhodes (이름은 하나)과 같이 사용 가능한 다중 플랫폼 프레임 워크 중 하나를 사용해 볼 수 있습니다. 개인적으로 Rhodes에 대한 구체적인 경험이 없으며 며칠 전만해도 그 사실을 알게되었습니다. (자세히 살펴보면 할 일 목록에 계속 표시됩니다.) 프레임 워크가 제공하는 사용자 환경을 스스로 다른 장치에서 판단하십시오 .

1

Maemo/Meego (Nokia/Intel의 모바일 Linux)에 대해 말씀 드리고 싶습니다. 그것이 현재 전환 상태에 있지만 현재 Maemo 5에는 단 하나의 좋은 전화 (그리고 값이 싼 중국 사람)가 있지만, 곧 커질 것이라고 생각합니다. (많은 사람들이 Meego가 Nokia의 하이 엔드 전략이 될 것이라고 생각합니다. 노키아는 세계에서 가장 큰 전화 회사). N900은 가장 멋진 전화기입니다.

또한 기본적으로 오픈 리눅스 장치입니다 (표준 데스크톱 리눅스와 비슷합니다). ide QT Creator는 위대하고 크로스 플랫폼 (임베디드 비주얼 디자이너와 훌륭한 문서 broser가 함께 제공됨)이지만 사용하지 않아도됩니다. 자신 만의 텍스트 편집기 또는 ide를 사용할 수있는 몇 가지 지원이 있습니다.

서명 키의 종류가 없습니다 (나는 블랙 베리 학생 프로젝트를했는데 키에 짜증이났다). 내가 블랙 베리에 대해 싫어했던 다른 것들 : 윈도우즈 만 이클립스 플러그인, 우리 팀은 블랙 베리 COD 아카이브에 써드 파티 라이브러리를 추가하는 방법을 알아내는 데 많은 어려움을 겪었습니다. 또한 클래스 중 일부는 String/Char를 사용하는 방식이 많기 때문에 다소 부족합니다. 파일 읽기/쓰기 api가 마음에 들지 않았고, 블랙 베리 앱이 최근에 파일을 저장하는 기능 (영속성 레이어를 통해 디스크에 객체를 저장/검색하기 전에).

선호되는 언어는 현재 Meego의 경우 Gobject C보다 적지 만 Qt의 C++ 및 Python입니다. 라이브러리가 훌륭하고 qt 라이브러리가 특히 잘 설명되어 있습니다. 작은 리눅스 박스가 있기 때문에 디바이스 디버깅을 할 수 있습니다 (에뮬레이터도 있습니다).

참고 Maemo/Meego에 대해 아무 것도 개발하지 못했지만 많이 읽었으며 그저 사랑에 빠졌습니다.

1

나는 스마트 폰 최적화 웹 사이트로 시작하는 것이 가장 좋은 해결책이라고 생각합니다. 네이티브 앱은 풍부한 인터페이스를 제공 할 수 있지만 잘 디자인 된 웹 앱은 어느 기기에서나 실행될 수 있습니다.

휴대 전화에 최적화 된 웹 사이트의 예를 보려면 WPTouch을보십시오.

1

Roman A. Taycher와 함께 Windows Mobile/Windows Phone에 대한 목소리를 높이고 싶습니다. 대규모의 설치 기반을 가지고 있으며, 개발할 수있는 검증 된 Visual Studio 툴셋을 갖추고 있습니다. (실제로 ARM 명령어 세트를 에뮬레이트합니다. Apple이 그것을 듣고 있습니다.) Win32 환경.

MS-haters - 응답하지 마십시오. 나는 그들 모두를 들었다.

1

Qt 나 HTML5와 같은 크로스 플랫폼 런타임은 좋은 선택이며 이식성이 뛰어납니다.

Qt는 Symbian, Meego, Linux, Windows 등을 포함한 많은 플랫폼을 지원합니다. 현재 Qt는 현재 최고의 프로그래밍 프레임 워크 중 하나로 손 꼽히고 있습니다.

Qt 생성자는 매우 높이 평가되는 IDE입니다.

HTML은 거의 모든 과정에서 액세스 할 수 있으며 많은 도구가있을 수 있습니다.

0

MCF (Mobile Community Framework)가 필요합니다. 모든 최신 스마트 폰 플랫폼 (iPhone, Android, Blackberry, Symbian, WinMo - 거의 J2ME 제외)에서 네트워크 중심, 위치 및 근접 인식 응용 프로그램을 개발하기위한 크로스 플랫폼 프레임 워크입니다. 이 모든 플랫폼에 대한 기본 바이너리를 제공합니다.MCF 개발 시간을 단축 할 수 있습니다.이 네트워크 구성 요소를 모두 직접 코딩 할 필요는 없지만 간단한 API를 사용하여 Wi-Fi ad-hoc 모드 또는 via를 통해 암호화 된 연결에서 원하는 양의 데이터를 전송할 수 있습니다 특수 프록시 서버.

자세한 정보는 http://www.uvamobiltec.com입니다.

관련 문제