Saya mendukung keragaman bahasa, tetapi Tujuan C tidak masuk akal. Jadi saya penasaran: apakah mungkin untuk membuat kode aplikasi iPhone dengan C ++ saat menggunakan Cocoa API, dll?
Saya mendukung keragaman bahasa, tetapi Tujuan C tidak masuk akal. Jadi saya penasaran: apakah mungkin untuk membuat kode aplikasi iPhone dengan C ++ saat menggunakan Cocoa API, dll?
Jawaban:
Jawaban singkatnya, ya, semacam itu. Anda dapat menggunakan Objective-C ++, yang dapat Anda baca di Apple Developer Connection.
Jika Anda sudah mengetahui C ++, mempelajari Objective-C akan sangat sederhana, jika Anda memutuskan untuk mencobanya. Info lebih lanjut tentang topik itu ada di ADC juga.
Meskipun Objective-C pada awalnya tampak "gila", saya mendorong Anda untuk tetap menggunakannya. Begitu Anda memiliki momen "a-ha", tiba-tiba semuanya mulai masuk akal. Bagi saya, butuh sekitar 2 minggu untuk memfokuskan konsentrasi Objective-C untuk benar-benar memahami kerangka kerja Kakao, bahasanya, dan bagaimana semuanya cocok satu sama lain. Tapi begitu saya benar-benar "mendapatkannya", itu sangat menarik.
Kedengarannya klise, tapi itu benar. Bertahanlah.
Tentu saja, jika Anda membawa pustaka C ++ atau kode C ++ yang sudah ada, Anda dapat menggunakan modul tersebut dengan Objective-C / Objective-C ++.
Saya menggunakan Objective-C untuk menampar UI bersama.
Tapi nyali kode masih ditulis dalam C ++.
Itulah tujuan utama Objective-C antarmuka UI dan penanganan kejadian.
Dan itu bekerja dengan baik untuk tujuan itu.
Saya masih suka C ++ sebagai backend untuk kodenya (tapi itu terutama karena saya suka C ++) Anda bisa dengan mudah menggunakan Objective-C untuk backend aplikasi juga.
#include <XXX>
seperti C / C ++.
Pertama, mengatakan Objective-C adalah "gila" itu lucu- Saya memiliki buku Bjarne Stroustrup C ++ yang duduk di sisi saya yang berdurasi 1020 halaman. PDF Apple tentang Objective-C adalah 141.
Jika Anda ingin menggunakan UIKit, akan sangat-sangat sulit bagi Anda untuk melakukan apapun di C ++. Aplikasi iPhone serius apa pun yang sesuai dengan UI Apple akan membutuhkan bagian UI-nya untuk ditulis dalam Objective-C. Hanya jika Anda menulis game OpenGL, Anda dapat menggunakan C / C ++ hampir seluruhnya.
Memiliki beberapa pengalaman tentang ini, Anda memang dapat menggunakan kode C ++ untuk kode "inti" Anda, tetapi Anda harus menggunakan objektif-C untuk semua hal khusus iPhone.
Jangan mencoba memaksa Objective-C untuk bertindak seperti C ++. Pada awalnya tampaknya bagi Anda ini mungkin, tetapi kode yang dihasilkan benar-benar tidak akan berfungsi dengan baik dengan Cocoa, dan Anda akan menjadi sangat bingung tentang apa yang sedang terjadi. Luangkan waktu untuk belajar dengan benar, tanpa menggunakan C ++, cara membangun aplikasi GUI dan iPhone, lalu tautkan di basis C ++ Anda.
Anda harus menggunakan Objective C untuk berinteraksi dengan Cocoa API, jadi tidak ada pilihan. Tentu saja, Anda dapat menggunakan C ++ sebanyak yang Anda suka di belakang layar (Objective C ++ membuatnya mudah).
Ini memang bahasa yang gila, tapi juga ... menyenangkan untuk digunakan setelah Anda sedikit terbiasa. :-)
Saya tidak yakin tentang C ++, tetapi Anda pasti dapat membuat kode aplikasi iPhone di C #, menggunakan produk bernama MonoTouch .
Anda dapat melihat posting ini untuk pembahasan rinci tentang MonoTouch Vs Obj-C: Bagaimana cara memutuskan antara MonoTouch dan Objective-C?
Saya sedang dalam proses mem-porting aplikasi Android intensif komputasi yang ditulis dalam Java ke iOS6. Saya melakukan ini dengan mem-porting bagian non-UI dari Java ke C ++, menulis bagian UI (minimal) di Obj-C, dan membungkus yang pertama dalam antarmuka (kecil) C menggunakan teknik C / C ++ standar, sehingga itu dapat diakses dari Obj-C, yang bagaimanapun juga merupakan superset dari C.
Ini telah efektif sejauh ini, dan saya belum menemukan gotcha. Tampaknya ini merupakan pendekatan yang sah, karena Xcode memungkinkan Anda membuat kelas C ++ serta kelas Obj-C, dan beberapa kode sampel resmi melakukan hal-hal seperti ini. Saya tidak perlu keluar dari antarmuka yang didukung secara resmi untuk melakukan ini.
Tampaknya tidak akan banyak keuntungan dari menulis kode UI saya yang tersisa di C ++ bahkan jika memungkinkan, mengingat bantuan yang diberikan kepada Anda oleh pembuat antarmuka di Xcode, jadi jawaban saya adalah Anda dapat menggunakan C ++ untuk hampir semua aplikasi Anda, atau sebanyak yang Anda anggap sesuai / nyaman.
Ya, tetapi Berpikir bahwa Anda dapat memprogram setiap jenis program dalam satu bahasa adalah ide yang salah kecuali Anda menulis program yang sangat sederhana. Tujuan C adalah untuk Kakao karena C # untuk .NET, Menggunakan alat yang tepat untuk pekerjaan yang tepat, Mencoba membuat C ++ berinteraksi dengan Kakao melalui penulisan kode penghubung dan mencoba membuat kode C ++ berperilaku sesuai dengan persyaratan Kakao bukanlah ide yang baik juga tidak mengharapkan C ++ kinerja dari Tujuan C adalah. Anda harus mencoba merancang tata letak dan arsitektur aplikasi dengan tetap melihat keterampilan yang ada dan menentukan bagian mana yang harus ditulis dalam bahasa mana kemudian membangunnya dengan sesuai.
Saat ini saya sedang menulis kerangka kerja Objective-C ++ yang disebut Objective-X, yang memungkinkan PURE C ++ iPHONE PROGRAMMING. Anda bisa melakukan seperti ini:
#import "ObjectiveX.h"
void GUIApplicationMain() {
GUIAlert Alert;
GUILabel Label;
GUIScreen MainScreen;
Alert.set_text(@"Just a lovely alert box!");
Alert.set_title(@"Hello!");
Alert.set_button(@"Okay");
Alert.show();
Label.set_text(@"Ciao!");
Label.set_position(100, 200, 120, 40);
MainScreen.init();
MainScreen.addGUIControl(Label.init());
}
dan kompilasi menggunakan opsi baris perintah yang sesuai dari GCC. Saya sudah menyusun aplikasi helloworld ini & itu w0rkX0rz seperti pesona. ;-) Ini akan segera tersedia di GoogleCode. Telusuri Objective-X atau kunjungi http://infotronix.orgfree.com/objectivex kira-kira. seminggu kemudian!
URL yang diperbarui (tetapi tampaknya tidak aktif): http://code.google.com/p/objectivex/
Ini mungkin sedikit offtopic, tapi bagaimanapun juga. Anda dapat memprogram c ++ langsung di perangkat iOS. Lihat aplikasi CppCode ios - http://cppcode.info . Saya percaya mempelajari c dan c ++ dan objektif-c nanti akan membantu.