iPhone / Android 애플리케이션 개발을위한 멀티 플랫폼 프레임 워크가 있습니까?[닫은]

StackOverflow https://stackoverflow.com/questions/30953

문제

iPhone 및 Android 플랫폼 용 애플리케이션을 작성하는 데 관심이 있습니다.API의 일부 차이점을 추상화하고 빌드시 대상 플랫폼을 지정할 수있는 미들웨어 / 프레임 워크를 찾고 싶었습니다.그러한 프레임 워크가 존재하거나 계획되어 있습니까?

도움이 되었습니까?

해결책

Phonegap 은 iPhone, Android 및 Blackberry를 대상으로하는 javascript / css / html 기반 프레임 워크입니다. 그것은 (적어도 아이폰에서는) 네이티브 앱으로도 번들로 제공 될 수 있습니다. 이러한 앱의 UI 레이어는 일반적으로 html / javascript로 빌드되며 실제 네이티브 앱보다 느릴 수 있습니다.

phonegap <시간>

React Native 를 사용하면 자바 스크립트 및 React를 기반으로 일관된 개발자 환경을 사용하여 네이티브 플랫폼에서 세계적 수준의 애플리케이션 환경을 구축 할 수 있습니다. React Native의 초점은 관심있는 모든 플랫폼에서 개발자의 효율성에 있습니다. 한 번 배우고 어디서나 작성하세요. Facebook은 여러 프로덕션 앱에서 React Native를 사용하며 React Native에 계속 투자 할 것입니다. React Native 애플리케이션의 UI는 기본 컨트롤입니다. 따라서 UI는 일반적으로 GUI 관리를위한 순수한 HTML / 자바 스크립트 접근 방식보다 빠릅니다.

React Native <시간>

Unity 는 Unity Technologies에서 개발 한 교차 플랫폼 게임 엔진으로 PC, 콘솔, 휴대 기기 및 웹 사이트 용 비디오 게임을 개발하는 데 사용됩니다. Unity는 게임을 여러 플랫폼으로 타겟팅하는 기능으로 유명합니다. 지원되는 플랫폼에는 Android, Apple TV, BlackBerry 10, iOS, Linux, Nintendo 3DS 라인, OS X, PlayStation 4, PlayStation Vita, Unity Web Player (Facebook 포함), Wii, Wii U, Windows Phone 8, Windows, Xbox 360, 및 Xbox One.

Unity <시간>

OpenFL 은 Flash API의 오픈 소스 포트입니다. 데스크탑, 브라우저, iOS, 안드로이드, 플래시, HTML5 등 Flash 세계에서 온 사람들을 고려할 수있는 옵션입니다. 네이티브 바이너리로 빌드되고 브라우저도 대상으로합니다 (Flash / HTML5).

openfl <시간>

MonoGame 은 Microsoft XNA 4.x 프레임 워크의 오픈 소스 구현입니다. XNA 개발자는 코드 재 사용률이 매우 높은 크로스 플랫폼 게임을 쉽게 만들 수 있습니다. 현재 iOS, Android, Windows (OpenGL 및 DirectX 모두), Mac OS X, Linux, Windows 8 Store, Windows Phone 8, PlayStation Mobile 및 OUYA 콘솔을 지원합니다.

모노 게임 <시간>

Adobe Flash 믿거 나 말거나 Adobe Flash는 기본 바이너리를 iOS, Android, 데스크톱 및 웹에 게시 할 수 있습니다. 성능은 합리적이지만 놀랍지는 않습니다. Flash 게임이 있다면 모바일로 매우 쉽게 가져올 수 있습니다. 그리고 이것은 어떤 종류의 플러그인도 필요하지 않습니다. 실제로 각 플랫폼에서 실행되는 기본 독립 실행 형 바이너리를 생성합니다.

adobe

다른 팁

편집 :이 질문을받은 이후 여러 실행 가능한 솔루션이 개발되었습니다. 이 답변의 어조는 여전히 정확할 수 있지만 (HW / OS에서 100 % 이익을 얻으려면 기본 앱이 필요할 수 있음)이 질문 아래에서 가능한 여러 답변을 찾을 수 있습니다.

Android와 iPhone 모두 매우 강력하게 정의 된 사용자 인터페이스를 가지고 있습니다. 가장 낮은 측면 수준 (Android는 사용자 지정 VM 위에 Java로 프로그래밍되고 iPhone은 Objective-C로 프로그래밍 된 네이티브 코드)과 더 높은 수준 (iPhone 앱은 완전히 샌드 박스 화되고 격리 된 Android 개체 모델이 배포되고 클래스가 앱과 라이브러리간에 자유롭게 호출됩니다. 최종 앱은 둘 중 하나에서 이질적이고 제자리에 있지 않습니다. Android의 멀티 터치 부족 또는 iPhone의 전용 하드웨어 버튼 부족에 대해 생각해보십시오.

가장 좋은 방법은 플랫폼 별 사용자 인터페이스를 개발하고 일종의 스크립팅 언어로 애플리케이션의 모델과 핵심 논리를 갖는 것입니다. 그런 다음 일반 C (아이폰 용)와 자바 (안드로이드 용)로 된 인터프리터를 찾으십시오. Scheme, Lisp 및 Javascript가 이에 맞을 수 있습니다. 통역사가 최종 사용자에게 노출되지 않도록하십시오. 그렇지 않으면 iPhone NDA를 위반하게됩니다 ...

앱이 데이터를 많이 사용하는 경우 많은 iPhone 앱의 모델을 따르고 iPhone 및 Android 용 기본 사용자 인터페이스를 개발할 수 있으며 원격 서버에 모든 애플리케이션 로직을 보유 할 수 있습니다. UI는 응용 프로그램의 유일한 설치 부분이되고 나머지는 모두 인터넷에서 호스팅됩니다. 이는 서로 다른 장치와 웹 인터페이스간에 로밍 프로필을 제공 할 수 있다는 추가 이점이 있습니다.

여기에 다른 서비스 추가 : Rhomobile 은 이것을 만들려고합니다.90 년대 초의 웹을 떠올려보세요.하지만 좋아하는 앱을 모든 주요 모바일 플랫폼에 이식하는 가장 쉬운 방법 일 수 있습니다.

자세한 내용 : Rhomobile 약속: 한 번만 빌드하여 모든 스마트 폰에 배포

(참고 : 저는 Rhomobile에서 일하지 않습니다. 오늘 이야기를 들었습니다.)

iPhone 또는 Android에 대한 직접적인 경험은 없지만 "Titanium"에 대한 기사를 읽은 후 해당 사이트를 방문했을 때 다음을 발견했습니다.

http://www.appcelerator.com/products/titanium-mobile/

저는 "네이티브"솔루션 인 Obj-C와 Java (4 Android)를 꽤 많이 사용합니다. 또한 잘 작동하는 iPhone 및 Android 용 Appcelerator로 앱을 빌드합니다. Appcelerator API는 매우 광범위합니다. Appcelerator Kitchen Sink 앱은 앱에 포함 할 준비가 된 많은 요소와 기능을 보여줍니다 ( https://github.com/ appcelerator / KitchenSink ). 그러나 내 Appcelerator 앱은 너무 복잡하지 않기 때문에 일반적으로 권장하는 것이 편하지 않습니다. 동료는 개발팀이 시도했지만 만족하지 않는다고 말했습니다. 그는 진짜 이유를 말할 수 없었습니다. 그러나 한계가 어디 있는지 확인하기 위해 테스트를 계속할 것입니다. 한 가지 큰 제한은 플랫폼 지원입니다 (현재 iOS 및 Android 만 해당).

Rhodes의 경우이 솔루션은 특히 지원되는 플랫폼 측면에서 매우 인상적입니다. 그래도 몇 가지 문제가 있습니다. 첫째, 데모 앱과 주방 싱크 앱은 많은 디스크 공간을 필요로하고, 약간 고르지 않게 실행되고 가끔 펑키 해 보입니다 (적어도 Android에서는). 둘째, 찾을 "실제"응용 프로그램이 거의 없습니다. 즉, 최소 1000 회 이상 다운로드되고 데모 목적 이외의 실제 요구 사항을 충족하는 앱을 의미합니다. 나에게 사용성은 모바일 (소비자) 앱에서 최우선 순위입니다!

HTML / CSS / JavaScript / PhoneGap 앱에 큰 잠재력이 있습니다. 최근에 HTML (5)을 사용하여 앱을 구축하는 대기업에 대한 기사를 많이 읽었습니다 (예 : Netflix http://mashable.com/2010/12/03/netflix-html5/ , Zynga http://www.spielsucht24.de/2010/12/21/zynga-launches-html5-mafia-wars- atlantic-city-for-mobile-web / ) 웹 기술로 모바일 앱을 구축 할 때 해결해야 할 사용 성과 민첩성에 여전히 몇 가지 문제가 있습니다. 또 다른 문제는 엔터프라이즈 수준 HTML 앱의 테스트, 디버깅 및 유지 관리 일 수 있습니다.

Rhomobile 의 Rhodes 프레임 워크가이를 수행합니다.Rhodes 앱은 각 개별 스마트 폰에 기본 제공됩니다.

Mytopia 에는 RUGS라는 출시되지 않은 프레임 워크가 있습니다.그들은 최근 TechCrunch 50 컨퍼런스에서 발표했고 그들의 기술은 매우 흥미로워 보였습니다.그들은 모든 스마트 폰 플랫폼에서 실행되는 애플리케이션을 컴파일 할 수있었습니다 (예를 들어 iPhone의 가속도계 각각의 기능을 활용할 수있었습니다).불행히도 웹 사이트 에 더 많은 정보를 원하면 이메일을 보내야한다고 나와 있습니다.크로스 플랫폼 스마트 폰 타겟 시스템에서 개발하고 싶다면 이메일을 보낼 가치가 있습니다.

TC50 웹 캐스트를 통해 프레젠테이션을 봤지만 안타깝게도 지금은 동영상을 찾을 수 없습니다.

사용하기로 결정한 프레임 워크와 선택한 이유에 대한 요약과 함께 여기에 다시 게시하세요.

QuickConnectiPhone을 사용하면 자바 스크립트로 앱을 작성할 수 있지만 여전히 설치할 수 있습니다.현재 Android 버전은 출시되지 않은 알파 버전입니다.

둘 다 사용하면 자바 스크립트, CSS 및 HTML로 앱을 만들고 진동, GPS 위치 등과 같은 기기 동작을 위해 iPhone 또는 Android 휴대 전화로 전화를 걸 수 있습니다.

iPhone 버전은 https://sourceforge.net/projects/quickconnect/ 에서 다운로드 할 수 있습니다.저에게 연락하시면 Android 버전을 보내드릴 수 있습니다.

정말로 원한다고해도 자신 만의 다중 플랫폼 프레임 워크를 만드는 것은 실용적이지 않습니다. iPhone은 네이티브 코드이고 Android는 Java입니다.

물론, 데스크톱 애플리케이션의 핵심 C / C ++ 로직을 iPhone과 공유하는 것과 같이 사용자를 방해하는 것은 없습니다.

확인 :

http://www.xmlvm.org/overview/

다양한 소스 언어로 작성된 프로그램을 다양한 대상 언어로 크로스 컴파일 할 수 있도록 시도하는 프로젝트입니다.초기 테스트 사례 중 하나는 Java로 프로그램을 작성하고 iPhone에서 실행하는 것이 었습니다.사이트에서 비디오를 보는 것은 가치가 있습니다.그들은 또한 Android를 타겟팅 할 수있는 가능성에 대해 논의했습니다.

그 말로는 시도한 적이 없습니다.이 프로젝트는 베타 버전으로 보이며 SourceForge 사이트에는 많은 활동이 없습니다.

iSpectrum을 사용하여 iPhone 용 Java 애플리케이션을 개발할 수 있습니다. 이렇게하면 Android와 iPhone (그리고 수행하는 작업에 따라 데스크톱 애플릿 또는 J2ME MIDlet)간에 일관된 양의 애플리케이션 코드를 재사용 할 수 있습니다.)

자세한 정보는 http://www.flexycore.com

최선의 선택은 AirPlay입니다. AirPlay 웹 사이트 를 방문하세요.

한 번의 클릭으로 Android, Iphone, Samsung Bada, Symbian, Windows Mobile, BREW, WebOS 및 Maemo 용으로 배포 할 수 있습니다.

내 책 iOS 및 Android 용 HTML5를 사용하면 HTML, JavaScript 및 CSS로 만든 웹 앱을 앱 스토어에 업로드 할 수있는 독립형 앱으로 전환 할 수 있습니다 (무료 또는 판매용) – http://html5formobile.com -iOS 및 Android SDK 용으로이 작업을 수행하는 래퍼는 웹 사이트에서 무료로 사용할 수 있습니다.책의 지침을 따르면 프로그래밍 언어에 대한 지식이 필요합니다.

이 질문이 다소 오래되었다는 것을 알고 있지만 Google 검색에 표시되므로 업데이트하는 것이 좋습니다.

현재 두 플랫폼을 모두 대상으로하고 실제로 네이티브로 실행되는 좋은 프레임 워크는 Corona가 될 것이라고 생각합니다.

링크 : http://www.anscamobile.com/corona/

Ice-Touch 미들웨어를 사용하여 iPhone과 Android 기기가 동일한 서버와 통신하는 데 성공했습니다.네트워크 객체와 메소드를위한 꽤 괜찮은 코드 생성으로.하지만 로컬 로직은 여전히 전화 언어로 작성되어야합니다.이렇게하면 모델이 동일한 서버에 있고 컨트롤러가 자동 생성되는 동안 각각의 UI 이점을 활용할 수 있습니다.

링크 텍스트

Gears 플러그인을 사용하는 웹 애플리케이션이 지리적 위치 ( 더 이상 사용할 수 없음 ) (GPS 및 Wi-Fi 위치 서비스) 및 Android에서 작동합니다 (G1의 브라우저는 내장 Gears 지원과 함께 제공됨)..

iPhone에서 기어 지원을받을 수 있을지 확신 할 수 없지만, 다양한 기기를 사용하면서 추가 기능을 갖춘 웹앱을 구축하는 또 다른 유용한 접근 방식입니다.

이러한 프레임 워크는 본질적으로 가속도계 또는 다중 손가락 동작과 같은 iPhone 전용 기능을 활용할 수 없습니다.또한 Apple의 SDK 약관이 무효화 될 수 있습니다.

andyuk이 제안했듯이 웹 앱 작성을 고려합니다.누군가에게 전화를 거는 것과 같은 기본 기능은 그런 방식으로 액세스 할 수 있습니다 .

존재하는 것이 없으며 (기대할 가치가있는) 공식적인 계획이 있을지 의심 스럽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top