program story

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

inputbox 2020. 12. 10. 19:55
반응형

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


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


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

폰갭


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

네이티브 반응


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.

단일성


OpenFL 은 데스크톱, 브라우저, iOS, Android, Flash, HTML5 등에 대한 Flash API의 오픈 소스 포트입니다. 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 게임이 있다면 모바일로 매우 쉽게 가져갈 수 있습니다. 그리고 이것은 어떤 종류의 플러그인도 필요하지 않습니다. 실제로 각 플랫폼에서 실행되는 기본 독립 실행 형 바이너리를 생성합니다.

어도비 벽돌


편집 :이 질문이 제기 된 이후 많은 실행 가능한 솔루션이 개발되었습니다. 이 답변의 어조는 여전히 정확할 수 있지만 (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을 사용하면 JavaScript로 앱을 작성할 수 있지만 여전히 설치할 수 있습니다. Android 버전은 현재 출시되지 않은 알파 버전입니다.

둘 다 사용하면 JavaScript, CSS 및 HTML로 앱을 만들고 진동, GPS 위치 등과 같은 장치 동작을 위해 iPhone 또는 Android 전화를 호출 할 수 있습니다.

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


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

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


이것을 확인하십시오 :

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

It is a project that attempts to be able to cross-compile programs written in a variety of source languages to a variety of target languages. One of the initial test cases was to write programs in Java and run them on an iPhone. Watching the video on the site is worthwhile. They have discussed the possibility of being able to target Android as well.

With that said, I haven't tried it. The project seems quite beta, and there isn't a lot of activity on their SourceForge site.


You can develop Java applications for IPhone with iSpectrum. This way you'll be able to re-use a consistent amount of your application code between Android and iPhone (and possibly desktop applets or J2ME MIDlets depending of what you do :) )

More infos at http://www.flexycore.com


Your best choice will be AirPlay, visit AirPlay web site

One click and you deploy for Android, Iphone, Samsung Bada, Symbian, Windows Mobile, BREW, WebOS and Maemo.


My book HTML5 for iOS and Android enables you to take web apps created in HTML, JavaScript & CSS, and turn them into standalone apps that you can upload to the app stores (for free or to sell) – http://html5formobile.com - the wrappers to do this for the iOS and Android SDKs are freely available on the website, and you don't need any knowledge of either programming language if you follow the instructions in the book.


I realize that this question is rather old, but it comes up on Google searches, so I thought it would be a good idea to update it.

I think a good framework out right now that targets both platforms and actually runs native, allowing to write good performing games would be Corona.

Link: http://www.anscamobile.com/corona/


we've had success with Ice-Touch middleware to have both iPhone and Android devices talking to same servers. with pretty decent code generation for network objects and methods. but local logic still has to be written in phone's language. this way we could leverage the UI advantages of each, while our model lives on the same server and our controllers are autogenerated.

link text


I just wanted to mention that a web application using the Gears plugin can make use of Geolocation (No longer Avaliable) (GPS and Wifi location services) and this works on Android (the browser on the G1 ships with built-in Gears support).

I'm not sure if there's hope of getting gears support onto an iPhone, but it's another useful approach to building webapps with extra features while still having a wide reach of devices.


Such a framework, by nature, couldn't take advantage of iPhone-specific features like the accelerometer or multi-finger gestures. It would also likely void Apple's SDK terms.

As andyuk suggested, consider writing a Web app. Basic features such as calling someone can be accessed that way.


There's nothing existing (worth relying on, if anything at all), and I doubt that there would ever be anything official planned.

참고URL : https://stackoverflow.com/questions/30953/is-there-a-multiplatform-framework-for-developing-iphone-android-applications

반응형