iPhone, iPod Touch 및 iPad (iOS) 응용 프로그램을 개발하는 데 사용할 수있는 프로그래밍 언어는 무엇입니까?


84

iPhone, iPod Touch 및 iPad (iOS) 응용 프로그램을 개발하는 데 사용할 수있는 프로그래밍 언어는 무엇입니까?

또한 iOS가 지원할 프로그래밍 언어의 양을 확장 할 계획이 있습니까?

답변:


46

Apple은 비 목표 C / C / C ++ 앱에 대한 제한을 해제했습니다. 앱 번들에없는 코드는로드 할 수 없습니다.

MonoTouch를 사용하면 .NET 언어를 사용할 수 있습니다. C #은 직접 지원되지만 Windows가있는 경우 모든 .NET 언어로 어셈블리를 만들어 사용할 수 있습니다.

애플이 다른 언어를 직접 지원할 것이라는 소문이 있습니다. 루비는 계속 들리지만 소문 일뿐입니다.

Lua는 많은 앱에서 게임 로직에 사용되고 있다고 생각합니다.

편집 (2018 년) : 일반적으로 iOS 용으로 컴파일하거나 언어 인터프리터를 설치할 수있는 모든 언어를 사용할 수 있습니다. 할 수없는 가장 중요한 것은 앱 번들에없는 코드를 인터넷에서로드하는 것입니다.

어쨌든 사람들은이 작업을 항상 수행하지만 (서버에서 JavaScript를로드하는 React Native 앱 참조) 기술적으로는 허용되지 않습니다. 전체 앱과 유사한 것을로드하는 일종의 App Store를 만들면 Apple의 관심을 끌 것입니다.

편집 (2020 년) : @Pylot에서 주석 : 오래 전 일이라는 것을 알고 있지만 이제는 웹뷰를 사용하여 JavaScript로 작성할 수 있으므로 적어도 기술적으로 앱에 포함되지 않은 코드를로드 할 수 있습니다. 당신의 대답을 지키지 않는 것은 잘못된 것입니다. 나는 당신에게 확실히 동의합니다. 그러나 나는 무언가를 찾고 있었고 도중에이 게시물을 발견했습니다. 누군가 이것을 본다면 도움이 될 것이라고 생각했습니다.


3
Objective-C ++는 ObjC와 C ++ 사이의 다리이므로 괜찮습니다.
Lou Franco

RubyMotion을 사용하면 Ruby를 사용하여 네이티브 iOS 앱을 빌드 할 수 있습니다. 그래도 무료가 아닙니다.
Uygar Y

1
나는 luasqlite와 함께 내 앱 내의 로직에 대해 Lua를 시도했고 (엔터프라이즈 솔루션이므로 발생 여부에 관계없이 스토어 거부가 개입 될 수 없음) 훌륭하게 작동 함을 증언 할 수 있습니다. Lua는 메모리 공간이 매우 적기 때문에 실제로 Mb의 메모리를 소비하지 않고도 동시에 수십 개의 인터프리터를 실행할 수 있습니다 (실제로 수행 한 작업입니다 ...). Swift에 대한 gran.pancho.villa 답변도 참조하십시오.
Rick77 2014-06-19

1
오래 전 일이라는 것을 알고 있지만 이제는 웹뷰를 사용하여 JavaScript로 작성할 수 있으므로 적어도 기술적으로는 앱에 포함되지 않은 코드를로드 할 수 있습니다. 당신의 대답을 지키지 않는 것은 잘못된 것입니다. 나는 당신에게 확실히 동의합니다. 그러나 나는 무언가를 찾고 있었고 도중에이 게시물을 발견했습니다. 누군가 이것을 본다면 도움이 될 것이라고 생각했습니다.
Pylot

@pylot-답변에 귀하의 의견을 추가했습니다-감사합니다
Lou Franco

17

SDK 계약 및 앱 스토어 지침이 변경되었습니다 (2010 년 9 월경).

이제 Xcode가 생성하는 것과 동일한 정적 ARM 개체 파일 형식으로 컴파일되고 Apple의 프레임 워크 및 라이브러리 내의 공용 API에만 연결되는 컴파일 된 언어를 사용할 수 있습니다. 그러나 검토를 위해 Apple에 제출하기 전에 모든 개체 코드를 미리 컴파일하지 않는 한 JIT 컴파일 언어를 사용할 수 없습니다.

인터프리터를 임베드하는 한 모든 인터프리터 언어를 사용할 수 있으며, 인터프리터 또는 앱이 검토를 위해 Apple에 제출하기 전에 앱 번들에 빌드 된 코드 또는 입력 된 소스 코드 이외의 해석 가능한 코드를 다운로드하고 실행하는 것을 허용하지 않습니다. -사용자에 의해.

Objective C와 C는 Apple이 iOS 프레임 워크를 대상으로하고 ARM 프로세서 칩셋을 조정하는 언어이기 때문에 고성능과 최신 API 지원 (* 아래 업데이트 참조)이 필요한 모든 것에 가장 적합한 프로그래밍 언어 일 것입니다. Apple은 또한 UIWebView 내에서 Javascript / HTML5 사용을 지원합니다. Apple이 지원을 발표 한 유일한 언어입니다. 다른 곳에서 지원을 찾아야 할 것입니다.

그러나 정말로 원한다면 iOS 앱 스토어에 최소 6 개의 BASIC 인터프리터가 있으므로 이제 "Stone Age"프로그래밍 방법론도 허용됩니다.

추가됨 : (*) 2014 년 말부터 Apple의 새로운 Swift 프로그래밍 언어를 사용하여 앱을 개발할 수도 있습니다. 2015 년 초부터 제출 된 바이너리에는 64 비트 (arm64) 지원이 포함되어야합니다.


11

오랫동안 사용 된 Objective-C를 서서히 폐기 할 계획에 따라 Apple은 Apple iOS 장치 및 Apple Macintosh 컴퓨터에서 실행할 앱과 응용 프로그램을 설계하기 위해 Swift라는 새로운 프로그래밍 언어를 도입했습니다.

Apple은 다음과 같이 말합니다. " Swift는 C 호환성의 제약없이 C 및 Objective-C를 기반으로 구축 된 iOS 및 OS X 앱용 새로운 프로그래밍 언어입니다. Swift는 안전한 프로그래밍 패턴을 채택하고 최신 기능을 추가하여 프로그래밍을보다 쉽고 간편하게 수행 할 수 있습니다. 유연하고 더 재미 있습니다. 성숙하고 많은 사랑을받는 Cocoa 및 Cocoa Touch 프레임 워크가 뒷받침하는 Swift의 깔끔한 슬레이트는 소프트웨어 개발 작동 방식을 재창조 할 수있는 기회입니다. "

Swift 소개

여기에 이미지 설명 입력


6

iPhone, iPod Touch 및 iPad (iO) 응용 프로그램을 개발하는 데 사용할 수있는 프로그래밍 언어는 무엇입니까?

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C. 바로 지금 제 머릿속에 떠오르는 것들입니다. 수천 명은 아니더라도 수백 개가있을 거라고 확신합니다. (예 : 당신이 사용할 수없는 이유를 이유가 없다 어떤 MonoTouch, 즉, VB.NET, F 번호, Nemerle, 우우, 코브라와 .NET 언어, ...)

또한 앞으로 iO가 지원할 프로그래밍 언어의 양을 확장 할 계획이 있습니까?

확실한. 이 행성의 거의 모든 프로그래밍 언어 커뮤니티는 현재 iOS에서 언어를 실행하기 위해 노력하고 있습니다.

또한 많은 사람들이 iPod touch, iPhone 및 iPad와 같은 터치 장치 용으로 특별히 설계된 프로그래밍 언어 (예 : Phil Mercurio의 Thyrd 언어)를 작업하고 있습니다.


4
-1. Ruby, Python 및 ActionScript는 아직 iOS에서 작동하지 않습니다. 과거에는 CL 및 Scheme을 실행하려는 시도가 있었지만 최신 버전이라고 생각하지 않습니다. Haskell과 같은 거래. JavaScriptCore는 현재 개인 프레임 워크입니다. 웹뷰에서 JS를 사용하여 Objective-C를 스크립팅 할 수 있지만 정말 어색합니다.
Jonathan Sterling

4
@Jonathan Sterling : 1 년 넘게 App Store를 통해 Ruby 앱을 판매 해 온 개발자에게이 사실을 알려야합니다. 나는 그들이 그들의 앱이 존재하지 않는다는 것을 배우고 싶어 할 것이라고 확신합니다.
Jörg W Mittag

4
Rhomobile은 중요하지 않습니다. 그것들은 실제 네이티브 앱이 아닙니다. 그들은 단지 webview에 갇혀 있습니다.
Jonathan Sterling

@Jonathan Sterling : 여기 파티에 조금 늦었을 수 있지만 Actionscript는 iOS 용 AIR를 통해 iOS에서 지원됩니다. (그리고 그것은 원래 코멘트 10 월 10 일 당시였습니다). 그것은 또한 꽤 훌륭한 성능을 얻습니다 ...
Marty Pitt

5

iOS (및 Mac OS)의 프로그래밍 언어는 Objective-C 및 C입니다. 현재 베타 릴리스에서 사용할 수있는 다음 버전에서 Xcode 플랫폼을 사용하여 iOS 앱을 개발해야합니다. Xcode 4는 C ++도 지원합니다.


iOS 앱이나 Objective C 또는 C ++를 개발하기 위해 Xcode를 사용할 필요가 없습니다. 예를 들어 명령 줄 도구를 사용하는 RubyMotion을 사용할 수 있습니다. 또한 iOS 및 Android에서 실행할 수있는 앱을 개발하기위한 여러 타사 개발 솔루션이 있습니다
Martin Lockett

4

이제 iOS 애플리케이션 개발에 OCaml을 사용할 수도 있습니다. 표준 배포의 일부가 아니며 Psellos 회사에서 제공하는 수정이 필요합니다. 자세한 내용은 http://psellos.com/ocaml/ 을 참조하십시오 .


2

이것은 오래된 스레드 일 수 있지만 HTML5 / JavaScript / CSS에 정통한 모든 사람이 iOS 애플리케이션을 개발할 수 있도록 허용하는 Appcelerator Titanium 을 언급하고 싶습니다 .


내가 착각하지 않았다면 Titanium을 사용할 때 JavaScript를 Ruby 또는 Python으로 바꿀 수 있습니다.
Torbjørn

2

지금은 Objective-C 만 허용되지만 몇 달 전부터 애플리케이션에서 해석 될 스크립트를 작성할 수 있습니다.

따라서 LUA 인터프리터 또는 Python 인터프리터를 작성한 다음이 스크립팅 언어로 애플리케이션의 일부를 작성할 수 있습니다. 응용 프로그램을 App Store에서 수락하려면 이러한 스크립트를 응용 프로그램과 함께 제공해야합니다 (예 : 응용 프로그램은 인터넷에서 다운로드 할 수 없음).

참조 새로운 앱 스토어 규칙을



1

"스마트 BASIC"프로그래밍 언어를 사용할 수 있습니다. 그것은 모든 힘과 단순함을 가진 진짜이지만 매우 진보 된 BASIC 언어입니다. 무료 SDK를 사용하면 BASIC 코드를 독립형 App Store 애플리케이션으로 쉽게 게시 할 수 있습니다. App Store에는 "smart BASIC"프로그래밍 언어로 작성된 많은 앱이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.