ฉันรู้ว่า Android ใช้ภาษา Java ด้วย Java SDK ที่ จำกัด และ Google อ้างว่าไม่ใช่ Java แต่มันถูกต้องหรือไม่ที่จะบอกว่า Android เป็นภาษาโปรแกรม? หรือเป็นสิทธิที่จะกล่าวว่า Android เป็นกรอบใน Java? หรือว่าเป็นจริงทั้งคู่?
ฉันรู้ว่า Android ใช้ภาษา Java ด้วย Java SDK ที่ จำกัด และ Google อ้างว่าไม่ใช่ Java แต่มันถูกต้องหรือไม่ที่จะบอกว่า Android เป็นภาษาโปรแกรม? หรือเป็นสิทธิที่จะกล่าวว่า Android เป็นกรอบใน Java? หรือว่าเป็นจริงทั้งคู่?
คำตอบ:
Android เป็นระบบปฏิบัติการ (และอื่น ๆ ดูด้านล่าง) ซึ่งมีกรอบของตัวเอง แต่มันไม่ใช่ภาษาอย่างแน่นอน
Android เป็นซอฟต์แวร์สแต็กสำหรับอุปกรณ์มือถือที่มีระบบปฏิบัติการมิดเดิลแวร์และแอปพลิเคชันหลัก Android SDK มีเครื่องมือและ API ที่จำเป็นในการเริ่มต้นพัฒนาแอพพลิเคชั่นบนแพลตฟอร์ม Android โดยใช้ภาษาการเขียนโปรแกรม Java
Android ไม่ได้ใช้ภาษาจาวา มีกระบวนการรวบรวมแบบออฟไลน์ที่แปล JVM bytecode เป็น Dalvik bytecode ที่ Android เข้าใจ แต่ไม่มีอะไรที่มาพร้อมกับ Android ที่เข้าใจหรือทำงานกับ Java โดยตรง แต่คุณใช้เครื่องมือที่มีอยู่อื่นเพื่อคอมไพล์ Java (หรือภาษา JVM อื่น ๆ ) ไปยัง bytecode จากนั้นมอบให้ Dalvik เพื่อดำเนินการต่อไป
Java เป็นเพียงภาษาที่ได้รับการสนับสนุนสำหรับการพัฒนา Android Google เลือกที่จะสร้างและ SDK สำหรับภาษา Java และปลั๊กอินสำหรับ Eclipse Java IDE ที่เป็นที่นิยมดังนั้นจึงมีชุดเครื่องมือที่ใช้งานได้ง่ายเพื่อสร้างแอป Android ในภาษาที่เป็นที่นิยม
ส่วนที่สับสนที่นี่คือ Java ภาษาและ Java เครื่องเสมือนเป็นสองสิ่งที่แตกต่างกัน เมื่อโปรแกรม Java มาตรฐานทำงานบนพีซีของคุณก็คือโค้ดที่ทำงานซึ่งรวบรวมเป็นโค้ดไบต์เพื่อใช้ใน Java Virtual Machine ของ Sun Microsystems โดยทั่วไป Android มีเครื่องเสมือนของตัวเองที่ใช้งานโค้ดไบต์เช่นกัน เมื่อคุณรันและแอพ Android รหัสการทำงานของมันจะถูกรวบรวมเป็นรหัสไบต์ที่เครื่องเสมือน Android เข้าใจ ดังนั้นในขณะที่ Java เป็นภาษาที่คุณเลือกคุณสามารถเขียนแอพ Android ในภาษาใด ๆ หากคุณมีวิธีการรวบรวมมันลงในรหัสไบต์ Android (แม้ว่าฉันจะไม่คิดว่าเครื่องมือใด ๆ จะมีให้สำหรับภาษาอื่น ๆ )
dx
สามารถทำงานใด ๆ JVM bytecode: Java, Jython, สกาล่าจะเลือกของคุณ โดยอัตโนมัติส่วนใหญ่จะเกี่ยวข้องกับการปรับเปลี่ยนกฎมด
Android เป็นแพลตฟอร์มโอเพ่นซอร์สฟรีสำหรับทุกคนที่จะใช้ ระบบปฏิบัติการ Android เป็นระบบลีนุกซ์ผู้ใช้หลายคนซึ่งแต่ละแอปพลิเคชันเป็นผู้ใช้ที่แตกต่างกัน และ Android ต้องใช้ Linux เวอร์ชัน 2.6 สำหรับบริการระบบหลักเช่นความปลอดภัยการจัดการหน่วยความจำการจัดการกระบวนการเครือข่ายสแต็คและรุ่นไดรเวอร์
Android เป็นซอฟต์แวร์โอเพ่นซอร์สสแต็ค (โซลูชันสแต็กเป็นชุดของระบบย่อยซอฟต์แวร์หรือส่วนประกอบที่จำเป็นในการส่งมอบโซลูชั่นที่ทำงานได้อย่างสมบูรณ์เช่นผลิตภัณฑ์หรือบริการ) สำหรับอุปกรณ์พกพาที่มีระบบปฏิบัติการมิดเดิลแวร์และแอปพลิเคชันหลัก ดังนั้นคุณจะถูกต้องบางส่วนในการพิจารณาว่าเป็นกรอบ