ภาษาโปรแกรมใดที่สามารถใช้ในการพัฒนาแอพพลิเคชั่น iPhone, iPod Touch และ iPad (iOS) ได้


84

ภาษาโปรแกรมใดที่สามารถใช้ในการพัฒนาแอพพลิเคชั่น iPhone, iPod Touch และ iPad (iOS) ได้

ในอนาคตมีแผนจะขยายจำนวนภาษาโปรแกรมที่ iOS จะรองรับหรือไม่?

คำตอบ:


46

Apple ยกเลิกข้อ จำกัด ของแอป C / C / C ++ ที่ไม่ใช่วัตถุประสงค์ - คุณไม่สามารถโหลดโค้ดที่ไม่ได้อยู่ใน App Bundle ได้

MonoTouch ให้คุณใช้ภาษา. NET - รองรับ C # โดยตรง แต่ถ้าคุณมี Windows คุณสามารถสร้างแอสเซมบลีในภาษา. NET และใช้งานได้

มีข่าวลือว่า Apple จะรองรับภาษาอื่น ๆ โดยตรง - ฉันได้ยินทับทิมอยู่เสมอ แต่เป็นเพียงข่าวลือ

ฉันคิดว่า Lua ถูกใช้เพื่อตรรกะของเกมในแอปจำนวนมาก

แก้ไข (ในปี 2018): โดยทั่วไปคุณสามารถใช้ภาษาใดก็ได้ที่คุณสามารถรวบรวมสำหรับ iOS หรือแม้แต่ติดตั้งล่ามภาษา สิ่งสำคัญที่คุณไม่สามารถทำได้คือโหลดโค้ดจากอินเทอร์เน็ตที่ไม่ได้อยู่ใน App Bundle

ผู้คนก็ทำเช่นนี้ตลอดเวลา (ดูที่ React Native apps ที่โหลด JavaScript จากเซิร์ฟเวอร์) แต่ในทางเทคนิคแล้วไม่อนุญาต สิ่งสำคัญที่จะทำให้คุณได้รับความสนใจจาก Apple หากคุณสร้าง App Store บางประเภทที่โหลดสิ่งที่คล้ายแอปทั้งหมด

แก้ไข (ในปี 2020): จาก @Pylot ในความคิดเห็น: ฉันรู้ว่านี่เป็นเวลานานแล้ว แต่อย่างน้อยในทางเทคนิคคุณสามารถโหลดโค้ดที่ไม่ได้ฝังอยู่ในแอพได้เนื่องจากคุณสามารถเขียนด้วย JavaScript โดยใช้ webview ไม่ตอบว่าคำตอบของคุณผิดหรืออะไรฉันเห็นด้วยกับคุณแน่นอน แต่ฉันกำลังมองหาบางสิ่งบางอย่างและพบโพสต์นี้ระหว่างทาง หากใครเห็นสิ่งนี้อาจช่วยพวกเขาได้


3
Objective-C ++ เป็นสะพานเชื่อมระหว่าง ObjC และ C ++ ดังนั้นจึงใช้ได้
Lou Franco

RubyMotion ให้คุณสร้างแอป iOS ดั้งเดิมโดยใช้ Ruby แม้ว่าจะไม่ฟรี
Uygar Y

1
ฉันลองใช้ Lua เพื่อหาตรรกะภายในแอปของฉันโดยมี luasqlite ด้วย (โซลูชันระดับองค์กรดังนั้นจึงไม่มีส่วนเกี่ยวข้องกับการปฏิเสธร้านค้าไม่ว่าจะเกิดขึ้นหรือไม่ก็ตาม) และฉันสามารถเป็นพยานได้ว่ามันทำงานได้อย่างยอดเยี่ยม โปรดทราบว่า Lua มีหน่วยความจำที่ต่ำมากดังนั้นคุณสามารถเรียกใช้ล่ามได้หลายสิบรายการในเวลาเดียวกันโดยไม่ต้องใช้หน่วยความจำมากถึง Mb (ซึ่งเป็นสิ่งที่ฉันทำ ... ) ดูคำตอบของ gran.pancho.villa เกี่ยวกับ Swift ด้วย
Rick77

1
ฉันรู้ว่านี่เป็นเวลานานแล้ว แต่อย่างน้อยในทางเทคนิคคุณสามารถโหลดโค้ดที่ไม่ได้ฝังอยู่ในแอพได้เนื่องจากคุณสามารถเขียนด้วย JavaScript โดยใช้ webview ไม่ตอบว่าคำตอบของคุณผิดหรืออะไรฉันเห็นด้วยกับคุณแน่นอน แต่ฉันกำลังมองหาบางสิ่งบางอย่างและพบโพสต์นี้ระหว่างทาง หากใครเห็นสิ่งนี้อาจช่วยพวกเขาได้
Pylot

@pylot - ฉันได้เพิ่มความคิดเห็นของคุณในคำตอบ - ขอบคุณ
Lou Franco

17

ข้อตกลง SDK และหลักเกณฑ์ของ App Store มีการเปลี่ยนแปลง (ประมาณกันยายน 2010)

ตอนนี้คุณสามารถใช้ภาษาคอมไพล์ใด ๆ ที่จะคอมไพล์เป็นรูปแบบไฟล์อ็อบเจ็กต์ ARM แบบคงที่เหมือนกับที่ Xcode สร้างขึ้นและจะเชื่อมโยงไปยัง (เฉพาะ) API สาธารณะภายในกรอบงานและไลบรารีของ Apple อย่างไรก็ตามคุณไม่สามารถใช้ภาษาที่คอมไพล์ JIT ได้เว้นแต่คุณจะคอมไพล์โค้ดออบเจ็กต์ทั้งหมดไว้ล่วงหน้าก่อนที่จะส่งให้ Apple ตรวจสอบ

คุณสามารถใช้ภาษาที่ตีความได้ตราบใดที่คุณฝังล่ามและไม่อนุญาตให้ล่ามหรือแอปดาวน์โหลดและเรียกใช้รหัสที่ตีความได้อื่นใดนอกจากรหัสที่มีอยู่ในชุดแอปก่อนส่งให้ Apple ตรวจสอบหรือพิมพ์ซอร์สโค้ด - ในโดยผู้ใช้

Objective C และ C น่าจะยังคงเป็นภาษาการเขียนโปรแกรมที่เหมาะสมที่สุดสำหรับสิ่งที่ต้องการประสิทธิภาพสูงและการรองรับ API ล่าสุด (* ดูการอัปเดตด้านล่าง) เนื่องจากเป็นภาษาที่ Apple กำหนดเป้าหมายไปที่กรอบงาน iOS และปรับแต่งชิปเซ็ตประมวลผล ARM Apple ยังสนับสนุนการใช้ Javascript / HTML5 ภายใน UIWebView ภาษาเหล่านี้เป็นภาษาเดียวที่ Apple ประกาศรองรับ อย่างอื่นคุณจะต้องหาการสนับสนุนจากที่อื่น

แต่ถ้าคุณต้องการจริงๆตอนนี้มีล่าม BASIC อย่างน้อยครึ่งโหลใน iOS App store ดังนั้นแม้กระทั่งวิธีการเขียนโปรแกรม "ยุคหิน" ก็ยังได้รับอนุญาต

เพิ่ม: (*) เมื่อปลายปี 2014 เราสามารถพัฒนาแอพโดยใช้ภาษาโปรแกรม Swift ใหม่ของ Apple ตั้งแต่ต้นปี 2015 ไบนารีที่ส่งจะต้องมีการรองรับ 64 บิต (arm64)


11

ด้วยแผนการที่จะเลิกใช้ Objective-C ที่ใช้งานมานานอย่างช้าๆ Apple ได้เปิดตัวภาษาการเขียนโปรแกรมใหม่ที่เรียกว่า Swift สำหรับการออกแบบแอพและแอพพลิเคชั่นให้ทำงานบนอุปกรณ์ Apple iOS และคอมพิวเตอร์ Apple Macintosh

Apple กล่าวว่า: " Swift เป็นภาษาการเขียนโปรแกรมใหม่สำหรับแอป iOS และ OS X ที่สร้างขึ้นจาก C และ Objective-C ที่ดีที่สุดโดยไม่มีข้อ จำกัด ของความเข้ากันได้ของ C Swift ใช้รูปแบบการเขียนโปรแกรมที่ปลอดภัยและเพิ่มคุณสมบัติที่ทันสมัยเพื่อให้การเขียนโปรแกรมง่ายขึ้นมากขึ้น ยืดหยุ่นและสนุกสนานมากขึ้นกระดานชนวนที่สะอาดของ Swift ซึ่งได้รับการสนับสนุนจากกรอบงาน Cocoa และ Cocoa Touch ที่เป็นผู้ใหญ่และเป็นที่ชื่นชอบเป็นโอกาสในการจินตนาการใหม่ว่าการพัฒนาซอฟต์แวร์ทำงานอย่างไร "

ขอแนะนำ swift

ใส่คำอธิบายภาพที่นี่


6

ภาษาโปรแกรมใดที่สามารถใช้เพื่อพัฒนาแอปพลิเคชัน iPhone, iPod Touch และ iPad (iOs) ได้

Ruby, Python, Lua, Scheme, Lisp, Smalltalk, C #, Haskell, ActionScript, JavaScript, Objective-C, C ++, C นั่นเป็นเพียงสิ่งที่ปรากฏในหัวของฉันตอนนี้ ฉันมั่นใจว่ามีอีกหลายร้อยคนถ้าไม่ใช่คนอื่น ๆ อีกหลายพันคน (เช่นมีเหตุผลว่าทำไมคุณไม่สามารถใช้ไม่มีใดภาษา .NET กับ MonoTouch เช่น VB.NET, F # Nemerle บูงูเห่า, ... )

นอกจากนี้ยังมีแผนในอนาคตที่จะขยายจำนวนภาษาโปรแกรมที่ iOs จะรองรับ?

แน่นอน สวยมากทุกชุมชนของภาษาการเขียนโปรแกรมบนโลกใบนี้กำลังทำงานอยู่ในภาษาของพวกเขาได้รับการวิ่งบน iOS

นอกจากนี้ผู้คนจำนวนมากกำลังทำงานกับภาษาโปรแกรมที่ออกแบบมาโดยเฉพาะสำหรับอุปกรณ์ระบบสัมผัสเช่น iPod touch, iPhone และ iPad เช่นภาษาThyrdของ Phil Mercurio


4
-1. Ruby, Python และ ActionScript ยังใช้ไม่ได้บน iOS ในอดีตมีความพยายามที่จะให้ CL และ Scheme ทำงาน แต่ฉันไม่คิดว่าสิ่งเหล่านี้เป็นข้อมูลล่าสุด ข้อตกลงเดียวกันกับ Haskell JavaScriptCore เป็นเฟรมเวิร์กส่วนตัวในขณะนี้ คุณสามารถเขียนสคริปต์ Objective-C โดยใช้ JS ใน webview ได้ แต่มันก็น่าเบื่อจริงๆ
Jonathan Sterling

4
@ โจนาธานสเตอร์ลิง: คุณควรบอกกับนักพัฒนาที่ขายแอพ Ruby ผ่าน App Store มานานกว่าหนึ่งปีแล้ว ฉันแน่ใจว่าพวกเขาสนใจที่จะเรียนรู้ว่าไม่มีแอปของพวกเขา
Jörg W Mittag

4
Rhomobile ไม่นับ สิ่งเหล่านี้ไม่ใช่แอปที่มาพร้อมเครื่องจริงๆ พวกเขาติดอยู่ในการดูเว็บ
Jonathan Sterling

@ โจนาธานสเตอร์ลิง: ฉันอาจจะไปปาร์ตี้ที่นี่ช้าไปหน่อย แต่ Actionscript รองรับบน iOS ผ่าน AIR สำหรับ iOS (และเป็นช่วงเวลาของความคิดเห็นเดิม ต.ค. -10) มันยังได้รับประสิทธิภาพที่ยอดเยี่ยมอีกด้วย ...
Marty Pitt

5

ภาษาการเขียนโปรแกรมของ iOS (และ Mac OS) คือ Objective-C และ C คุณต้องใช้แพลตฟอร์ม Xcode เพื่อพัฒนาแอป iOS ในเวอร์ชันถัดไปที่มีให้ใช้งานในรุ่นเบต้า Xcode 4 รองรับ C ++ ด้วย


คุณไม่จำเป็นต้องใช้ Xcode เพื่อพัฒนาแอป iOS หรือ Objective C หรือ C ++ ตัวอย่างเช่นคุณสามารถใช้ RubyMotion ซึ่งใช้ประโยชน์จากเครื่องมือบรรทัดคำสั่ง นอกจากนี้ยังมีโซลูชันการพัฒนาของบุคคลที่สามจำนวนมากสำหรับการพัฒนาแอปซึ่งสามารถทำงานบน iOS และ Android
Martin Lockett

4

ตอนนี้สามารถใช้ OCaml เพื่อพัฒนาแอปพลิเคชัน iOS ได้แล้ว ไม่ได้เป็นส่วนหนึ่งของการแจกจ่ายมาตรฐานและต้องมีการแก้ไขโดย บริษัท Psellos ดูที่นี่สำหรับข้อมูลเพิ่มเติม: http://psellos.com/ocaml/


2

นี่อาจเป็นกระทู้เก่า แต่ฉันต้องการพูดถึงAppcelerator Titaniumซึ่งช่วยให้ทุกคนที่มีประสบการณ์ใน HTML5 / JavaScript / CSS สามารถพัฒนาแอปพลิเคชัน iOS ได้


ถ้าฉันจำไม่ผิดคุณสามารถสลับ JavaScript กับ Ruby หรือ Python ได้เมื่อใช้ Titanium
Torbjørn

2

ตอนนี้อนุญาตเฉพาะ Objective-C เท่านั้น ... แต่ไม่กี่เดือนที่ผ่านมาคุณได้รับอนุญาตให้เขียนสคริปต์ที่จะตีความในแอปพลิเคชันของคุณ

ดังนั้นคุณอาจสามารถเขียนล่าม LUA หรือล่าม Python จากนั้นเขียนบางส่วนของแอปพลิเคชันของคุณในภาษาสคริปต์นี้ หากคุณต้องการให้แอปพลิเคชันของคุณได้รับการยอมรับบน App Store สคริปต์เหล่านี้จะต้องมาพร้อมกับแอปพลิเคชัน (ตัวอย่างเช่นแอปพลิเคชันของคุณไม่สามารถดาวน์โหลดได้จากอินเทอร์เน็ต)

ดูกฎใหม่ของ App Store


1

วัตถุประสงค์ -c เป็นภาษาหลักที่ใช้

ฉันเชื่อว่ามีmono touch frameworkที่สามารถใช้กับ c #

Adobe ยังทำงานในเครื่องมือบางอย่างเช่นiPhone Packagerซึ่งสามารถใช้รหัส actionscript ได้


ลิงค์ดูเหมือนจะตาย?
Zameer Ansari

1

คุณสามารถใช้ภาษาโปรแกรม "smart BASIC" เป็นภาษาพื้นฐานที่แท้จริง แต่ล้ำหน้ามากด้วยพลังและความเรียบง่าย ด้วยการใช้ SDK ฟรีโค้ด BASIC สามารถเผยแพร่เป็นแอปพลิเคชัน App Store แบบสแตนด์อโลน มีแอพมากมายใน App Store ที่เขียนด้วยภาษาโปรแกรม "smart BASIC"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.