Bagaimana untuk belajar memprogram untuk iOS. pantas. Bahasa pengaturcaraan sumber terbuka. Kuasa, kesederhanaan dan apl yang menakjubkan

Setiap hari bilangan orang yang bermimpi untuk belajar membuat program semakin meningkat. Selepas mengumpul maklumat di Internet, idea datang kepada mereka bahawa yang paling menjanjikan ialah pembangunan aplikasi untuk iOS, sistem pengendalian daripada Apple. Sebenarnya, bermimpi adalah satu perkara, tetapi pengaturcaraan adalah perkara lain. Mewujudkan aplikasi anda sendiri tidak mudah. Tetapi ia juga tidak terlalu sukar. Apa yang diperlukan untuk ini?

Bahasa pengaturcaraan

Untuk menulis program untuk platform tertentu, anda perlu menggunakan bahasa pengaturcaraan tertentu. Pembangunan apl untuk iOS dan Android adalah berbeza. Jika untuk platform Google anda perlu memilih bahasa Java, maka untuk iOS pilihannya adalah antara Objektif-C dan Swift. Untuk masa yang lama, pembangunan untuk platform iOS dijalankan hanya menggunakan bahasa pengaturcaraan Objective-C. Walaupun sudah berusia bertahun-tahun, ia masih dibangunkan dan digunakan oleh sebilangan besar pembangun. Tetapi kelemahannya ialah halangan yang tinggi untuk masuk.

Memandangkan sumber keuntungan terbesar Apple ialah gedung aplikasinya, pekerja berminat dengan utiliti yang lebih berguna dan menarik. Atas sebab ini, persidangan pembangun kerap diadakan untuk membincangkan perubahan dalam sistem pengendalian. Pada tahun 2014, pembangun telah ditunjukkan bahasa pengaturcaraan Swift terkini, yang digunakan untuk membangunkan aplikasi untuk iOS. Swift mudah dipelajari kerana ia mempunyai sintaks yang sangat mudah dan ditaip dengan kuat. Bahasa ini sangat sesuai untuk mereka yang ingin belajar sendiri.

Apa yang anda perlukan untuk bermula

Sebagai tambahan kepada pengetahuan pengaturcaraan asas, anda perlu mempunyai yang berikut:

  • komputer atau komputer riba dengan sistem pengendalian OSX;
  • Persekitaran pembangunan Xcode, yang percuma.

Set ini membolehkan anda menjalankan aplikasi dalam simulator khas secara langsung pada komputer anda. Tetapi perlu diingat bahawa pada masa hadapan anda mungkin perlu membayar $99 untuk mendapatkan langganan tahunan kepada program pembangun. Selepas pembayaran anda akan dapat:

  • jalankan program yang dibangunkan bukan dalam simulator, tetapi pada peranti sebenar;
  • letakkan aplikasi dalam App Store;
  • muat turun versi baharu persekitaran pembangunan dan iOS.

Dalam versi baharu Xcode, elemen kotak pasir yang dipanggil Playground telah muncul. Di sini pembangun boleh bereksperimen dengan bahasa pengaturcaraan baharu.

Ramai orang ingin mula menulis program, tetapi mereka fikir ia amat sukar. Sudah tentu, untuk menjadi seorang profesional, anda perlu mempunyai banyak pengetahuan dan pengalaman luas di belakang anda. Tetapi untuk membuat aplikasi kecil, tidak perlu menjadi seorang profesional.

Di manakah pembangunan aplikasi untuk iOS dan Android bermula? Pembelajaran berlaku dengan melakukan. Oleh itu, kita mesti bermula dengannya. Banyak teori tidak selalunya baik. Lagipun, jika seseorang membaca sepuluh dari muka depan ke muka, dia tidak akan. Kita perlu bertindak.

Taman permainan

Kotak pasir ini adalah persekitaran yang menarik untuk mempelajari bahasa pengaturcaraan. Bagaimana rupa dia? Pengguna memasukkan baris kod program dan segera melihat hasil pelaksanaan. Setelah menjadi jelas bahawa serpihan bertulis berfungsi sebagaimana mestinya, anda hanya boleh memindahkannya ke projek. Menggunakan kotak pasir, anda boleh menyelesaikan masalah seperti:

  • menguasai sintaks bahasa pengaturcaraan;
  • meningkatkan kemahiran pengaturcaraan dengan bereksperimen dengan API baharu;
  • melakukan pengiraan aritmetik mudah;
  • membangunkan algoritma baharu dan memantau setiap langkahnya.

Pembangunan apl iOS: di mana untuk bermula

Teori, sudah tentu, bagus, tetapi, seperti yang dinyatakan sebelum ini, latihan diperlukan. Untuk membiasakan diri dengan kotak pasir, anda perlu melancarkan persekitaran pembangunan Xcode. Selepas pelancaran, pengguna boleh melihat tetingkap di mana ia dicadangkan untuk mencipta projek baharu atau melancarkan Playground. Kami memerlukan mata kedua. Kini anda perlu membuat nama dan menyimpan "kotak pasir" ke mana-mana lokasi yang mudah pada komputer anda. Ngomong-ngomong, membangunkan aplikasi untuk iOS pada Windows juga mungkin, tetapi kemudian sejumlah besar masalah perlu diselesaikan. Ini termasuk memasang sistem pengendalian cetak rompak, mengedit fail penting, dan banyak ralat dan ranap.

Selepas menyimpan, Taman Permainan yang diperlukan akan dilancarkan.

Sekali pandang, tiada apa yang menarik di sini. Tetapi sebaik sahaja anda memasukkan kod anda di sana, penampilan akan berubah serta-merta.

Untuk bermula, anda boleh cuba menulis perkara berikut:

untuk var y = 0; y< 10; ++y {

println (“hasil: (z)”)

Selepas ini, kotak pasir akan berubah rupa. Lajur di sebelah kanan (anak tetingkap hasil) menunjukkan nilai untuk setiap baris yang diperoleh selepas pelaksanaan. Juga di lajur kanan anda boleh mendayakan paparan panel masa, yang memungkinkan untuk menjejaki perubahan dalam masa ungkapan yang dipilih. Output konsol dengan teks yang akan dikeluarkan oleh program juga dipaparkan di sini.

Kod mengulas

Pembangunan aplikasi untuk iOS, dan juga untuk platform lain, tidak lengkap tanpa ulasan, yang diperlukan untuk memudahkan pembangun menavigasi kod. Komen ialah baris yang diabaikan semasa pelaksanaan program. Mereka boleh sama ada satu baris atau berbilang baris.

Pembolehubah

Jadi, aplikasi ditulis dalam bahasa pengaturcaraan. Asas mana-mana bahasa adalah pembolehubah. Membangunkan aplikasi untuk iOS dan Android tanpa menggunakan pembolehubah adalah mustahil. Seperti namanya, ia adalah bekas yang mempunyai nilai boleh ubah. Setiap pembolehubah mesti mempunyai nama yang unik dan boleh mengandungi kedua-dua nilai angka dan teks. Dalam bahasa pengaturcaraan Swift, pembolehubah ditakrifkan menggunakan perkataan var dan let. Dalam kes kedua, pembolehubah tidak boleh diubah dan mesti dimulakan apabila diisytiharkan. Dalam kes pertama, pembolehubah dimulakan serta-merta sebelum digunakan.

Setiap pembolehubah mempunyai beberapa jenis. Ini boleh menjadi rentetan, nombor titik terapung (pecahan), nilai boolean (benar dan palsu).

Output keputusan

Hasil daripada pelaksanaan program adalah output kepada konsol. Apa ini? Inilah yang membolehkan pengguna berinteraksi dengan komputer. Oleh itu, konsol output dahulu dipanggil monitor, dan konsol input ialah papan kekunci. Sekarang makna istilah telah berubah sedikit. Ini adalah nama tetingkap program yang bertujuan untuk input dan output arahan. Membangunkan aplikasi untuk iOS selalunya memerlukan output beberapa data. Untuk melakukan ini, Swift menyediakan arahan print dan println. Yang pertama berbeza daripada yang kedua kerana ia bermula secara automatik pada baris baharu.

Fungsi

Konsep asas seterusnya dalam pengaturcaraan ialah fungsi. Ini ialah urutan tindakan tertentu yang melaksanakan tugas tertentu. Setiap fungsi boleh mengambil beberapa nilai dan juga mengembalikan hasil. Untuk menggunakan binaan ini, anda mesti mengisytiharkannya terlebih dahulu menggunakan kata kunci func. Ia diikuti dengan nama, serta kurungan. Jika sebarang nilai ingin dikembalikan, jenisnya ditunjukkan selepas kurungan. Jika tiada nilai pulangan, maka jenis boleh ditinggalkan atau jenis "kosong" - tidak sah - boleh ditentukan. Tanda kurung mengandungi nilai yang diterima oleh fungsi. Untuk memanggil fungsi, nyatakan nama dan nilainya untuk argumen.

Anda boleh memastikan bahawa nama parameter diperlukan semasa memanggil fungsi. Untuk melakukan ini, ia dibingkai dengan simbol "hash".

Dengan cara ini anda boleh menulis sebarang fungsi berguna yang boleh, sebagai contoh, mengira kadar pertukaran atau menukar satu unit ukuran kepada yang lain. Setiap kali anda perlu menggunakannya, anda hanya perlu memanggil fungsi ini, dan tidak menulis kod itu lagi.

Bagaimana sekarang?

Jadi, seperti yang dapat dilihat dari atas, membangunkan aplikasi untuk iOS dengan tangan anda sendiri mungkin berada dalam kemampuan semua orang. Perkara utama ialah mempelajari asas bahasa pengaturcaraan, membiasakan diri dengan persekitaran pembangunan, dan berlatih dengan kerap dan kerap. Ia adalah amalan yang membuat kemajuan yang ketara. Tetapi apa yang diterangkan di sini hanyalah permulaan. Akan ada banyak perkara menarik, kompleks dan menarik yang akan datang dalam dunia pengaturcaraan. Ini akan membantu anda sentiasa mengekalkan otak anda dalam keadaan baik, mencipta sesuatu yang baharu dan memperoleh wang yang lumayan. Lagipun, teknologi Apple digunakan di seluruh dunia. Oleh itu, permohonan anda boleh dihargai oleh berjuta-juta orang.

Pada tahun 2015, anda tidak boleh keluar lagi tanpa segera berjumpa dengan seseorang yang memenuhi dua kriteria: 1. Dia mempunyai iPhone/iPad. 2. Dia mahu menjadi seorang pengaturcara. Pilihan aplikasi iOS berikut disusun hanya untuk orang sedemikian. Dengan itu anda boleh mempelajari satu atau lebih daripada 20 bahasa pengaturcaraan paling popular di dunia.

Indeks Tiobe

Indeks Tiobe ialah ranking populariti bahasa pengaturcaraan di dunia. Ia disusun berdasarkan bilangan pautan dalam hasil enjin carian popular untuk pertanyaan " + pengaturcaraan". Indeks ini telah dibina setiap bulan sejak 1987. Pada masa ini, data daripada tapak berikut digunakan untuk mengira penarafan: Google, YouTube, Amazon, Baidu, Qq, Yahoo, Ebay, Hao123, Bing, Alieexpress, Alibaba dan Cntv.

Nilai indeks dikira untuk bahasa yang memenuhi dua keperluan. Pertama, bahasa mesti lengkap Turing, dan kedua, mesti ada artikel tentangnya dalam Wikipedia bahasa Inggeris. Bagaimana untuk menentukan bahawa bahasa adalah Turing lengkap? Jika mana-mana fungsi boleh dikira boleh dilaksanakan padanya, maka ia adalah bahasa lengkap Turing. SQL tidak memenuhi kriteria pertama, namun begitu, nilai Indeks Tiobe telah dikira untuknya selama bertahun-tahun. Secara keseluruhan, 237 bahasa mengambil bahagian dalam ranking.

Penganalisis menggunakan Indeks Tiobe dalam kerja mereka untuk meramalkan perkembangan industri IT. Pengaturcara menyemak maksudnya agar tidak tersilap memilih vektor pembangunan profesional. 25 tahun sejarah indeks membolehkan kami menyatakan dengan yakin: "pakar bahasa yang baik yang menduduki 10 baris pertama ranking pastinya akan mendapat permintaan di pasaran buruh dalam masa 3-4 tahun akan datang."

Apl dalam koleksi ini akan lebih tepat dipanggil buku rujukan dengan keupayaan untuk menjalankan kod, bukannya apl pendidikan. Anda perlu memecah maklumat menjadi pelajaran dan menghasilkan contoh untuk latihan anda sendiri.

1. Jawa

Nilai Indeks Tiobe untuk bahasa ini ialah 19.56%. Java digunakan dalam 80-90% peratus aplikasi perusahaan. Sebilangan besar pembangun Android menulis di atasnya. Java sering digunakan dalam aplikasi web beban tinggi. Hampir semua perkara boleh ditulis dalam bahasa ini. Inilah yang berjaya dilakukan oleh ratusan juta pembangun di seluruh pelusuk planet ini. Permohonan Java Membangunkan Rujukan Semua Dalam Satu mengandungi maklumat paling lengkap tentang bahasa ini.

2. C

Sistem pengendalian dan perisian peringkat rendah lain ditulis dalam bahasa ini. Aplikasi ini akan membantu anda mempelajari bahasa C Rujukan.

3. C++

C++ ialah bahasa utama untuk membangunkan perisian aplikasi komersial. Ia lebih sukar untuk dipelajari daripada Java, dan oleh itu kurang popular. Terdapat permohonan untuk mengkajinya - Rujukan C++.

4. C#

Bahasa ini ialah versi ringkas C++ yang direka untuk berfungsi dengan persekitaran pembangunan .NET Framework. Terdapat aplikasi untuk menguasai sintaks bahasa Bahasa Pengaturcaraan C#.

5. Ular sawa

Perisian desktop dan pelayan serta aplikasi web beban tinggi ditulis dalam Python. Ia digunakan oleh Google dan BitTorrent. Permohonan Rujukan Pembangun Python 2 akan membantu anda mempelajari bahasa ini.

6.PHP

Ia adalah bahasa pengaturcaraan yang paling popular untuk mencipta halaman web. Berbilion laman web ditulis di atasnya. Beratus-ratus juta pembangun di seluruh dunia memilikinya pada satu tahap atau yang lain. Ambang kemasukan untuk pemula adalah sangat rendah. Buat halaman yang kelihatan seperti "Ini saya, ini kucing saya. Hantar surat melalui borang ini" setengah jam selepas anda mula belajar PHP. Aplikasi ini akan membantu anda menguasai teknologi Rujukan PHP.

7. Skrip Java

Bahasa ini direka bentuk untuk membenamkan skrip sisi klien dinamik ke dalam halaman web. Ia adalah tapak yang jarang berlaku yang boleh dilakukan tanpa sekurang-kurangnya beberapa baris kod Skrip Java. Secara teorinya, anda boleh menulis hampir semua perkara dalam bahasa ini: aplikasi pelayan (Node.js) dan mudah alih (PhoneGap). Bermula dengan OS X Yosemite, Java Script menjadi bahasa makro alternatif untuk OS X Apple Script. Terdapat legenda tentang seorang tukang yang menulis semula kernel Linux dalam JS. Anda boleh mempelajari asas Java Script menggunakan aplikasi Bahasa Pengaturcaraan Skrip Java.

8. Visual Basic untuk .NET

Untuk menulis program dalam bahasa ini, anda tidak boleh melakukannya tanpa Rangka Kerja .NET. Oleh itu, tiada aplikasi berasingan untuk bahasa ini. Tetapi sintaksnya adalah sama dengan Visual Basic biasa, yang akan dibincangkan di bawah.

9. Perl

Pada mulanya dicipta untuk memproses jumlah besar data teks. Skop aplikasi sebahagiannya bertindih dengan PHP dan sebahagiannya dengan bahasa C. Anda boleh menjadi lebih biasa dengan sintaksnya dan mencuba tangan anda untuk menulis skrip dalam aplikasi - Bahasa Pengaturcaraan Perl

10. Objektif-C

Bahasa ini telah digunakan selama 32 tahun untuk membangunkan aplikasi yang berjalan pada peranti Apple. Program untuk OS X dan iOS ditulis padanya. Anda boleh mempelajari Objektif-C menggunakan aplikasi Bahasa Pengaturcaraan Objektif-C

11. Perhimpunan

Assembler - membolehkan anda mengakses arahan pemproses secara langsung. Ini adalah bahasa pengaturcaraan peringkat terendah. Pengetahuannya kadangkala diperlukan untuk mencipta bahasa pengaturcaraan peringkat tinggi, sistem pengendalian dan pemacu. Keupayaan untuk membaca kod pemasangan akan berguna kepada penganalisis virus dan orang yang terlibat dalam menggodam perisian berlesen. Terdapat tutorial untuk iOS - Bahasa Pengaturcaraan Himpunan.

12. Ruby

Bahasa Ruby ialah versi berorientasikan objek yang dipertingkatkan bagi bahasa Perl yang dibangunkan di Jepun. Ia digunakan untuk mencipta aplikasi web menggunakan rangka kerja Ruby on Rails. Terima kasih kepada rangka kerja ini, yang membolehkan anda menggunakan aplikasi web dengan cepat, Ruby berada dalam kedudukan yang begitu tinggi. Walaupun bahasa itu tidak berada dalam 10 teratas, pakar yang hebat dalam teknologi ini 100% tidak akan mendapati dirinya tanpa sekeping roti dalam tempoh lima tahun akan datang. Terdapat aplikasi untuk belajar Bahasa Pengaturcaraan Ruby.

13. Delphi

Malangnya, tiada apl iOS untuk bahasa ini. Ia tidak menghairankan. Pertama, untuk menulis program dalam Delphi anda tidak perlu mengetahui sintaksnya. Ia cukup untuk membuka persekitaran pembangunan, menyeret beberapa butang dan medan input ke ruang kerja, menetapkan parameter tingkah laku kepada mereka dengan mengklik butang kanan tetikus, dan itu sahaja. Keupayaan untuk memahami kod sumber Delphi hanya berguna kepada pengaturcara muda yang datang sepuluh tahun kemudian dan yang diminta oleh pihak atasan mereka untuk membuat program ini berfungsi di bawah versi baharu Windows. Kedua, tiada yang baru ditulis dalam Delphi sekarang, dan kedudukan tingginya dalam ranking Tiobe dipastikan oleh penghidap yang terpaksa mengubah suai perisian yang berusia 15 tahun.

14. Visual Basic

Pengetahuan bahasa akan berguna untuk kebanyakan pekerja pejabat. Anda boleh menulis banyak perkara berguna padanya: mengumpul data daripada soal selidik ke dalam jadual Excel, menjana fail menggunakan templat, mel automatik dalam Outlook. Terdapat permohonan untuk belajar - Bahasa Pengaturcaraan Asas Visual.

15.Pascal

Dua pertiga daripada orang Rusia, yang tahun sekolah dan pelajarnya berlaku pada akhir 90-an dan 2000-an, bercakap asas bahasa ini. Di banyak negara di seluruh dunia, terdapat tradisi menggunakan bahasa ini untuk mengajar sains komputer. Pada permulaan milenium, apabila pendidikan literasi komputer mula diperkenalkan secara besar-besaran ke sekolah-sekolah di seluruh planet ini, Delphi adalah salah satu bahasa yang paling berjaya secara komersial. Sintaks bahasa ini hampir sama dengan sintaks Pascal. Atas sebab ini, penulis kurikulum telah memilihnya sebagai bahasa pengaturcaraan pertama untuk berjuta-juta orang. Delphi hampir mati pada akhir 2000-an, tetapi buku teks sains komputer di kebanyakan institusi pendidikan masih belum dikemas kini. Apl akan memberi anda tiket tempat duduk yang ditempah kembali ke zaman kanak-kanak anda Bahasa Pengaturcaraan Pascal.

16. Cepat

Bahasa Swift diumumkan pada musim bunga 2014. Ia digunakan untuk membangunkan aplikasi untuk iOS dan OS X. Ia diletakkan sebagai alternatif yang lebih selamat kepada Objective-C. Permohonan Bahasa Pengaturcaraan Swift ialah tutorial bahasa lengkap yang disusun oleh pengaturcara Apple.

17. MATLAB

MATLAB ialah bahasa untuk melaksanakan pengiraan teknikal dengan pelbagai darjah kerumitan dalam pakej perisian dengan nama yang sama, digunakan oleh berjuta-juta jurutera di seluruh dunia. Permohonan Mudah Alih MATLAB ialah versi ringkas pakej perisian MATLAB untuk iOS , termasuk panduan lengkap bahasa. Perkara yang sangat diperlukan untuk pelajar tahun pertama di universiti teknikal.

18.SQL


SQL ialah bahasa prosedur untuk bekerja dengan pangkalan data. Dengan bantuannya, anda boleh memasukkan data ke dalam pangkalan data, dan kemudian membaca, menukar dan memadamkannya. Bahasa Pengaturcaraan SQL membolehkan anda mempelajari SQL dan ciri aplikasinya untuk sistem pengurusan pangkalan data hubungan yang paling biasa: MySQL, SQL Server, PostgreSQL, Oracle, dsb.

19. R

R ialah bahasa untuk pemprosesan maklumat statistik. Ia terbina dalam banyak program analisis data popular di dunia: SPSS, Statistica, SAS. Anda boleh mempelajarinya menggunakan aplikasi Bahasa Pengaturcaraan R.

20. COBOL

Bahasa COBOL telah wujud sejak tahun 1959. Ia adalah satu-satunya di antara 20 bahasa paling popular di dunia, penciptaan yang diketuai oleh seorang wanita - Laksamana Muda Tentera Laut Amerika Grace Hopper. Pada mulanya direka untuk penciptaan aplikasi perniagaan. Banyak sistem pemindahan wang, pembangunan yang bermula pada tahun 70-an, ditulis dalam COBOL. Syarikat awam dan swasta AS mempunyai banyak sistem berjalan yang memerlukan sokongan teknikal dan ditulis dalam COBOL. Di beberapa institusi pendidikan di Amerika, bahasa ini digunakan untuk mengajar pengaturcaraan pelajar. Aplikasi ini akan membantu anda membiasakan diri dengannya Bahasa Pengaturcaraan COBOL.

Kesimpulan

App Store mempunyai aplikasi untuk mempelajari bahasa yang kurang popular juga. Jika anda mencuba sedikit, anda boleh menemui aplikasi pendidikan di sana untuk 30 baris seterusnya dalam penarafan Indeks Tiobe.

Jadi, anda juga terfikir: “ Bagaimanakah saya boleh belajar menulis program untuk iPhone?«, « Bagaimanakah saya boleh membuat aplikasi mudah alih saya sendiri?«, « Bagaimana untuk membuat berjuta-juta tanpa melakukan apa-apa?". Saya akan cuba menjawab soalan ini langkah demi langkah (kecuali yang terakhir).

Apa yang anda perlu tahu dari awal lagi

Untuk membuat program untuk iOS Anda secara rasmi dikehendaki mempunyai komputer epal (iMac atau Macbook). Tetapi sejujurnya, anda memerlukan sistem pengendalian OS X, begitu ramai orang yang licik pada mulanya dan berjaya menggunakannya Hackintosh (Hackintosh), iaitu, mereka menjalankan OS X pada komputer biasa - ini adalah pilihan yang menjimatkan, menyalahi undang-undang dan agak menyusahkan dari segi persediaan. Saya mengesyorkan bahawa, memandangkan anda telah membuat keputusan tegas untuk menjadi pembangun iOS, membeli Macbook atau Mac Mini yang ringkas, atau pun yang terpakai (mana-mana yang dikeluarkan sejak 2010).

Seterusnya - apa yang hendak ditulis. Permohonan untuk iOS ditulis dalam bahasa pengaturcaraan pantas atau Objektif-C, dan semua keajaiban berlaku dalam program Xcode(percuma). pantas adalah bahasa yang sangat baru yang Apple perkenalkan baru-baru ini (pertengahan 2014) dan kini secara aktif menyampaikan idea bahawa anda hanya perlu memprogramkannya, ia adalah masa depan, ia lebih moden dan lebih pantas. Dan mereka betul, belajar pantas. Objektif-C sebaliknya, bahasa dengan masa lampau yang panjang, jadi ia adalah lebih sukar untuk pemula untuk memahami, yang tidak menafikan kuasanya dan kekayaan perkembangan sedia ada dan buku mengenainya (yang tidak boleh dikatakan mengenai Swift pada masa ini). Namun, saya ulangi, ajar pantas.

Jika anda ingin membuat aplikasi merentas platform (secara serentak untuk iOS dan Android) - belajar C# dan menggunakan persekitaran pembangunan Xamarin(dibayar). Jika anda ingin membuat permainan merentas platform, muat turun persekitaran pembangunan Unity3D(shareware), pelajari yang telah disebutkan di atas C#.

Selain itu, untuk melancarkan aplikasi anda pada iPhone/iPad (walaupun pada peringkat pembangunan) dan kemudian memuat naiknya ke AppStore, anda perlu membeli status Pembangun Apple untuk $100 setahun. Selepas pembelian, ini sekali lagi mendorong anda untuk sekurang-kurangnya mendapatkan semula wang itu :)

Apabila saya bertanya kepada diri sendiri soalan ini, saya fikir saya hanya perlu mengambil "bible" tebal yang baik pada Objektif-C (biar saya ingatkan anda, Swift belum wujud) dan memahami pengetahuan rahsia bab bahasa pengaturcaraan demi bab. Semua orang mengesyorkan buku Stephen Kochan " Pengaturcaraan Objektif-C«. salah! Jangan ulangi kesilapan saya. Ya, asas bahasa itu difahami, buku itu bagus, tetapi ini adalah buku rujukan dan jauh dari pembangunan aplikasi sebenar dari awal. Untuk belajar memprogram anda perlu "mengotorkan tangan anda", cuba menulis yang pertama, walaupun sangat mudah, tetapi bekerja aplikasi. Anda memerlukan pelajaran dengan contoh. Dari yang mudah kepada yang kompleks. Ia juga penting untuk menetapkan matlamat sebenar, aplikasi pertama yang anda mahu tulis dan keluarkan di AppStore. Setiap pelajaran atau buku harus memberi anda pengetahuan yang boleh anda gunakan untuk projek anda. Jangan buat kesilapan "pelajar abadi" yang hanya melakukan apa yang dia belajar, belajar, belajar, tetapi menangguhkan saat memulakan kerja sebenar. Sebagai contoh, saya menetapkan matlamat untuk membuat aplikasi radio dan mengeluarkannya di AppStore dalam masa sebulan - dan saya berjaya.

Jika anda tahu bahasa Inggeris, anggap diri anda sangat bertuah, sekarang saya akan memberitahu anda di mana untuk mendapatkan semua pengetahuan. Malangnya, terdapat sangat sedikit maklumat dalam bahasa Rusia dan selalunya lewat (dan diterjemahkan dari bahasa Inggeris).

Perantis iOS

Tapak latihan bahasa Inggeris terbaik - RayWenderlich.com. Ia hebat kerana tiga sebab: 1) anda boleh membaca banyak pelajaran secara percuma, daripada asas hingga cuba meniru aplikasi yang berjaya sedia ada (termasuk yang ada dalam Swift), dan semuanya ditulis dengan keikhlasan dan jenaka; 2) terdapat pelajaran video di sana (walaupun berbayar); 3) Sebab yang paling penting- mereka mempunyai buku untuk pemula yang akan mengajar anda dari awal menggunakan contoh mencipta aplikasi, dengan sangat jelas, dengan gambar (baik, seperti yang kita suka). Buku-buku itu dibayar (hanya bahagian pertama diberikan secara percuma), tetapi ia berbaloi. Saya membeli semuanya dan mereka telah lama membayar untuk diri mereka sendiri kerana mereka membina bata asas yang baik demi bata. Ini tidak boleh dibandingkan dengan hanya membaca pelajaran yang berbeza yang dicampur bersama di tapak yang sama. Mulakan dengan membeli The iOS-apprentice (bahagian pertama yang boleh dimuat turun secara percuma). Ia akan mengajar anda cara membuat aplikasi pertama anda dalam Swift. Mereka juga mempunyai buku mengenai pembangunan permainan SpriteKit(Rangka kerja Apple untuk pembangunan permainan).

Sumber kedua yang paling berguna ialah AppCoda. Ia lebih mudah daripada RayWenderlich, tetapi intipatinya adalah sama - kita membaca pelajaran Swift, belajar daripada contoh. Mereka juga mempunyai buku sendiri (berbayar), selain pelajaran percuma.

Bagaimana jika anda tidak tahu bahasa Inggeris - oops, tiada sumber Internet Rusia sedemikian. Buku dalam bahasa Rusia? Sudah tentu, anda akan menemui beberapa buku di Ozon, tetapi semuanya sudah lapuk dan tidak akan mengajar anda bahasa Swift (pada masa ini semuanya hanya Objektif-C).

Perkara terbaik yang boleh saya tawarkan kepada anda ialah hab "pembangunan iOS" di Habré, artikel baharu sentiasa muncul di sana, tetapi ia sangat huru-hara.

Di mana untuk mencari jawapan, sesuatu tidak berfungsi

Semasa pengaturcaraan, anda akan sentiasa mempunyai soalan: anda tidak tahu bagaimana untuk melakukan sesuatu, atau anda melakukan sesuatu, tetapi program bertindak balas dengan ralat. Anda boleh mendapatkan jawapan (atau bertanya soalan) di dua tapak:

StackOverflow- gudang terbesar jawapan siap dalam bahasa Inggeris. Saya dapati 80% daripada jawapan di sana.

Google- ia sudah basi, hanya dengan menaip soalan dalam carian, anda boleh menemui jawapannya. Jika ia tidak berjaya serta-merta, main-main dengan perkataan soalan.

Pembakar roti- serupa dengan StackOverflow, tetapi dalam bahasa Rusia. Masih sukar untuk mencari jawapan di sini, kerana pangkalan data soalan masih belum begitu besar. Tetapi anda boleh bertanya - terdapat cukup profesional pada sumber yang akan menjawab anda.

Atau boleh tanya saya. Percuma buat masa ini :)

  1. Bahasa pengaturcaraan. Perkara yang anda perlu tahu untuk menulis aplikasi untuk iOS.
  2. Adakah anda memerlukan pereka bentuk, pembangun antara muka atau orang lain?
  3. Bahagian rasmi: sijil pemaju.
  4. Peralatan yang diperlukan untuk pembangunan yang selesa.
  5. Soalan kekal: AndroidOS atau iOS?
  6. Apa yang perlu dilakukan hari ini?
  7. Mencipta projek baharu.
  8. Kompilasi. Apakah itu dan mengapa ia diperlukan?
  9. Jalankan pada simulator.
  10. Kami mencetak "Hello, dunia!"
  11. Apakah paparan standard yang terdapat dalam iOS?

Bahasa pengaturcaraan. Perkara yang anda perlu tahu untuk menulis aplikasi untuk iOS

Bahasa pengaturcaraan(wikipedia.org) ialah sistem simbol formal yang direka untuk merakam program komputer. Bahasa pengaturcaraan mentakrifkan satu set peraturan leksikal, sintaksis dan semantik yang mentakrifkan penampilan atur cara dan tindakan yang akan dilakukan oleh pelaku (komputer) di bawah kawalannya.

Mungkin soalan yang saya ajukan dalam tajuk bahagian ini agak rumit. Saya boleh menjawabnya dengan mudah - Objektif-C. Jika saya berhenti di sana, saya akan silap. Saya akan mengatakan bahawa Objektif-C adalah minimum. Baru-baru ini terdapat persidangan dari Yandex - YET, di mana salah satu laporan ditumpukan kepada bahasa pengaturcaraan yang perlu diketahui oleh pembangun. Jawapannya adalah seperti ini: "Dia mesti mempelajari bahasa pengaturcaraan baru dan baru secara berterusan, tanpa berhenti pada mana-mana bahasa khususnya.". Saya benar-benar bersetuju dengan ini. Dengan mempelajari bahasa pengaturcaraan baharu, anda mempelajari pendekatan dan kaedah pengaturcaraan baharu. Oleh itu, untuk menulis aplikasi untuk iOS, anda perlu mengetahui Objektif-C, tetapi juga dinasihatkan untuk mengetahui bahasa pengaturcaraan lain supaya kod anda baik, cekap dan fleksibel.

Jika anda belum lagi menjadi pengaturcara, maka saya nasihatkan anda mulakan dengan bahasa C. Muat turun buku oleh Kernighan dan Ritchie ( atau lebih baik lagi, beli) tentang bahasa C, bacalah, lakukan semua yang dicadangkan kepada anda, dan selepas itu saya akan menasihati anda untuk meneruskan ke Objektif-C. Jika anda sudah faham cara menulis program, anda sudah bersedia untuk menjawab soalan dengan mudah - “Apakah jenis data? Apakah pembolehubah? Apakah fungsi atau kaedah? Apakah pautan dan penunjuk? Apa dah jadi"termasuk”?” , anda tahu C atau C++ atau Java atau C#, maka anda sudah bersedia untuk menulis aplikasi pertama anda untuk iOS.

Anda juga perlu mengetahui asas OOP dan corak reka bentuk. Senarai itu mungkin boleh diteruskan, tetapi saya hampir tidak bersedia untuk menuntut penjelasan kualitatif tentang konsep ini. Ya, malangnya, Objektif-C bukanlah bahasa yang anda boleh memulakan perjalanan pengaturcara anda. Tetapi jika anda suka dan ingin mencipta, maka sudah tiba masanya untuk anda berlari ke kedai, membeli buku dan memulakan perjalanan pembangun anda.

Adakah anda memerlukan pereka bentuk, pembangun antara muka atau orang lain?

Satu lagi, soalan yang tidak kurang mudah. Jika anda seorang pengaturcara dan tahu cara menulis program konsol dan ingin mula menulis aplikasi untuk iOS, maka pada peringkat awal anda tidak memerlukan orang sedemikian. Jika anda mempunyai iPhone || iPad || iPod Touch, anda sudah biasa dengan iOS, maka anda tidak memerlukan pembangun bahagian hadapan. Secara umum, Apple mempunyai dokumen sedemikian - ManusiaAntara mukaGaris panduan. Dokumen ini menerangkan di mana dan elemen antara muka yang harus digunakan. Oleh itu, pada peringkat awal anda boleh lakukan tanpa pihak ketiga. Secara umum, iOS SDK menyediakan peluang yang mencukupi untuk melukis antara muka aplikasi, jadi anda tidak perlu melukis sebarang butang atau teks berbilang warna, isian kecerunan, dsb. dalam PS. Kemudian, kami akan membuat projek pertama, di mana kami akan berkenalan dengan semua peringkat mencipta aplikasi "Hello, World!".

Walau bagaimanapun, anda perlu memahami bahawa apabila projek serius bermula, aplikasi yang ingin anda terbitkan di AppStore, ia akan menjadi lebih sukar untuk anda tanpa pereka bentuk dan pembangun. Kesukaran boleh nyata pada peringkat yang berbeza - sama ada semasa pembangunan aplikasi, apabila anda menghabiskan berjam-jam mencari imej yang diperlukan atau duduk dan mencipta dalam PS, atau selepas anda menerbitkan aplikasi dan mula menerima komen daripada pengguna kami yang dikasihi yang akan mengadu tentang Miskin anda reka bentuk aplikasi percuma. Saya menghadapi masalah yang sama pada kedua-dua peringkat. Selepas menerima komen buruk di AppStore, saya mahu meninggalkan aplikasi saya, yang sebenarnya percuma, dan melupakan pengguna yang tidak bersyukur. Walau bagaimanapun, kegunaan aplikasi itu sendiri kepada saya, serta ramai pengguna lain, membuatkan saya menelan komen marah itu dan terus membangunkan aplikasi itu. Kira-kira tiga bulan yang lalu, saya mula membangunkan aplikasi bersama-sama dengan pereka yang memberitahu saya apa yang perlu dimasukkan dan di mana, warna apa yang hendak dipilih, di mana dan gambar apa yang hendak dilukis, dan ini, saya ingin katakan, agak mudah. Oleh itu, saya masih menasihati anda untuk mula menggunakan perkhidmatan pereka pada satu ketika untuk menerima maklum balas yang baik daripada pengguna. Dan ingat - pengguna peranti iOS mahu melihat baik reka bentuk aplikasi, walaupun fungsinya terjejas.

Bahagian rasmi: sijil pemaju

Anda mungkin sudah banyak mendengar tentang beberapa jenis sijil pembangun. Sekarang saya akan cuba memberitahu anda terkini - mengapa ia berlaku dan sama ada anda memerlukannya sekarang. Sijil pembangun ialah fail, sama seperti sijil lain. Fail ini diberikan kepada anda oleh Apple selepas anda melalui semua peringkat pendaftaran dalam sistem iOS (MacOS) pemaju (Perusahaan) Program.

Apa yang akan diberikan oleh fail ini dan pendaftaran dalam salah satu program di atas kepada anda? Jawapan kepada soalan ini sangat menggembirakan. Oleh itu, saya hanya akan mengatakan tentang perkara yang paling penting (semua yang diterangkan di bawah diberikan kepada anda selama satu tahun tepat):

  • menguji aplikasi anda pada peranti anda (walaupun ini nampaknya boleh digodam dan boleh dilakukan tanpa sijil)
  • akses kepada forum pembangun di portal Apple (walaupun terdapat komuniti di StackOverflow.com, di mana anda boleh mendapatkan jawapan kepada soalan anda dengan lebih cepat)
  • keupayaan untuk memuat turun versi beta (dan sudah tentu yang terkini) iOS dan Xcode
  • keupayaan untuk memasang versi beta iOS pada peranti anda
  • keupayaan untuk menerbitkan aplikasi dalam AppStore
  • keupayaan untuk memautkan sehingga 100 peranti ke akaun anda, dengan itu membenarkan peranti ini memasang versi beta iOS, menguji aplikasi anda (belum diterbitkan dalam AppStore) dan banyak lagi perkara yang menyalahi undang-undang
  • peluang untuk menunjukkan kepada rakan anda bahawa anda adalah pembangun aplikasi iOS rasmi

Jika anda memutuskan bahawa anda memerlukan sijil sedemikian, maka bersedia untuk berpisah dengan $100 ($300 untuk Perusahaan), hantar faks ke AS, masukkan butiran kad bank anda (perhatian! Milik anda, betul-betul milik anda), dan selesaikan membaca ini bab.

Jadi, mari pergi.

  1. Ikuti pautan ini http://developer.apple.com/programs/ios/
  2. Klik pada Daftar Sekarang
  3. Kami membaca banjir dengan teliti dan teruskan - Teruskan
  4. Di sini kita mempunyai 4 mata:?a. Adakah anda ingin mencipta ID Apple baharu untuk Program Pembangun Apple?b. Adakah anda mahu menggunakan Apple ID sedia ada?c. Adakah anda sudah berdaftar sebagai pembangun mudah, dan kini anda ingin menjadi pemaju rasmi dengan semua faedah yang diterangkan di atas? Anda sudah pun menjadi ahli Program Pembangun iOS atau Mac dan ingin memautkan program lain ke akaun anda
  5. Rakan-rakan, seterusnya anda perlu melalui beberapa langkah untuk mengisi maklumat peribadi anda. Saya tidak ingat apa yang ada lagi. Jika anda mempunyai sebarang soalan, tanya mereka dalam topik ini, saya akan menjawab segala-galanya sebaik mungkin.
  6. Anda telah diberi pautan ke fail .pdf yang perlu anda isi dan fakskan kepada Apple.
  7. Kami mencetaknya dan mengisinya (dengan berhati-hati dan berhati-hati).
  8. Kami menghantar faks ke pejabat Apple di AS. (Berhati-hati supaya faks anda tidak jatuh ke tangan yang salah, kerana di sana anda menunjukkan nombor kad bank dan CVV).
  9. Kami menunggu N bilangan hari (minggu) untuk Apple memproses permintaan anda.
  10. Kami menerima surat yang mengucapkan tahniah kepada anda kerana mendaftar untuk program ini dan kehilangan seratus dolar. Hooray!

Selepas berjaya menyelesaikan pencarian anda akan mempunyai akses ke http://developer.apple.com/membercenter/. Mungkin semakan halaman itu sama ada memerlukan artikel berasingan atau memerlukan carian Google/Yandex.

Baiklah, kawan-kawan, mari kita beralih kepada isu-isu yang tinggal dalam agenda.

Peralatan yang diperlukan untuk pembangunan yang selesa

Jika anda serius memutuskan untuk mula membangunkan aplikasi untuk iOS, maka saya sangat mengesyorkan agar anda segera membeli komputer/komputer riba dengan MacOs. Pilihan termurah ialah Mac Mini, atau sesuatu yang digunakan. Jika anda seorang pelajar dan akan membawa peralatan bersama anda - Macbook Air. Jika anda mempunyai banyak wang dan mahukan komputer riba yang berkuasa dan serba boleh - untuk permainan, tugasan pengkomputeran yang kompleks dan pengaturcaraan - Macbook Pro. Jika anda ingin mendapatkan komputer meja, iMac atau Mac Mini. Untuk pembangunan, mana-mana komputer dalam sebarang konfigurasi sedia ada akan sesuai dengan anda. Saiz skrin adalah mengikut budi bicara anda. Saya secara peribadi kini duduk di hadapan Macbook 13” dan Mac Mini 17”. Saya gembira dengan kedua-dua paparan. Jika ada, anda sentiasa boleh menyambungkan monitor luaran ke komputer riba anda.

Jangan lupa bahawa lambat laun anda memerlukan iPhone, iPod atau iPad. Anda tidak perlu bergantung hanya pada simulator iOS, yang diedarkan dalam pakej yang sama dengan Xcode. Sentiasa menguji versi keluaran pada peranti. Atau - cari penguji (bertanggungjawab dan teliti).

Jika anda tidak bersedia untuk membelanjakan begitu banyak wang untuk peralatan baharu, maka anda boleh cuba memasang Hackintosh pada komputer anda.

Soalan kekal: Android atau iOS?

Ada kemungkinan bahawa soalan ini sepatutnya ditanya pada awal-awal lagi, tetapi ia masih terdapat di penghujung artikel ini. Adakah anda pasti mahu mencuba pembangunan mudah alih, tetapi tidak tahu platform mudah alih yang mana untuk dipilih? Saya tidak dapat menjawab soalan ini untuk anda. Tetapi saya tahu satu perkara - jika anda ingin membangunkan aplikasi untuk iOS, maka anda mesti menyukai produk Apple dan sistem pengendalian iOS dan MacOs. Anda mungkin bertanya - mengapa ini? Jawapannya mudah - anda mesti suka apa yang anda lakukan, anda mesti mencipta. Hanya selepas itu anda akan dapat membangunkan produk yang benar-benar hebat dan berguna. Hanya dalam kes ini anda akan menikmati pembelajaran Objektif-C dan iOS. Saya rasa ini sangat penting. Jika anda mempunyai perasaan yang sama terhadap produk Apple, maka jangan ragu untuk pergi ke bidang pembangunan iOS. Jika anda fikir - saya tahu Java, tetapi saya tidak tahu Objektif-C, tetapi saya suka iOS lebih baik daripada AndroidOs - kemudian pilih iOS. Tidak, tetapi apakah yang anda harapkan saya mula memuji Android OS?

Saya juga menyukai sfera iOS untuk gedung aplikasinya. Segala-galanya di sana cantik, betul, dan terdapat penyederhanaan aplikasi yang sangat ketat. Lambakan aplikasi yang kini berada dalam OS Android adalah sangat mengerikan, baik untuk pengguna dan pembangun yang layak.

Apa yang perlu dilakukan hari ini?

Hari ini anda mesti membuat keputusan: apabila anda mula membangunkan aplikasi, adakah pengalaman semasa anda cukup untuk dipelajariObjektif- C, adakah anda mempunyai peralatan yang diperlukan, dan yang paling penting, keinginan?

Hai dunia.

Menyemak kesediaan

Mari kita beralih dari teori kepada amalan. Untuk pelajaran praktikal, anda memerlukan Xcode 4.2 dengan iOS SDK, sebaik-baiknya sijil pembangun, pengetahuan tentang C, C++, Java atau Objective-C (baik, mungkin pengetahuan bahasa lain akan sesuai) dan, akhirnya, keinginan untuk mula menulis aplikasi untuk iOS. Jika anda kehilangan sesuatu, contohnya, sijil pembangun, maka artikel itu masih berkaitan dengan anda. Walau apa pun, saya nampaknya setiap pengguna peranti iOS harus berminat untuk melihat cara kerja dalaman pembangunan aplikasi.

Mencipta projek baharu

Pergi. Klik pada ikon Xcode. Tetingkap yang serupa dengan ini akan dibuka:

Pilih item "Buat projek Xcode baharu". Dalam tetingkap seterusnya, pilih jenis projek. Kami memerlukan: "iOS - Aplikasi - Aplikasi Pandangan Tunggal".

Klik Seterusnya. Kami akan melihat tetingkap dengan kandungan berikut:

Biar saya terangkan medan input:

  1. Nama Produk - Nama projek baru - anda boleh memasukkan sebarang nama, tetapi saya menasihati anda untuk menggunakan nama yang sama dengan saya, kerana saya akan merujuknya secara berkala.
  2. Pengecam Syarikat - Pengecam syarikat anda - anda boleh mengisinya mengikut kehendak anda.
  3. Pengecam Bundle – pengecam unik untuk aplikasi anda. Medan ini boleh diedit kemudian.
  4. Awalan Kelas – awalan yang akan diberikan kepada nama semua kelas yang anda buat dalam projek. Saya membiarkan medan kosong ( "XYZ"– ini hanyalah petunjuk).
  5. Keluarga Peranti – pada jenis peranti yang projek boleh dipasang. Anda boleh memilih salah satu daripada tiga pilihan: iPad/ iPhone/ Sejagat. Tujuan mereka jelas. Jika anda tidak boleh membuat keputusan sekarang sama ada anda perlu membuat apl universal, anda boleh memilih mana-mana pilihan lain. Ini boleh diperbetulkan pada mana-mana peringkat kitaran hayat perisian.
  6. Gunakan Papan Cerita - Ini berkaitan dengan mencipta model antara muka pengguna. Ditambah dengan iOS5, supaya apabila menggunakan seram ini, aplikasi anda hanya boleh dipasang pada peranti dengan iOS5 atau lebih tinggi.
  7. Gunakan Pengiraan Rujukan Automatik ialah ciri baharu pengkompil Apple LLVM 3.0 - ia secara automatik (hampir) menguruskan memori (memantau kebocoran, zombi dan kengerian lain). Saya akan mengatakan bahawa untuk pemula ia adalah pilihan yang ideal. TETAPI – 1) tidak semua yang ada begitu automatik, 2) adakah anda lebih mempercayai pengkompil daripada diri anda sendiri?, 3) Saya mengesyorkan menguruskan memori secara manual.
  8. Sertakan Ujian Unit – sambungkan ujian unit kepada projek.

Anda akan melihat tetingkap untuk memilih kategori di mana projek akan diletakkan. Saya hanya ingin memberi amaran kepada anda bahawa folder dengan nama projek anda akan dibuat secara automatik dalam folder yang anda pilih, iaitu, tidak perlu membuat folder tambahan untuk projek tertentu.

Kami tidak menandai kotak semak "Buat repositori git tempatan untuk projek ini". Adalah lebih baik untuk menyambungkan projek kami ke repositori kod kemudian jika perlu.

Klik "Buat" dan lihat tetingkap baharu, tetingkap ruang kerja kami:

Oleh itu, kami telah mencipta projek, beberapa fail telah dihasilkan, beberapa tetingkap dibuka.

Mari kita lihat fail dalam menu navigasi:

  • fail dengan akhiran ".h" ialah pengepala, di mana kami akan memberikan penerangan tentang kelas
  • fail dengan akhiran ".m" ialah fail pelaksanaan, di mana kami akan melaksanakan kelas yang diterangkan sebelum ini
  • fail dengan akhiran ".xib" ialah fail yang menerangkan antara muka tetingkap aplikasi tunggal

Menyusun projek

Kompilasi -

  1. terjemahan atur cara ke dalam bahasa yang hampir dengan bahasa mesin dan pemasangan seterusnya.
  2. terjemahan atur cara yang ditulis dalam bahasa sumber ke dalam modul objek (dijalankan oleh pengkompil) dan pemasangan seterusnya ke dalam modul atur cara sedia untuk digunakan.
  3. penterjemahan atur cara yang ditulis dalam bahasa sumber dan pemasangan seterusnya ke dalam atur cara dalam beberapa kod tafsiran peringkat rendah bebas mesin (seperti, sebagai contoh, dalam kes bahasa Java).

Proses penyusunan terdiri daripada fasa berikut:

  1. Analisis leksikal. Dalam fasa ini, jujukan aksara dalam fail sumber ditukar kepada jujukan token.
  2. Analisis sintaksis (tatabahasa). Urutan token ditukar menjadi pokok parse.
  3. Analisis semantik. Pepohon parse diproses untuk mewujudkan semantiknya (makna) - contohnya, mengikat pengecam pada definisinya, jenis data, menyemak keserasian jenis data, menentukan jenis data yang terhasil bagi ungkapan, dsb. Hasilnya biasanya dipanggil "perwakilan/kod perantaraan ", dan boleh ditambah dengan pepohon parse, pepohon baharu, set arahan abstrak atau sesuatu yang lain yang mudah untuk diproses selanjutnya.
  4. Pengoptimuman. Arahan berlebihan dialih keluar dan kod dipermudahkan (jika boleh) sambil mengekalkan maknanya, iaitu algoritma yang dilaksanakannya (termasuk ungkapan pra-kira (iaitu, dikira pada fasa terjemahan), yang hasilnya boleh dikatakan pemalar) . Pengoptimuman boleh berada pada tahap dan peringkat yang berbeza - contohnya, pada kod perantaraan atau pada kod mesin akhir.
  5. Penjanaan kod. Daripada perwakilan perantaraan, kod dalam bahasa sasaran dijana (termasuk pautan program).

Dalam bahasa yang lebih mudah daripada saya. Pada peringkat analisis leksikal, ia diperiksa bahawa semua aksara dalam kod sumber anda berada dalam susunan yang betul dan aksara berkaitan dalam peringkat berikut akan dianggap sebagai satu entiti - leksem. Pada peringkat penghuraian, ia diperiksa bahawa semua leksem terletak dalam susunan yang betul, di tempat yang betul, dalam urutan yang betul. Akhir sekali, pada peringkat analisis semantik, padanan jenis data disemak.

Oleh itu, apabila anda mengklik "Bina projek", mula-mula analisis leksikal kod anda dilakukan, jika ia berjaya, kemudian analisis penghuraian, dan kemudian analisis semantik. Dalam Xcode, proses ringan tertentu sentiasa berjalan yang melaksanakan fungsi ini, dengan itu menggesa pembangun "dengan cepat". Sebagai contoh, jika anda tidak meletakkan ";" atau tiba-tiba anda menyamakan int dengan rentetan aksara tertentu, maka Xcode akan menggariskan rentetan itu dengan garis berombak merah.

Berjalan pada simulator

Oleh itu, mari cuba melancarkan projek kami, yang mana kami belum menulis satu baris kod secara peribadi.

Untuk melakukan ini, mari lihat menu: Skim kompilasi(ia diberikan warna hijau dalam tangkapan skrin saya). Gambar rajah ialah konfigurasi tertentu bagi sesuatu projek. Xcode menjananya secara automatik. Klik pada baris di sebelah kanan nama projek (nama peranti); jika peranti tidak disambungkan, ia akan berkata "Peranti iOS". Anda akan melihat senarai juntai bawah dengan kandungan berikut:

Dalam senarai ini kami memilih tempat projek kami akan dipasang: ia boleh sama ada peranti anda atau simulator. Jika anda telah memilih jenis aplikasi universal, anda akan dapat memilih jenis simulator: iPhone atau iPad. Anda juga boleh memilih versi sistem pengendalian untuk simulator (penting untuk menguji projek pada semua versi iOS yang mana aplikasi boleh dipasang). Oleh kerana kita bercakap tentang versi minimum iOS, kita juga harus menyebut bagaimana untuk menentukan versi minimumnya? Ia mudah - jika anda menggunakan kaedah (ciri) yang telah ditambahkan dalam versi iOS, contohnya, 4.0 , maka bar untuk sistem pengendalian minimum yang diperlukan meningkat kepada 4.0 . Mari kita turunkan bar ke 4.0 Dengan 5.0 . Untuk melakukan ini, beralih ke menu: "Sasaran penggunaan" (diserlahkan dengan warna biru dalam gambar saya). Pilih daripada senarai juntai bawah 4.0 . Sekarang mari kita kembali ke menu: Skim kompilasi. Senarai kami sekarang kelihatan seperti ini:

Pilih "Simulator iPhone 4.0". Dan akhirnya, klik pada anak panah di bawahnya tertulis "Run". DALAM “Papan maklumat” kita akan lihat proses penyusunan. Selepas semuanya berjaya disatukan, tetingkap simulator iPhone akan dibuka:

Sekarang mari kita bincangkan dengan cepat keupayaan simulator.

  • Anda boleh mensimulasikan iPhone, iPhone Retina, iPad.
  • Simulasikan versi iOS yang berbeza.
  • Ambil tangkapan skrin.
  • Putar skrin (mod potret dan landskap)
  • goncang
  • Simulasi ingatan rendah.
  • Simulasikan pelayan cetakan
  • Lokasi geolokasi
  • Gerak isyarat berbilang sentuhan (maksimum 2 jari)
  • Lain-lain

Semua ini boleh diakses dari menu program simulator:

Beberapa perkataan tentang simulator. Simulator hanya boleh memasang aplikasi melalui Xcode, ia boleh dinyahpasang terus daripada simulator (sama seperti pada peranti sebenar), dan ia menyokong multitasking. Tetapi ia juga mempunyai banyak batasan, contohnya, anda tidak boleh memasang sijil di kedai sijil aplikasi tempatan. Tetapi kelemahan utama ialah ia SIMULATOR, tetapi tidak EMULATOR. Iaitu, ia hanya berpura-pura bahawa ia adalah peranti iOS, hanya dengan melukis antara muka yang serupa (peringkat perisian). Tetapi emulator melakukan apa yang peranti akan lakukan (pada tahap fizikal). Apakah kesimpulan yang perlu dibuat? Pastikan anda menguji pada peranti sebenar. Saya mempunyai kes apabila ia berfungsi pada peranti, tetapi tidak pada simulator, dan sebaliknya.

Kami mencetak "Hello, dunia!"

Saya harap semuanya lebih kurang jelas sehingga ke peringkat ini. Jika tidak, maka semasa proses pembangunan anda akan mula memahami dengan lebih mendalam.

Bab ini ditulis untuk mengenang Dennis Ritchie pencipta bahasa pengaturcaraanCdan pembangun sistem pengendalian utamaUNIX, dan juga sebagai pengarang bersama buku “Bahasa PengaturcaraanC» .

Tujuan bab ini adalah untuk menghiasi skrin kelabu kosong kami. Hebat, mari pergi. Kami kembali ke Xcode, pilih "ViewController_iPhone.xib" dalam menu navigasi. Seterusnya, pilih "Lihat" daripada senarai yang muncul. Di sebelah kanan, pilih "Pemeriksa Atribut". Begini rupa tetingkap itu bagi saya serta ulasan tambahan:

Sekarang mari tambahkan UILabel. UILabel ialah nama kelas dalam SDK iOS yang membolehkan anda memaparkan teks tidak boleh diedit pada skrin. Secara umum, semua kelas yang membolehkan anda memaparkan sesuatu mempunyai awalan UI: UIView, UITableView, UITextView, UIButton,…. Dalam tetingkap "Objek yang tersedia untuk paparan", cari baris bernama Label. Sebaik sahaja kami menemuinya, kami klik padanya dan seret ke paparan skrin semasa kami.

Garis putus-putus biru akan membantu anda memusatkan/menentukur kedudukan relatif tanda. Oleh itu, pilih Label dalam senarai objek yang dipaparkan, jika belum dipilih, dan lihat item dalam sifat: Teks. Mari tulis “Hello, World!” di sana. dan tekan Masuk. Di sini kita mempunyai teks label ditukar dan mengecut. Mari kita betulkan ini. DALAM kategori harta jom pilih "pemerintah""Pemeriksa Saiz". Terdapat bidang:

  • x dan y ialah koordinat sudut kiri atas label berbanding dengan paparan induk, iaitu, pandangan di mana kami meletakkan label - ini ialah Paparan dalam kes kami.
  • lebar dan tinggi – lebar dan tinggi objek yang diedit, masing-masing.

Anda boleh cuba mengedit nilai ini dan perhatikan perubahannya. Anda juga boleh mengedit kedudukan dan saiz secara terus dengan menggerakkan label (teks) dan menarik bingkainya dengan pelbagai “titik”.

Luangkan 15-25 minit lagi bermain-main dengan hartanah yang berbeza dalam kategori yang berbeza:

  1. Penjajaran teks
  2. Saiz huruf
  3. Warna, bayangan teks
  4. dan lain-lain.

Selepas itu, kami akan kembali kepada mereka dan saya akan menerangkan tujuan bidang tertentu.

Apakah paparan standard yang terdapat dalam iOS?

Dalam perenggan sebelumnya, saya menyentuh nama beberapa kelas yang bertanggungjawab untuk antara muka. Konsol itu sendiri UI dan singkatan bagi Antaramuka Pengguna. Di sini saya akan memberikan, mungkin bukan senarai lengkap, jenis paparan yang tersedia. Pertama, semua kelas yang diterangkan di bawah mewarisi daripada UIView, i.e. mempunyai sifat dan kaedah yang sama. Kedua, anda sentiasa boleh membuat paparan tersuai anda sendiri. Senarai di bawah:

1) UILabel – label – tujuan utama: memaparkan satu atau lebih baris teks yang tidak boleh diedit.

2) UIButton – butang – tujuan utama: butang biasa, menghantar isyarat kepada objek, memberitahu bahawa ia telah diklik

3) UISegmentedControl – butang dengan segmen – tujuan utama: butang dengan beberapa bahagian aktif, anda boleh menentukan mana yang telah diklik

4) UITextField – medan input teks – tujuan utama: medan untuk teks input pengguna

5) UISlider – slider – tujuan utama: slider biasa, membantu menukar sebarang tetapan dengan lebih intuitif

6) UISwitch – Suis Hidup/Mati – tujuan utama: mempunyai dua keadaan – hidup atau mati, tujuannya jelas

7) UIActivityIndicatorView - penunjuk aktiviti - tujuan utama: biasanya digunakan untuk memaklumkan pengguna bahawa aplikasi sama ada memuat turun data atau hanya melakukan beberapa pengiraan

8) UIProgressView – penunjuk status (kemajuan) – tujuan utama: untuk memaparkan keadaan selesai sesuatu

9) UIPageControl – bertukar antara halaman – tujuan utama: memaparkan bilangan halaman, memaparkan halaman semasa

10) UIStepper (>= iOS 5) - +/- pengawal langkah - tujuan utama: juga jelas

11) UITableView - jadual - tujuan utama: memaparkan jadual mungkin elemen yang paling popular

12) UITableViewCell – sel jadual – tujuan utama: memaparkan baris dalam jadual, biasanya boleh disesuaikan

13) UIImageView – imej – tujuan utama: memaparkan gambar atau imej

14) UITextView – medan teks (boleh ditatal) – tujuan utama: memaparkan sejumlah besar teks yang boleh ditatal.

15) UIWebView – web – tujuan utama: memaparkan halaman web

16) UIMapView – peta – tujuan utama: paparan peta

17) UIScrollView – paparan boleh ditatal – tujuan utama: memaparkan beberapa paparan yang tidak sesuai pada satu skrin

18) UIDatePicker – jenis pemilih tarikh – tujuan utama: sesuai untuk memasukkan tarikh

19) UIPickerView – jenis pemilihan drum – tujuan utama: alternatif kepada jadual apabila memilih pilihan

20) UIView – hanya pandangan – tujuan utama: jelas

21) UINavigationBar – bar navigasi – tujuan utama: panel di mana tajuk skrin dan butang kawalan tambahan dipaparkan

22) UINavigationItem – elemen UINavigationBar – tujuan utama: jelas

23) UIToolbar – bar alat – tujuan utama: memaparkan panel di mana butang diletakkan untuk mengawal aplikasi

24) UIBarButtonItem – elemen bar alat – tujuan utama: jelas

25) UIBarButtonItem (ruang tetap dan fleksibel) – elemen bar alat khas – tujuan utama: menukar jarak antara butang pada bar alat

26) UITabBar – tabbar – tujuan utama: membantu bertukar antara pelbagai skrin yang tidak berkaitan

27) UITabBarItem – elemen tabbar – tujuan utama: jelas

Artikel ini memulakan siri yang ditujukan untuk pemula. Saya berani berharap tahap penyampaian bahan akan membolehkan orang yang tidak biasa dengan pengaturcaraan memahaminya. Mari kita mulakan cerita kita dengan penyimpangan lirik yang kecil. Aplikasi untuk iPhone dan iPad ditulis dalam Objektif-C. Bahasa ini digunakan secara meluas di NeXT dan datang ke Apple selepas kembalinya Steve Jobs. Pada masa ini, Objektif-C ialah bahasa utama untuk membangunkan aplikasi OS X dan iOS.

Untuk memulakan pengaturcaraan untuk iOS, anda memerlukan Mac berasaskan Intel dan persekitaran pembangunan XCode. Jika anda tidak mempunyai Mac, tidak mengapa. Mungkin salah satu kaedah yang diterangkan untuk menyelesaikan masalah ini akan sesuai dengan anda. Kami akan memberi tumpuan kepada XCode 4 dan iOS5.

Memasang XCode

Pertama, kita perlu mendaftar di tapak dev Apple. Ikuti pautan dan klik pada daftar. Klik butang Bermula dan selesaikan proses pendaftaran. Segala-galanya agak mudah di sana, jadi saya tidak akan memikirkan perkara ini. Selepas pendaftaran, anda akan dihantar e-mel dengan ID Apple anda. Kembali ke halaman Pembangun Apple dan gunakannya untuk memasuki kawasan selamat. Dalam bahagian DevCenters, klik pautan iOS. Seperti yang anda lihat, Apple menawarkan anda satu tan dokumentasi, sumber dan tutorial. Halaman ini mempunyai semua yang anda perlukan untuk memulakan pembangunan iOS. Di bahagian paling bawah terdapat butang Muat Turun Xcode yang perlu anda klik. Setelah dimuat turun, pasang Xcode pada Mac anda.

Mengenal Antara Muka XCode 4

Untuk melancarkan Xcode, pergi ke pemacu utama anda dan klik pembangun>Aplikasi.

Setelah Xcode dilancarkan, pilih Fail>Projek Baru, kemudian Aplikasi Paparan Tunggal dan masukkan HelloWorld sebagai Nama Produk. Akibatnya anda akan melihat sesuatu seperti ini

Semua kod dan sumber anda disusun ke dalam folder khas, yang terletak di sebelah kiri tetingkap Xcode. Panel dipanggil "Project Navigator" dan mengandungi semua elemen program anda. Fail kod sumber mempunyai sambungan ".h" dan ".m". Jika anda mengklik pada fail sedemikian, editor dengan kod akan dibuka di sebelah kanan Xcode.

Mari kita tidak memikirkan kod buat masa ini. Kami akan kembali kepada isu ini sedikit kemudian. Jika anda melihat bahagian atas skrin, anda akan melihat beberapa butang yang berkaitan dengan projek anda. Mari kita kaji panel ini dengan lebih terperinci.

Butang "Jalankan" memulakan projek anda. Anda boleh menguji aplikasi anda dan memastikan ia benar-benar berkelakuan seperti yang anda harapkan. Butang "Tugas" menghentikan aplikasi yang sedang berjalan.

Menggunakan butang Schemr, anda boleh memilih platform sasaran di mana aplikasi anda akan dijalankan. Di sini anda boleh memilih simulator dan nyahpepijat program pada komputer anda, atau menjalankannya pada iPhone (Peranti iOS) anda jika anda membayar yuran $99. Satu-satunya kelebihan yang diberikan oleh pembayaran ini ialah keupayaan untuk menjalankan program pada peranti sebenar dan menerbitkannya di App Store. Saya tidak akan mengesyorkan anda membelanjakan wang sehingga anda mempunyai program biasa sedia.

Titik putus adalah perkara yang sangat berguna. Menggunakan butang ini, anda boleh menandakan baris dalam kod sumber, dan apabila program mencapai baris yang ditanda semasa pelaksanaan, program akan berhenti seketika dan anda boleh melihat keadaan pembolehubah. Ini adalah alat yang sangat berkuasa dan digunakan secara meluas.

Klik butang "Jalankan". Anda akan melihat tetingkap emulator dengan projek anda. Seperti yang anda lihat, walaupun ia tidak bersinar dengan fungsi, ia hanya kosong.

Pengaturcaraan untuk iPhone - Langkah pertama

Cukup bergelut, mari kita kod sesuatu. Tetingkap Project Navigator mengandungi fail kod sumber. Klik pada beberapa fail .m. Sila ambil perhatian bahawa beberapa baris berwarna hijau - ini adalah ulasan yang bertindak sebagai helaian curang. Untuk tidak keliru dalam kod, pengaturcara boleh meninggalkan petunjuk dan penjelasan untuk dirinya sendiri. Untuk menandakan komen dalam bahasa C, gabungan garis miring // digunakan. Segala-galanya di baris di sebelah kanan aksara ini dianggap sebagai ulasan. Jika anda ingin menulis ulasan berbilang baris, anda boleh menggunakan gabungan /* dan */ untuk menunjukkan permulaan dan penghujung ulasan berbilang baris.

Sebelum kita memulakan pengekodan aplikasi, saya perlu menerangkan beberapa konsep kepada anda dengan jari saya: OOP (Pengaturcaraan Berorientasikan Objek), MVC (Modal View Controller), fail ".h" dan ".m". Jadi... pengaturcaraan berorientasikan objek melibatkan membahagikan semua kod kepada objek yang dipanggil, di mana data dan arahan yang memprosesnya disimpan. Objek dalam Objektif-C terdiri daripada dua fail.h dan .m. File.h dipanggil pengepala; ia mengandungi "lakaran" objek - semua data dan nama blok arahan (kaedah) yang terkandung dalam objek disenaraikan. Fail .m dipanggil fail pelaksanaan dan ia menerangkan secara terperinci semua yang ditunjukkan dalam pengepala; di sinilah semua logik program diprogramkan.

MVC (Model View Controller) ialah sesuatu yang memisahkan kod dan antara muka yang pengguna lihat. Model ialah data pengguna dan data yang anda tunjukkan kepada pengguna. View ialah antara muka pengguna dan kod yang menyediakan komunikasi antara View dan Model. Konsep MVC mungkin kelihatan terlalu sukar untuk anda sekarang, tetapi lama kelamaan anda akan melihat bahawa pendekatan ini benar-benar memudahkan kehidupan seorang pengaturcara. Konsep ini membayangkan susunan kerja berikut: pengaturcara secara berasingan mencipta templat reka bentuk aplikasi, di mana dia meletakkan semua butang, medan teks dan karut penting lain, dan menulis program secara berasingan. Kemudian ia menunjukkan XCode kaedah (blok kod) yang harus dipanggil sebagai tindak balas kepada tindakan pengguna tertentu dan nama apa ini atau elemen kawalan itu dalam teks program.

Kami membangunkan reka bentuk program untuk iPhone

Mari mulakan membuat aplikasi kami dengan membangunkan reka bentuk. Dalam tetingkap Project Navigator, klik MainStoryboard_iPhone.storyboard. Akibatnya, XCode akan melancarkan editor antara muka.

Di sudut kanan bawah anda melihat senarai objek (Perpustakaan) yang boleh digunakan dalam antara muka anda; di bahagian tengah tetingkap Lihat dipaparkan, yang mewakili susun atur antara muka program anda. Tetingkap kanan atas mempunyai beberapa mod, yang ditukar menggunakan ikon yang terletak di atas tetingkap. Rajah menunjukkan mod Pemeriksa Atribut. Di sini anda boleh menukar pelbagai atribut objek yang membentuk antara muka anda.

Mari seret objek Label dari tetingkap Perpustakaan ke susun atur tetingkap kami. Menggunakan tetikus, kami akan menukar saiz objek, seperti yang ditunjukkan dalam skrin di bawah. Pemeriksa memaparkan sifat objek Label. Mari kita pusatkan teks dengan mengklik pada ikon yang sepadan dalam baris Reka Letak.

Mari padamkan teks dalam medan Teks (perkataan Label ditulis di sana) dan masukkan "Some String" di sana.

Begitu juga, tambahkan butang pada susun atur (Objek butang)

Jadi, kami telah membangunkan reka bentuk aplikasi kami. Tiada apa-apa yang rumit, anda boleh mengklik butang Jalankan dan melihat kerja program anda dalam tetingkap emulator.

Mari mulakan pengekodan

Jadi, kami mempunyai dua komponen visual yang diletakkan pada susun atur. Kami mahu teks dalam baris berubah apabila butang diklik. Untuk melaksanakan idea ini, kita perlu mengakses baris (objek Label) daripada kod program dan memanggil kaedah (blok kod) apabila butang ditekan.

Klik pada fail "ViewController.h" di panel kiri. Kami akan menerangkan IBOutlet. IBOutlet menghubungkan kod kami kepada objek visual, seperti label atau butang. Tukar kod dalam fail ViewController.h supaya kelihatan seperti

#import @ antara muka ViewController: UIViewController( IBOutlet UILabel* label; //berikan rentetan kami nama Label } //ini adalah pengepala kaedah yang akan //dipanggil sebagai tindak balas kepada klik butang- Butang (IBAction)Klik: (id) penghantar; @akhir

Ini sahaja yang perlu kita tulis dalam fail pengepala. IBAction membolehkan anda menyambungkan kaedah kepada elemen antara muka pengguna, sebagai contoh, sebagai tindak balas kepada klik butang, kod program yang telah kami tulis akan dipanggil.

Jadi, kami berkata bahawa kami akan memanggil rentetan dengan label teks dan kaedah buttonClick akan dipanggil sebagai tindak balas kepada tindakan pengguna. Mari tulis kod untuk kaedah ini. Mari kita bertukar kepada fail ViewController.m dalam pepohon projek. Selepas talian @pelaksanaan... tambah kod

- Butang (IBAction)Klik: (id) pengirim( label. text= @ ”Hello from Mobilab. ru”; )

Perhatikan, jika anda menyalin kod ini, anda mungkin akan mendapat ralat semasa anda menjalankan program, kemungkinan besar masalahnya adalah dalam petikan. Padamkannya dan masukkannya dari papan kekunci.

Mari kita fikirkan apa yang kita lihat di sini. Kami mengakses objek label - baris teks pada skrin. Oleh kerana ini adalah objek, ia mempunyai pelbagai data di dalamnya (yang dalam OOP juga dipanggil sifat objek) dan kaedah yang boleh diakses dengan meletakkan titik selepas nama objek. Sifat teks bertanggungjawab untuk teks yang terkandung dalam rentetan.

Kami telah menyelesaikan pengekodan, yang tinggal hanyalah mengaitkan label dan butangKlik dengan elemen di dalam susun atur reka bentuk. Klik pada baris MainStoryboard_iPhone.storyboard dalam tetingkap Project Navigator untuk bertukar kepada pereka bentuk antara muka. Kemudian klik pada ikon "Lihat pengawal". Tukar kepada mod sambungan dalam pemeriksa (ikon terakhir). Lihat, garisan label telah muncul di kawasan Outlet pemeriksa. Ini ialah nama yang kami nyatakan dalam fail ViewController.h. Klik bulatan di sebelah kanan garisan label dan seretnya ke baris Beberapa Teks dalam reka letak reka bentuk.

Lakukan operasi yang serupa dengan butang. Klik pada butang dengan bulatan dalam kumpulan "Tindakan Diterima", kemudian klik pada butangKlik dan seretnya ke butang dalam reka letak. Akibatnya, menu konteks akan dibuka, yang dengannya anda boleh memilih masa untuk memanggil kaedah tersebut. Anda boleh, sebagai contoh, memanggil kod apabila pengguna menekan butang atau apabila dia melepaskannya. Terdapat banyak pilihan. Pilih "Sentuh Di Dalam".

Itu sahaja! Simpan projek dan klik pada butang "Jalankan" pada panel atas. Jika anda melakukan semuanya dengan betul, emulator dengan program anda harus bermula. Klik butang. Teks dalam baris sepatutnya berubah. Itu sahaja. Pelajaran pertama sudah tamat