Paano mahusay na magsimulang isawsaw ang iyong sarili sa pag-unlad ng iOS at kung ano ang kailangan para dito? Ano ang kailangan upang bumuo ng mga iOS application

Minamahal na mga ginoo, sa artikulong ito, binubuksan ko ang isang bagong seksyon na nakatuon sa programming para sa iPhone, kung saan tatalakayin natin ang mga isyu na kawili-wili kapwa sa mga baguhan at hindi pa nakakaalam, gayundin sa mga ObjC gurus, na, inaasahan namin, ay hindi mabibigo upang itama ang aming mga pagkakamali sa kanilang mga komento. Ang aralin ngayon ay para sa mga layuning pang-impormasyon lamang.

Mga Layunin ng Aralin

1.Saan magsisimula ng programming para sa iPhone.
2.Gentleman's developer kit.
3. Takdang-Aralin.

Panimula

Nakikita nating lahat ang ligaw na tagumpay ng AppStore na mga seksyon ng application ay lumalaki tulad ng mga kabute pagkatapos ng ulan. Ang mga editor ng lahat ng mga portal ng impormasyon tungkol sa mga iPhone ay wala sa kanilang mga paa at, nang hindi natutulog ng isang kindat, magsulat, magsulat, at magsulat ng mga review. At ang mga programa ay patuloy na lumalabas at lumilitaw at lumilitaw. Oras na para makilahok tayo sa prosesong ito at kunin ang ating piraso ng festive pie.

Saan magsisimula? Ang tanong ay medyo retorika. Siyempre, kung ikaw, mahal na mambabasa, ay isang abogado o, sabihin nating, isang tagabuo, napakahirap para sa iyo na magsimula at malamang na hindi mo dapat gawin ito nang seryoso, dahil, sa tingin ko, mas mahusay na gumawa ng isang bagay na mabuti kaysa gumawa ng maraming bagay na hindi maganda. Gayunpaman, hindi namin ibubukod ang sandali na gusto mong mag-program para sa kaluluwa, na ito ang iyong bagong libangan. Magandang hapon kung gayon. Gayunpaman, kung ikaw, mahal kong kaibigan, ay mayroon nang karanasan sa pagbuo ng mga aplikasyon, anuman ang wika - C, Pascal, Assembly, Delphi o sa wakas ay BASIC o kahit Logo (mayroong isa sa aking computer science textbook noong unang bahagi ng 90s), kung gayon dapat talaga kailangan kong subukan ang aking kamay sa mga iPhone apps.

Narito kami sa sagot sa pangunahing tanong, kung saan magsisimula. Magsimula sa mga pangunahing kaalaman, hindi mo kailangang lumayo, bibigyan kita ng ilang mga link na sa kalaunan ay magdadala sa iyo "sa Kyiv":

1. Para sa mga taong karaniwang hindi pamilyar sa wikang C - magsimula dito

2. Kapag nagprograma para sa iPhone, kakailanganin mo ng kaalaman sa OOP (object oriented programming). Hindi ito kasing hirap ng iminumungkahi ng pangalan; sa katunayan, ang OOP ay nakabatay sa ilang pangunahing mga prinsipyo, na, kapag naunawaan mo ang mga ito, madali kang makakagawa ng mga obra maestra. Basahin ang tungkol sa OOP.

3. Kung alam mo ang mga pangunahing kaalaman ng C, at hindi nagdudulot sa iyo ng anumang kahirapan ang OOP, inirerekomenda ka pa ring basahin ang pagkakaiba sa pagitan ng Objective-C na ginagamit sa MacOS (at iPhone, ayon sa pagkakabanggit) mula sa tradisyonal na C at C++. Ito ay inilarawan nang mahusay.

4.Makakakita ka rin ng mga sagot sa maraming tanong sa aming forum sa.

Ang iPhone programmer's kit ng isang ginoo, tulad ng toiletry bag ng isang manlalakbay, ay medyo kalat-kalat at, sa prinsipyo, sa paunang yugto ay hindi nangangailangan ng higit sa natural at mahal. Narito ang lahat ng kailangan natin upang makapagsimula:

b) Operating system MacOS Leopard bersyon 10.5.5.

c) Toolkit mula sa website ng Apple, ang tinatawag na SDK, development kit. Ang paketeng ito ay naglalaman ng lahat ng kailangan para sa pag-unlad. Maaari mo itong i-download dito: http://developer.apple.com/iphone, pagkatapos magrehistro.
d) Kailangan din talaga natin ng pasensya at tiyaga. Kung wala ito, sayang, walang paraan.

Maraming tao ang maaaring sumuko kaagad pagkatapos ng punto A. Sasabihin ko sa iyo nang matapat, bago ko nakilala ang iPhone, hindi pa ako nakipag-ugnayan sa Apple, at isinulat ko ang aking unang programa para sa iPhone nang wala man lang MacBook. Ako ay isang masugid na gumagamit ng Windows, na nagsimula sa aking pang-adultong buhay sa Windows 3.1 at nabuhay upang makita ang Windows Vista Ako ay nabighani sa kaginhawahan ng MacOS at hindi ko pinagsisihan ang pagbiling ito, kahit na ginugugol ko pa rin ang malaking bahagi ng aking oras sa. mga computer na may OS mula kay Bill Gates.

Para sa mga hindi kumbinsido sa mga salitang ito, mayroon pa ring paraan. Dahil ang paglipat ng mga computer mula sa Apple patungo sa isang platform na may isang Intel processor, naging posible (siyempre, hindi nang walang pagsasayaw at tamburin) na i-install ang MacOS sa isang regular na PC computer, aminin ko na ginawa ko ito sa aking sarili. Sa mundo, ang naturang OS ay kilala sa iba't ibang pangalan: Kaliway, Hackint0sh, atbp. Sa lahat ng mga serbisyo sa pagho-host ng file madali mong mahahanap ang larawang kailangan mo at sa pamamagitan ng pag-download nito, mai-install mo ang Makos sa iyong computer. At kahit na ninanais, pagkatapos ay ilunsad ito sa window ng VMWare. Hindi ko ilalarawan kung paano gawin ang lahat ng ito, hindi angkop na i-promote ang mga paraan ng pag-bypass sa lisensya sa mga Mac, ngunit gagawin ko ang problema upang bigyan ka ng babala laban sa ilang mga pagkakamali, pag-iwas sa kung saan hindi ka maaaring mawalan ng interes sa programming kahit na sa simula yugto ng paghahanda ng mga tool:

1. Kapag nag-i-install, LAGING gumamit ng hiwalay na hard drive na konektado bilang master sa IDE o SATA zero bus.
2. Huwag subukang i-install ang Leopard mula sa ilalim ng VMWare - Sinuri ko ito ng maraming beses - imposible, kahit na may mga tao sa network na nagsasabing nagawa nila ito.

3. Pagkatapos i-install ang Makos, maaari mong subukang patakbuhin ito mula sa Windows sa WWW, kung mayroon kang sapat na mapagkukunan. Gayundin, ang isang hiwalay na problema ay ang mga driver. Ang network ay malamang na maabutan ka sa sarili nitong, ang video ay magiging 800x600 - hangal na VGA. Ngunit ano ang gagawin sa iyong 8800GTX card, Wi-Fi adapter at asul na ngipin, pagkatapos ay depende sa iyong suwerte (mas madalas kaysa sa hindi).

4. Kahit gaano pa karaming mga larawan ang nakita ko - lahat sila ay may bersyon 10.5.1 o 10.5.2, ngunit kakailanganin namin ng hindi bababa sa 10.5.5 upang gumana. Ina-update ko ang aking Mac sa pamamagitan ng Internet, ngunit sa Hackintosh, kapag nag-update sa 10.5.5, ang trick na ito ay hindi gagana - mahuli ang mansanas, nasubukan din ito ng maraming beses. Mayroong isang algorithm sa network kung paano i-update ang hackin sa 10.5.5 habang pinapanatili ang pag-andar ng system - hanapin ito, makikita mo ito.

At kaya, ang mga tool ay inilarawan, magpatuloy tayo sa araling-bahay.

Ang aming araling-bahay ay magiging simple, ngunit napakahalaga; nang hindi ito kinukumpleto, ang lahat ng iba pang mga aralin ay magiging walang silbi na HTML na teksto para sa iyo, at ang aking trabaho ay hindi magiging katumbas ng halaga. Kaya, mahal na mga programmer ng iPhone, habang isinusulat ko ang Aralin Blg. 2, dapat mong:

A) Kumuha ng Mac o mag-install ng Hackintosh (para sa mga layuning pang-impormasyon lamang)

B) I-update ito sa bersyon 10.5.5.

C) I-download at i-install ang SDK mula sa Apple. Mag-download ng isang grupo ng mga halimbawa mula sa network, subukang i-compile ang lahat ng ito. Sa pangkalahatan, simulan ang pag-aaral nang random (ang pinakakaraniwang pamamaraan sa ating bansa, kamangha-mangha sa pagiging epektibo nito).

Sumulat ng mga review.
Rashid (aka rashn).

website Minamahal na mga ginoo, sa artikulong ito, binubuksan ko ang isang bagong seksyon na nakatuon sa programming para sa iPhone, kung saan tatalakayin natin ang mga isyu na kawili-wili kapwa sa mga baguhan at hindi pa nakakaalam, gayundin sa mga ObjC gurus, na, inaasahan namin, ay hindi mabibigo upang itama ang aming mga pagkakamali sa kanilang mga komento. Ang aralin ngayon ay para sa mga layuning pang-impormasyon lamang. Mga layunin ng aralin 1.Saan magsisimula ng programming para sa iPhone. 2.Gentleman's developer kit. 3. Gawang bahay...

Sa 2015, hindi ka na makakalabas nang hindi agad nakikilala ang isang taong nakakatugon sa dalawang pamantayan: 1. May iPhone/iPad siya. 2. Gusto niyang maging programmer. Ang sumusunod na seleksyon ng mga iOS application ay pinagsama-sama para lamang sa mga ganoong tao. Sa pamamagitan nito maaari mong matutunan ang isa o higit pa sa 20 pinakasikat na mga programming language sa mundo.

Tiobe index

Ang Tiobe Index ay isang ranggo ng katanyagan ng mga programming language sa mundo. Ito ay pinagsama-sama batay sa bilang ng mga link sa mga resulta ng mga sikat na search engine para sa query " + programming". Ang index ay binuo bawat buwan mula noong 1987. Sa kasalukuyan, ang data mula sa mga sumusunod na site ay ginagamit upang kalkulahin ang rating: Google, YouTube, Amazon, Baidu, Qq, Yahoo, Ebay, Hao123, Bing, Alieexpress, Alibaba at Cntv.

Ang halaga ng index ay kinakalkula para sa mga wikang nakakatugon sa dalawang kinakailangan. Una, kailangang Turing ang wika, at pangalawa, dapat mayroong artikulo tungkol dito sa Wikipediang Ingles. Paano matukoy na ang isang wika ay kumpleto na ang Turing? Kung ang anumang computable function ay maaaring isagawa dito, ito ay isang kumpletong wika ng Turing. Hindi natutugunan ng SQL ang unang criterion, ngunit gayunpaman, ang halaga ng Tiobe Index ay kinakalkula para dito sa loob ng maraming taon. Sa kabuuan, 237 mga wika ang nakikilahok sa pagraranggo.

Ginagamit ng mga analyst ang Tiobe Index sa kanilang trabaho upang mahulaan ang pag-unlad ng industriya ng IT. Sinusuri ng mga programmer ang kahulugan nito upang hindi magkamali sa pagpili ng vector ng propesyonal na pag-unlad. Ang 25 taon ng kasaysayan ng index ay nagbibigay-daan sa amin na may kumpiyansa na sabihin: "Ang mga mahusay na espesyalista sa wika na sumasakop sa unang 10 linya ng pagraranggo ay tiyak na hihilingin sa merkado ng paggawa sa susunod na 3-4 na taon."

Ang mga app sa koleksyong ito ay tatawaging mas tumpak na mga reference na aklat na may kakayahang magpatakbo ng code, sa halip na mga app na pang-edukasyon. Kailangan mong hatiin ang impormasyon sa mga aralin at makabuo ng mga halimbawa para sa pagsasanay sa iyong sarili.

1. Java

Ang halaga ng Tiobe Index para sa wikang ito ay 19.56%. Ginagamit ang Java sa 80-90% na porsyento ng mga application ng enterprise. Ang karamihan sa mga developer ng Android ay nagsusulat dito. Ang Java ay kadalasang ginagamit sa mga high-load na web application. Halos anumang bagay ay maaaring isulat sa wikang ito. Ito ang matagumpay na ginagawa ng daan-daang milyong developer sa lahat ng sulok ng planeta. Aplikasyon Java Develop Reference All In One naglalaman ng pinaka kumpletong impormasyon tungkol sa wikang ito.

2. C

Ang mga operating system at iba pang low-level na software ay nakasulat sa wikang ito. Tutulungan ka ng app na matutunan ang wika C Sanggunian.

3. C++

Ang C++ ay ang pangunahing wika para sa pagbuo ng software ng komersyal na aplikasyon. Ito ay mas mahirap matutunan kaysa sa Java, samakatuwid ay hindi gaanong sikat. Mayroong isang aplikasyon upang pag-aralan ito - C++ Reference.

4. C#

Ang wikang ito ay isang pinasimpleng bersyon ng C++ na idinisenyo upang gumana sa .NET Framework development environment. Mayroong isang application para sa mastering ang syntax ng wika C# Programming Language.

5.Python

Ang desktop at server software at mga high-load na web application ay nakasulat sa Python. Ito ay ginagamit ng Google at BitTorrent. Aplikasyon Sanggunian ng Developer ng Python 2 ay tutulong sa iyo na matutunan ang wikang ito.

6.PHP

Ito ang pinakasikat na programming language para sa paglikha ng mga web page. Bilyun-bilyong website ang nakasulat dito. Daan-daang milyong mga developer sa buong mundo ang nagmamay-ari nito sa isang antas o iba pa. Napakababa ng entry threshold para sa mga nagsisimula. Lumikha ng isang pahina na mukhang "Narito ako, narito ang aking pusa. Magpadala ng sulat sa pamamagitan ng form na ito" kalahating oras pagkatapos mong simulan ang pag-aaral ng PHP. Tutulungan ka ng application na makabisado ang teknolohiya Sanggunian sa PHP.

7. Java Script

Idinisenyo ang wikang ito upang mag-embed ng mga dynamic na script sa panig ng kliyente sa mga web page. Ito ay isang bihirang website na magagawa nang walang kahit man lang ilang linya ng Java Script code. Sa teoryang, maaari mong isulat ang halos lahat sa wikang ito: server (Node.js) at mobile (PhoneGap) na mga application. Simula sa OS X Yosemite, naging alternatibong macro language ang Java Script para sa OS X Apple Script. May mga alamat tungkol sa isang craftsman na muling isinulat ang Linux kernel sa JS. Maaari mong matutunan ang mga pangunahing kaalaman ng Java Script gamit ang application Java Script Programming Language.

8. Visual Basic para sa .NET

Upang magsulat ng isang programa sa wikang ito, hindi mo magagawa nang wala ang .NET Framework. Samakatuwid, walang hiwalay na aplikasyon para sa wikang ito. Ngunit ang syntax nito ay kapareho ng regular na Visual Basic, na tatalakayin sa ibaba.

9. Perl

Sa una ay nilikha para sa pagproseso ng malalaking volume ng data ng text. Ang saklaw ng application ay bahagyang nag-o-overlap sa PHP, at bahagyang sa wikang C Maaari kang maging mas pamilyar sa syntax nito at subukan ang iyong kamay sa pagsulat ng mga script sa application - Perl Programming Language

10. Layunin-C

Ang wikang ito ay ginamit sa loob ng 32 taon upang bumuo ng mga application na tumatakbo sa mga Apple device. Ang mga programa para sa OS X at iOS ay nakasulat dito. Maaari mong matutunan ang Objective-C gamit ang application Objective-C Programming Language

11. Asembleya

Assembler - nagbibigay-daan sa iyo na direktang ma-access ang mga command ng processor. Ito ang pinakamababang antas ng programming language. Ang kaalaman nito ay minsan kinakailangan upang lumikha ng mas mataas na antas ng mga programming language, operating system, at mga driver. Ang kakayahang basahin ang assembly code ay magiging kapaki-pakinabang sa mga analyst ng virus at mga taong sangkot sa pag-hack ng lisensyadong software. Mayroong tutorial para sa iOS - Assembly Programming Language.

12. Ruby

Ang wikang Ruby ay isang pinahusay na bersyong object-oriented ng wikang Perl na binuo sa Japan. Ito ay ginagamit upang lumikha ng mga web application gamit ang Ruby on Rails framework. Ito ay salamat sa balangkas na ito, na nagbibigay-daan sa iyo na napakabilis na mag-deploy ng mga web application, na si Ruby ay nasa napakataas na posisyon. Bagama't ang wika ay wala sa nangungunang 10, ang isang mahusay na espesyalista sa teknolohiyang ito ay 100% ay hindi mahahanap ang kanyang sarili na walang isang piraso ng tinapay sa susunod na limang taon. Mayroong isang app para sa pag-aaral Ruby Programming Language.

13. Delphi

Sa kasamaang palad, walang iOS app para sa wikang ito. Hindi nakakagulat. Una, upang magsulat ng isang programa sa Delphi hindi mo kailangang malaman ang syntax nito. Ito ay sapat na upang buksan ang kapaligiran ng pag-unlad, i-drag ang ilang mga pindutan at mga patlang ng input sa workspace, magtalaga ng mga parameter ng pag-uugali sa kanila sa pamamagitan ng pag-click sa kanang pindutan ng mouse, at iyon na. Ang kakayahang maunawaan ang source code ng Delphi ay magiging kapaki-pakinabang lamang sa mga batang programmer na dumating pagkalipas ng sampung taon at hinihiling ng kanilang mga superyor na gawin ang program na ito sa ilalim ng bagong bersyon ng Windows. Pangalawa, walang bagong nakasulat sa Delphi ngayon, at ang mataas na posisyon nito sa ranking ng Tiobe ay tinitiyak ng mga nagdurusa na kailangang baguhin ang software na 15 taong gulang.

14. Visual Basic

Ang kaalaman sa wika ay magiging kapaki-pakinabang para sa karamihan ng mga manggagawa sa opisina. Maaari kang magsulat ng maraming kapaki-pakinabang na bagay dito: pagkolekta ng data mula sa mga talatanungan sa isang talahanayan ng Excel, pagbuo ng mga file gamit ang isang template, awtomatikong pag-mail sa Outlook. Mayroong isang aplikasyon para sa pag-aaral - Visual Basic Programming Language.

15.Pascal

Dalawang-katlo ng mga Ruso, na ang mga taon ng paaralan at estudyante ay naganap sa huling bahagi ng 90s at 2000s, ang nagsasalita ng mga pangunahing kaalaman ng wikang ito. Sa maraming bansa sa buong mundo, nagkaroon ng tradisyon ng paggamit ng wikang ito upang magturo ng computer science. Sa pagpasok ng milenyo, habang ang edukasyon sa computer literacy ay nagsimulang ipakilala nang maramihan sa mga paaralan sa buong planeta, ang Delphi ay isa sa pinakamatagumpay na wika sa komersyo. Ang syntax ng wikang ito ay halos magkapareho sa syntax ng Pascal. Dahil dito, pinili ito ng mga manunulat ng kurikulum bilang unang programming language para sa milyun-milyong tao. Halos mamatay si Delphi noong huling bahagi ng 2000s, ngunit ang mga aklat-aralin sa computer science sa karamihan ng mga institusyong pang-edukasyon ay hindi pa rin na-update. Bibigyan ka ng isang app ng nakareserbang tiket sa upuan pabalik sa iyong pagkabata Pascal Programming Language.

16. matulin

Ang wikang Swift ay inihayag noong tagsibol ng 2014. Ito ay ginagamit upang bumuo ng mga application para sa iOS at OS X. Ito ay nakaposisyon bilang isang mas ligtas na alternatibo sa Objective-C. Aplikasyon Mabilis na Programming Language ay isang kumpletong tutorial sa wika na pinagsama-sama ng mga programmer ng Apple.

17. MATLAB

Ang MATLAB ay isang wika para sa pagsasagawa ng mga teknikal na kalkulasyon ng iba't ibang antas ng pagiging kumplikado sa isang software package na may parehong pangalan, na ginagamit ng milyun-milyong inhinyero sa buong mundo. Aplikasyon MATLAB Mobile ay isang pinasimpleng bersyon ng MATLAB software package para sa iOS , kasama ang kumpletong gabay sa wika. Isang kailangang-kailangan na bagay para sa mga mag-aaral sa unang taon sa mga teknikal na unibersidad.

18.SQL


Ang SQL ay isang pamamaraang wika para sa pagtatrabaho sa mga database. Sa tulong nito, maaari kang magpasok ng data sa mga database, at pagkatapos ay basahin, baguhin at tanggalin ang mga ito. Wika ng SQL Programming ay nagbibigay-daan sa iyo na matutunan ang SQL at ang mga tampok ng application nito para sa pinakakaraniwang relational database management system: MySQL, SQL Server, PostgreSQL, Oracle, atbp.

19. R

Ang R ay isang wika para sa pagpoproseso ng istatistikal na impormasyon. Ito ay binuo sa maraming sikat na data analysis program sa mundo: SPSS, Statistica, SAS. Maaari mo itong pag-aralan gamit ang application R Wika sa Programming.

20. COBOL

Ang wikang COBOL ay umiral mula noong 1959. Ito ay isa lamang sa 20 pinakasikat na wika sa mundo, ang paglikha nito ay pinangunahan ng isang babae - Rear Admiral ng American Navy Grace Hopper. Sa una ay idinisenyo para sa paglikha ng mga aplikasyon sa negosyo. Maraming mga sistema ng paglilipat ng pera, na nagsimula noong dekada 70, ay nakasulat sa COBOL. Ang mga pampubliko at pribadong korporasyon ng US ay may maraming tumatakbong sistema na nangangailangan ng teknikal na suporta at nakasulat sa COBOL. Sa ilang mga institusyong pang-edukasyon sa Amerika, ang wikang ito ay ginagamit upang turuan ang mga mag-aaral ng programming. Tutulungan ka ng application na makilala ito COBOL Programming Language.

Konklusyon

Ang App Store ay may mga app para sa pag-aaral din ng mga hindi gaanong sikat na wika. Kung susubukan mo ng kaunti, makakahanap ka ng mga application na pang-edukasyon doon para sa susunod na 30 linya sa rating ng Tiobe Index.

Ang propesyon ng isang programmer ay isa sa pinaka-prestihiyoso at hinihiling, iyon ay isang katotohanan. Ang industriya ng software development ay may mga niches nito. Sa mga ito, ang pinakamabilis na lumalago, at kasabay nito ang pinakamataas na bayad, ay ang pagbuo ng software para sa mga mobile device. Tulad ng alam mo, nagkataon na, na iniwan ang kanilang mga kakumpitensya sa malayo, tatlong pare-parehong karibal ang nanguna. Ang daya ay ang isa sa tatlong ito ay ang hindi mapag-aalinlanganang pinuno, habang laging may nakakahuli.

Sa segment ng mobile na teknolohiya, walang alinlangang nangunguna ang Apple sa iPhone smartphone nito. Sa isang pagtatanghal na ginanap noong Setyembre, ipinakita ng kumpanya ng Cupertino ang ika-7 bersyon ng mobile device. Kasabay nito, ipinakilala ng Apple ang isang bagong bersyon ng mobile operating system na iOS 10. Ngayon ito ang pinakamahalagang operating system sa mundo, tulad ng mga nauna nito. Kasunod nito na ang pag-aaral ng pagpapaunlad ng iOS ay ang pinakamahusay na pamumuhunan ng oras at pera.

Ecosystem ng Apple

Ngayon kami ay bubuo ng isang simpleng mobile application para sa iOS. Siyempre, ang isang katutubong Mac ay pinakaangkop para dito. Ngunit kung isa kang tagasuporta ng Windows o wala kang Mac, maaari mong i-install ang macOS operating system sa ilalim ng virtual machine sa Windows. Sa Internet, hindi magiging mahirap para sa iyo na makahanap ng bersyon ng macOS na espesyal na iniakma para sa PC, na sikat na tinatawag na Hackintosh. Huwag mag-atubiling i-install ito sa isang VMware virtual machine, VirtualBox - ang iyong pinili. Hayaan akong balaan ka kaagad na ang PC keyboard ay walang ilan sa mga key na nasa Mac keyboard, at marami sa kanilang mga kumbinasyon ay hindi maaaring pindutin sa Hackintosh. Ito ay medyo nakakasira ng mood. Kung hindi, ang lahat ng mga operasyong inilarawan sa ibaba ay maaaring matagumpay na maisagawa sa Hackintosh.

Kinakailangang kaalaman

Upang mag-program sa pangkalahatan at para sa iOS sa partikular, kailangan mong malaman ng marami. Ang matematika at lohika ay maaaring hindi kailangan sa simula, ngunit sila ay hihilingin sa ibang pagkakataon. Inalis ng modernong teknolohiya ang pangangailangan para sa isang programmer na magkaroon ng masusing kaalaman sa arkitektura ng computer, ngunit ang pag-unawa sa mga pangunahing mekanismo tulad ng mga sistema ng numero, ang kanilang conversion, ang bilis ng mga subroutine o ang kahusayan ng mga algorithm (malaking O) ay kinakailangan.

Sa mas mataas na antas, ang isang developer ng iOS ay kailangang magkaroon ng malalim na kaalaman sa macOS operating system at sa iOS mismo. Kailangan mo ring makabisado ang Apple programming language. Ang kaalaman sa Delphi, C++, C# o VB.NET ay hindi makakatulong sa iyo. Ang Apple ay may sariling ecosystem na may sariling mga wika: Objective-C at Swift. Siyempre, ang kaalaman sa C++ ay hindi kailanman nakapipinsala sa sinuman ang mga programa at pagsingit batay dito ay matatagpuan sa lahat ng dako, kahit na sa Apple. Ngunit ang pinaka-ginagamit ayon sa kahulugan ay Objective-C, dahil lang ito ay lumitaw nang mas maaga (sa kalagitnaan ng otsenta ng huling siglo), habang si Swift dalawang taon lamang ang nakalipas (noong 2014). Malaki ang pag-asa ng Apple para sa bagong wika at malaki ang pamumuhunan dito. Ang Objective-C ay ginagamit upang suportahan ang lumang software, at ang bago ay nakasulat sa Swift. Kaya't mainam na malaman mo ang dalawa.

Upang hindi mag-aksaya ng oras, ang lahat ng mga programming language na ito ay maaaring matutunan sa ilalim ng mahigpit na pangangasiwa ng mga guro sa website.

Mga Tool sa Pag-unlad

Tulad ng alam mo, ang pangunahing tool ng developer para sa macOS at kasama nito ang iOS ay ang programming environment Xcode. Kabilang dito ang mga tool para sa paglikha ng mga application para sa Mac, iPhone, iPad, Apple TV, Apple Watch. Lahat ng platform ng Apple. Ang Xcode ay naglalaman ng Interface Builder, isang code editor na sumusuporta sa lahat ng mga modernong tool ng code. Bilang karagdagan, nang hindi umaalis sa Xcode, maaari mong subukan ang application; kung ito ay binuo para sa isang panlabas na aparato, pagkatapos ay maaari itong patakbuhin sa isang emulator.

Kasama sa system ang mga emulator ng lahat ng device, na maaaring ma-download ang mga bagong bersyon. Bilang karagdagan, ang Xcode ay naglalaman ng mga graphical na tool para sa pagsusuri ng pagganap ng application, kabilang ang mga tool para sa pag-diagnose ng CPU load, paggamit ng storage (HDD, SDD at iba pa), load sa graphics adapter (mula sa OpenGL side).

Noong Setyembre 13, isang bagong, mainit na inaasahang bersyon ng development environment 8.0 ang inilabas. Maaaring ma-download nang libre ang mga matatag na bersyon mula sa App Store. Ang mga alpha at beta ay ipinamamahagi sa pamamagitan ng subscription ng developer. Kasama sa ikawalong bersyon ang: bagong bersyon ng Swift 3 na wika, learning tool para sa Swift Playground para sa iPad, bagong bersyon ng Interface Builder, na naging mas mabilis at nagbibigay-daan sa iyong tingnan ang layout ng application sa iba't ibang platform, nang hindi na kailangang i-deploy ang application mismo sa simulator.

Maaaring gamitin ang Xcode 8 upang bumuo ng mga application para sa macOS Sierra, iOS 10, watchOS 3 at tvOS 10. Available ang lahat ng SDK. Ang mga bagong bersyon ng mga operating system ay nagsimulang lumitaw nang tuluy-tuloy pagkatapos ng pagtatanghal ng Apple, na naganap noong unang bahagi ng Setyembre.

Layunin-C wika

Alalahanin natin sandali ang pangunahing impormasyon tungkol sa wika. Ang Objective-C ay isang pinagsama-samang object-oriented na programming language na ginagamit para sa pagsusulat ng mga application para sa mga Apple system. Ito ay isang superset o, sa madaling salita, isang add-on sa C, na nagmana mula sa huling syntax, mga uri ng data, mga pamamaraan ng pagsubaybay sa pag-unlad ng pagpapatupad ng programa at pagdaragdag dito ng mga kakayahan ng object-oriented programming - isang paglalarawan ng mga klase at mga pamamaraan.

Tulad ng sa C++, sa Objective-C ang sentral na papel ay ginagampanan ng mga bagay, na nauugnay sa apat na paradigms: abstraction, encapsulation, inheritance, polymorphism. Ang C++ ay isang malakas na na-type na wika, habang ang Objective-C ay mahinang na-type o may isang dynamic na sistema ng uri ng data. Tulad ng Smalltalk, ang Objective-C ay nagpapadala ng mga mensahe sa mga bagay. Ito ay isang pambihirang tampok ng mga dynamic na wika dahil ang uri ng mga bagay ay sinusuri sa runtime kaysa sa oras ng pag-compile.

Ang paglalarawan ng Objective-C na wika ay tumatagal ng higit sa isang malaking volume. Samakatuwid, upang makakuha ng layunin na kaalaman, maginhawang kunin ang kursong "". Ang buong seksyon ng kurso ay nakatuon sa wikang ito.

Pag-unlad ng iOS application

Bilang isang sample, bubuo kami ng isang napaka-simpleng aplikasyon. Huwag tayong lumihis sa sagradong tradisyon, batiin natin ang mundo. Gayunpaman, isinasaalang-alang ang katotohanan na mayroon kaming isang graphical na application, pag-iba-ibahin namin ito ng kaunti: magdaragdag kami ng isang pindutan, kapag na-click, ipapakita o itatago namin ang inskripsyon na "Hello, World".

Ilunsad ang Xcode, sa window na lilitaw, piliin ang Lumikha ng bagong proyekto o sa pangunahing menu File -> Bago -> Proyekto. Hihilingin sa iyo ng susunod na window na piliin ang target na platform at uri ng application.


Sa kasong ito, interesado kami sa platform ng iOS. Mayroong pitong uri ng mga application na mapagpipilian. Anim sa mga ito ay mga template para sa karaniwang mga application ng iOS operating system, na naglalaman ng ibang hanay ng mga bahagi bilang default. Ang ikapitong uri ay paglalaro.

Mga Uri ng Application

  • Ang template ng Single View Application ay idinisenyo para sa isang simpleng single-screen na application. Kasama sa preset ang isang bahagi ng View Controller, na nagbibigay-daan sa iyong i-customize ang hitsura ng application gamit ang taga-disenyo ng form ng Interface Builder.
  • Ang Master Detalye Application ay lumilikha ng isang application na nagpapakita ng isang koleksyon ng mga bagay sa isang table view. Pagkatapos pumili ng isa sa mga ito, ipinapakita ang detalyadong impormasyon tungkol sa bagay na iyon. Ang unang view ay ang master, ang pangalawa ay ang detalye.
  • Gumagawa ang Application na Nakabatay sa Pahina ng mga application na mayroong maraming screen, tulad ng mga page sa isang libro. Dahil dito, ang mga e-reader ay nilikha mula sa blangko na ito.
  • Binibigyang-daan ka ng naka-tab na application na lumikha ng mga application kung saan ang bawat screen ay maaaring ilipat sa anumang oras, iyon ay, ang bawat screen ay may sariling pindutan upang i-activate ito, kung saan ipinapakita ang pamagat. Ang isang halimbawa ay iTunes.
  • Ginagamit ang laro upang lumikha ng template ng laro. Mayroong apat na balangkas na mapagpipilian para sa paglikha ng isang laro: SpriteKit, SceneKit, OpenGL ES, Metal. Tingnan natin sila sa madaling sabi.
    Ang SpriteKit ay isang sistema para sa 2D rendering at animation ng mga naka-texture na parihaba - mga sprite. Kapag nagpapakita ng mga frame, isang karaniwang loop ang ginagamit, ang frame ay ipinapakita pagkatapos maproseso ang lahat ng nilalaman ng eksena.
    Ang SceneKit ay isang high-level na framework para sa pag-render ng 3D graphics nang walang OpenGL. Sinusuportahan nito ang paglo-load, pagmamanipula ng mga 3D na bagay. Kabilang dito ang: isang physics engine, isang particle generator at isang madaling paraan ng scripting.
    Ang OpenGL ES ay isang pamantayan sa computer graphics. Binibigyang-daan kang mailarawan ang mga 2D at 3D na eksena. Binibigyang-daan kang ilarawan ang pipeline para sa isang video card: ang mga vertice ay sumasailalim sa pagbabagong-anyo, ay binuo sa primitives, na rasterized sa isang dalawang-dimensional na imahe at ipinapakita sa screen. Maaaring isama ang mga programmable shader sa pipeline.
    Ang metal ay isang mababang antas ng API na magbibigay-daan sa iyong i-squeeze ang lahat ng power out ng iyong video adapter. Ang mga streamline na API kasama ng mga precompiled shader at multi-threading ay nagdadala ng iyong laro sa mga bagong antas ng performance at kalidad.
  • Ang Sticker Pack Application ay isang bagong uri ng application na ipinakilala sa iOS 10 at Xcode 8. Ito ay isang set ng simple o animated na mga imahe na ginamit sa bagong iMessage. Hindi ito nangangailangan ng coding upang malikha ito.
  • Ang iMessage Application ay isang bagong uri ng application na lumabas sa iOS 10 at Xcode 8. Binibigyang-daan kang gumawa ng mga add-on para sa iMessage, halimbawa upang bilhin at i-download ang iyong sticker pack. Maaari mo ring gamitin ang iMessage API upang lumikha ng sarili mong analogue ng application na ito, kabilang ang pag-play ng audio, video, paggamit ng mga sticker, at higit pa.

Paglikha ng unang proyekto

Bilang template para sa aming application, pipiliin namin ang Single View Application. Dahil hindi tayo bubuo ng malaking programa, ang mga pondong ibibigay ng probisyong ito ay magiging sapat para sa atin. I-click ang Susunod. Sa susunod na pahina ng wizard, kailangan mong magpasok ng pangalan ng proyekto, halimbawa ShowLab. Sa drop-down na listahan ng Wika, iwanan ang default na wika na napili - Objective-C. Susunod, sa drop-down na listahan ng Mga Device, iwanan ang Pangkalahatang seleksyon. Dito matutukoy mo kung aling device (iPhone o iPad) ang ginagawang application. Ang ibig sabihin ng Universal clause ay para sa pareho. Alisan ng check ang mga kahon ng Isama ang Mga Pagsusuri sa Unit at Isama ang Mga Pagsusuri sa UI; hindi namin kailangan ng anumang mga pagsubok. Susunod. Pumili ng folder upang i-save ang proyekto. Ngayon i-click ang button na Lumikha.

Bilang resulta, magbubukas ang isang window na may listahan ng lahat ng mga parameter na inilapat sa proyekto. Sa window na ito, maaari mong baguhin ang mga parameter na dati nang itinakda sa wizard: oryentasyon, target na device, atbp.


Una kailangan nating lumikha ng interface ng application. Upang gawin ito, piliin ang Main.storyboard file sa listahan sa kaliwa sa isang pag-click (kung hindi nakikita ang file na ito, palawakin ang mga nilalaman ng ShowLab folder). Sa kanan ng listahan, ang buong window ay sasakupin ng Interface Builder. Ang layout ng device ay ipapakita sa gitna. Sa kanang sulok sa ibaba ng window mayroong isang panel ng bahagi. I-drag ang mga bahagi ng Label at Button mula doon papunta sa layout. Sa itaas ng panel ng bahagi ay isang listahan ng mga katangian. Kung wala ka nito, i-click ang button na Ipakita ang Attributes Inspector, na matatagpuan sa ilalim ng pamagat ng window sa kanang bahagi ng interface.

Piliin ang sangkap na Label sa layout at i-configure ang Text property nito: iwanan ang Plain na seleksyon sa drop-down na listahan, ilagay ang nais na inskripsiyon sa linya sa ibaba, sa aming kaso na "Hello, World". Kung ang teksto ay hindi magkasya sa loob ng mga hangganan ng label, baguhin ang mga ito sa pamamagitan ng pag-drag sa mga hawakan sa mga gilid ng bahagi. Upang isentro ito nang pahalang, pumunta sa pahina ng Size Inspector sa pamamagitan ng pag-click sa button na Ipakita ang Size Inspector (sa kanan ng Show the Attributes Inspector). Sa page na ito, mula sa drop-down na listahan ng Ayusin, piliin ang Center Pahalang sa Container.

Ngayon piliin ang Button component, baguhin ang Text property nito sa nais na label - Lumipat. Maaari mo itong isentro sa parehong paraan tulad ng inilarawan sa itaas.

Paglikha ng koneksyon sa pagitan ng mga graphic na elemento at code

Sa Visual Studio (o Delphi), awtomatikong nalilikha ang isang object sa code sa sandaling maglagay ka ng visual component sa form. Hindi ito nangyayari sa Xcode, ngunit hindi ito nagdudulot ng mga problema.

Buksan ang mga nilalaman ng ViewController.h header file sa isang hiwalay na window sa pamamagitan ng pag-double click dito. Ang file na ito ay naglalaman ng isang deklarasyon ng isang extension ng klase ng UIViewController, na minarkahan ng @interface na keyword. Idinagdag ang feature na ito sa pangalawang bersyon ng Objective-C. Ngayon gawin ang trick na ito: ilipat ang cursor ng mouse sa isang bahagi - isang text label, pindutin nang matagal ang Ctrl key at ang kaliwang pindutan ng mouse. Ilipat ang cursor sa window na may code (file ViewController.h), susundan ng asul na linya ang cursor. Bitawan ang mouse at key sa loob ng paglalarawan ng interface ng ViewController.

Lalabas ang window ng paggawa ng Outlet.


Ito ay isang pag-aari ng isang bagay na tumutukoy sa isa pang bagay (sa kasong ito, isang visual na bahagi). Kailangan mong ipasok ang pangalan ng Outlet object, kung saan maa-access mo ang visual component, hayaan itong maging lab. Susunod, ang uri ng bagay ay napili, ito ay napili nang tama: UILabel.

Kahit na mas mababa sa listahan ng Storage, piliin ang uri ng object reference: mahina o malakas. Kung pipiliin mo ang malakas, ang bagay na itinuro ng property ay iiral hangga't ang property ay nakaturo dito, kung saan hindi ito awtomatikong tatanggalin kapag hindi na ito ginagamit. Sa kabilang banda, kapag may mahinang sanggunian, ang bagay ay maaaring makasira sa sarili. Kaya, piliin ang mahinang uri ng link at i-click ang pindutan ng Connect. Bilang resulta, ang sumusunod na linya ay idaragdag sa code:

@property (mahina, nonatomic) IBOutlet UILabel *lab;

Siguraduhin natin na ang Outlet ay pag-aari.

Ngayon, gumawa tayo ng Outlet para sa button. Ang algorithm ay nananatiling pareho. Para lang sa property na Pangalan kailangan mong maglagay ng ibang pangalan, halimbawa ngunit. Ang linya ay idaragdag sa code:

@property (mahina, nonatomic) IBOutlet UIButton *ngunit;

Bilang resulta, mayroon kaming dalawang pointer sa mga visual na bahagi: lab at ngunit - ayon sa pagkakabanggit, isang inskripsiyon at isang pindutan. Ngayon, gamit ang mga pointer, maaari nating manipulahin ang mga bahagi sa code.

Pagkatapos ay kailangan mong lumikha ng isang button na tagapangasiwa ng kaganapan. Upang gawin ito, buksan ang file ng pagpapatupad na ViewController.m sa isang hiwalay na window. Sa eksaktong parehong paraan tulad ng pag-drag mo sa linya papunta sa header file upang lumikha ng outlet, mula sa pindutan, i-drag ang linya sa file ng pagpapatupad at i-drop ito sa closing command bracket - @end. Lilitaw ang isang window para sa paglikha ng isang kaganapan, katulad ng window para sa paglikha ng isang outlet. Nakikita mo ang pagkakaiba: isang link sa isang bagay ay nilikha sa header file, isang paraan ay nilikha sa file ng pagpapatupad.


Punan ang field na Pangalan, ang halaga nito ay kumakatawan sa pangalan ng property - method. Hayaan itong maging onClick. Iwanan ang Type field value bilang default - id. Sa Objective-C, ang ganitong uri ay ang ninuno ng lahat ng iba pa. Sa drop-down na listahan ng Event, ang Touch Up Inside na kaganapan ay pinili bilang default, na nangyayari kapag ang pointer (mouse, daliri...) ay inilabas sa ibabaw ng button, iyon ay, ang huling yugto ng pagpindot sa button. Ito ang kailangan natin. Sa listahan ng Mga Argumento, iiwan namin ang default na halaga: Ang nagpadala ay ang bagay na nagpadala ng signal na ito, sa aming kaso ito ay palaging isang pindutan. I-click ang button na Connect. Bilang resulta, ang sumusunod na code ay idaragdag:

- (IBAction)onClick:(id)nagpadala ( )

Ang isang minus sa simula ay nangangahulugang isang saradong paraan (pribado). Ang keyword ng IBAction ay nagmamarka ng mga kaganapan (paraan) ng mga visual na bahagi mula sa Interface Builder.

Sa pagitan ng mga command bracket ay isusulat namin ang code na naisakatuparan kapag pinindot ang pindutan:

Lab.hidden = !_lab.hidden;

Sa linya ng code na ito ay binabaligtad namin ang halaga ng nakatagong ari-arian. Ito ay may uri ng BOOL, na may dalawang halaga: OO - totoo at HINDI - mali (medyo hindi karaniwan para sa mga programmer ng Windows, kung saan totoo at mali).

Bigyang-pansin ang underscore na character bago ang pangalan ng bagay - ang label (_lab). Kung wala ito, mabibigo ang compilation. Awtomatikong idinaragdag ang underscore para sa mga bagay na nasa loob ng iba pang mga bagay; ibig sabihin, sa kasong ito, ang lab object ay nakapaloob sa ViewController object. Dati, ito ay isang kumbensyon na ginagamit upang makilala ang mga bagay na idineklara bilang mga miyembro ng isang klase at mga lokal na bagay. At ngayon ito ay isang mahigpit na panuntunan na ipinatupad sa compiler ng wika.

Ngayon ay maaari mong i-compile ang application at patakbuhin ito sa simulator. Pinili namin ang iPhone 7 simulator na kasama sa Xcode 8. Ang compile at run button ay isang itim na parihaba at matatagpuan sa bar sa tuktok ng interface.

Matapos i-compile ang application, ilunsad ang simulator at i-load ang aming application, ang interface nito ay ipapakita sa screen ng simulator: ang inskripsyon na "Hello, World" at ang Switch button. Kung pinindot mo ang huling isa, mawawala ang inskripsyon kung pinindot mo ito muli, lilitaw itong muli.

Gumawa kami ng napakasimpleng application upang maunawaan ang kakanyahan ng pag-unlad ng iOS. Maaari kang matuto ng mas detalyadong impormasyon tungkol sa paglikha ng mga iOS application sa Objective-C mula sa kurso ng aming mga kaibigan mula sa GeekBrains "". Ang kurso ay naglalaan ng dalawang buwan sa pag-aaral ng wikang ito. Sa unang buwan - mga panimulang paksa, at sa pangalawa - totoong coding ng mga propesyonal na aplikasyon.

matulin na wika

Noong 2014, ipinakilala ng Apple ang isang bagong programming language - Swift. Mabilis itong naging pinakapinag-uusapan at pinakamabilis na lumalagong wika sa mundo. Isa itong maaasahan, secure, intuitive na wika para sa pagbuo ng mga application para sa macOS, iOS, tvOS at watchOS operating system para sa buong fleet ng mga Apple device. Ang Swift ay isang mahusay na programming language. Mas madaling matutunan kaysa sa hinalinhan nito, ang Objective-C, at hiniram ni Swift ang ilan sa mga pinakamahusay na ideya nito. Kasabay nito, ginawa ng mga developer na magkatugma ang mga wika, iyon ay, ang isang programa ay maaaring maglaman ng code sa parehong Swift at Objective-C. Mayroong bilyun-bilyong linya ng code at daan-daang libong legacy na programa na nakasulat sa Objective-C sa mundo, kaya tiyak na hindi pababayaan ang suporta nito.

Sa pagbuo ng Swift, ang layunin ay lumikha ng pinaka-maginhawang wika ng programming ng system - mabilis, ligtas at nagpapahayag.

Ang algorithm sa Swift ay 2.6 beses na mas mabilis kaysa sa parehong algorithm sa Objective-C, at 8.4 beses na mas mabilis kaysa sa Python. Ang paggamit ng Swift ay ginagawang mas flexible at maginhawa ang proseso ng pagbuo ng program.

Dahil sa exponential development nito, ang wikang Swift ay inilabas sa open source na komunidad noong Disyembre 3, 2015. Kasabay nito, mahigpit na sinusubaybayan ng Apple ang pag-unlad nito, nag-aayos ng isang komite para sa pag-unlad nito. Magagamit na ngayon ang Swift hindi lamang sa mga Apple system, kundi pati na rin sa Linux. Ang lahat ng karagdagang tool para sa pagtatrabaho sa wika, kabilang ang isang debugger, karaniwang library, manager ng package, ay libre at bukas din.

Ang wikang ito ang kinabukasan. Maaari mong malaman ang mas detalyadong impormasyon tungkol dito mula sa nabanggit na kurso mula sa GeekBrains "", kung saan ang isang buong buwan ay nakatuon sa pag-aaral ng programming language na ito.

App Store

Sa madaling salita, ang App Store ay isang content store para sa buong hanay ng mga Apple device. Dito maaari kang bumili ng mga laro at application mula sa parehong malalaking kumpanya at mga independiyenteng developer. Ang bawat developer, kahit saang bansa siya nakatira, ay maaaring ibenta o ipamahagi ang kanyang mga programa nang libre sa digital distribution platform na ito. Upang simulan ang paggawa nito, kailangan mong magparehistro bilang isang developer at bumili ng lisensya para ibenta ang iyong mga aplikasyon. Isa itong bayad para sa serbisyong ibinigay at sa pagbuo ng App Store.

Mga resulta

Nakabuo kami ng isang simpleng application para sa iOS mobile operating system gamit ang Xcode programming system kasama ang Objective-C na wika. Sinubukan namin ang natapos na application sa isang iPhone 7 simulator Natutunan namin kung paano bumuo ng user interface gamit ang Interface Builder, kung paano iugnay ang mga graphic na elemento sa application code, at kung paano gumawa ng mga tagapangasiwa ng kaganapan. Nakilala namin ang mga pangunahing kaalaman ng Objective-C. Bilang karagdagan, iginuhit namin ang pansin sa promising Swift language, na ginamit upang bumuo ng makapangyarihan at secure na mga application para sa Apple ecosystem.

Gayunpaman, ang materyal na pinag-aralan ay simula pa lamang. Upang masinsinang i-upgrade ang iyong sarili sa direksyon ng mobile coding at ang pagbuo ng aktwal na pagbebenta ng mga application, inirerekomenda naming kunin ang kursong "" sa website ng aming mga kaibigan.

Ito ay isang karapat-dapat na kurso: kung kukunin mo ito, tiyak na hindi mo sasayangin ang iyong oras. Nagsisimula ito sa dalawang detalyadong kurso sa wikang Java, na sinusundan ng pag-aaral ng basic programming para sa Android mobile operating system. Susunod ay isang kurso sa mga database sa pangkalahatan at ang wikang SQL sa partikular. Pagkatapos ay isang malalim na kurso sa pagbuo ng mga propesyonal na Android application. Pagkatapos nito, lilipat ang vector ng pag-aaral patungo sa mga Apple system: dalawang detalyadong kurso sa Objective-C na wika at isang kapaki-pakinabang na kurso sa Swift.


Ang mga lektura ng kurso ay itinuro ng mga propesyonal na guro na may malawak na karanasan sa pagbuo ng software. Kung may hindi malinaw, maaari kang magtanong nang walang pagkaantala. Sa pangkalahatan, ang pag-aaral sa GeekBrains ay isang live na proseso, maaari kang makipag-usap, magtanong, at tumulong sa mga sagot. Upang subukan ang nakuha na kaalaman, ang mga guro ay nagbibigay ng araling-bahay, na pagkatapos ay sinusuri. Pagkatapos makumpleto ang pagsasanay, magkakaroon ka ng garantisadong internship sa isang kumpanya ng IT. At pagkatapos ang lahat ay nakasalalay sa iyo, kung ipapakita mo ang iyong sarili bilang isang karampatang espesyalista, ikaw ay anyayahan na magtrabaho.

Espesyal na proyekto sa kumpanya

Hello mga kaibigan.

Nagpasya akong radikal na baguhin ang saklaw ng aking aktibidad (pag-optimize at pag-promote ng mga website, at mga online na tindahan) at seryosohin ang pagpapaunlad ng iOS. Walang tiyak na karanasan sa programming, lahat ay nasa pangkalahatang konsepto lamang sa antas ng pangunahing teorya. Nilapitan ko ang pag-unlad mismo mula sa punto ng view ng propesyonal na pag-unlad at kumita ng pera mula dito, pati na rin mula sa punto ng view ng simpleng kawili-wiling negosyo at posibleng mga proyekto ng aking sarili.

Binasa ko ang toaster sa aking paksa, kaya ang mga tanong na "anong mga libro ang dapat kong basahin?" hindi ako magtatanong.

1. Gaano kabilis ko kailangan ang isang MacBook upang sumisid sa pag-unlad? Alam ko talaga na sa huli ay wala ako kung wala siya. Ang katotohanan ay ang pagbili ay hindi isang problema (hindi ako isang milyonaryo, ngunit para sa mga seryosong pagbabago sa propesyonal handa akong gumastos ng $ 1000-1500 sa mga kagamitan sa pagtatrabaho), ngunit mayroon bang anumang punto sa paggastos ng gayong mga paunang gastos nang hindi alam ang ganap na wala. tungkol sa paksa? Sapat ba, sabihin nating, mag-install sa Windows 7 (kung gayon: HP, 2 x 1.7 GHz, 2 GB memory, pinagsamang video) anumang emulator at hindi bababa sa unang dalawang buwan upang maunawaan ang paunang base at mga pangunahing konsepto?

2. Gaano kalakas ang isang MacBook para sa isang developer ng iOS? Sabihin natin kung ang isang MacBook Air 13" ay magiging sapat ( Intel Core i5, 4 GB, 128 GB (SSD), Intel HD Graphics 5000)? O tingnan kung aling MacBook Pro 13"" Retina ( Intel Core i5, 8 GB, 128 GB (SSD), Intel Iris graphics 5100)? O baka kailangan mo ng isang bagay na mas malakas (i7 processor, 16 GB memory, video na hindi built-in)? Malinaw na kung pinahihintulutan ng pera, mas mahusay na bumili ng mas mabilis, ngunit, sa kasamaang-palad, ang pagbili ng isang top-end na configuration na MacBook ay, mabuti, hindi maginhawa sa pananalapi ngayon. Sa kabilang banda, hindi ko talaga gustong kumuha ng isang lumang MacBook mula sa isang tao at pagkatapos ay baguhin ito pagkatapos ng anim na buwan.

3. Kailangan ko ba ng iOS device para simulan ang pag-aaral ng development? O posible bang tularan ang isang iPhone sa Windows 7 / OS X upang makita kung ano ang mangyayari? O ginagawa ba ito sa ibang paraan? :-) Muli, ang pagbili ay hindi isang malaking problema, ngunit kailangan ko ba ito ngayon? At, kung kinakailangan, isa pang kaugnay na tanong: dapat ba akong bumili ng bago (5 / 5s) o hindi mahalaga (4s)?

4. Kailangan ba ng mga klasikong kursong Objective-C? O mas mahusay na malaman ito sa iyong sarili mula sa simula? Nakatira ako sa Minsk, ang mga kurso ay walang espesyal, lahat ay karaniwan (mga diskarte, pamamaraan, pangkalahatang antas). Alam ko rin na ang programming ay patuloy na pag-aaral sa sarili. Tanong: makatuwiran bang kumuha ng isang buwang kurso upang makakuha ng panimulang base, at pagkatapos ay magpatuloy sa iyong sarili? O maaari kang magsimula sa bahay nang walang anumang problema?

5. Paano magplano ng proseso ng pag-aaral sa sarili? Walang bago: Nabasa ko ito - sinubukan ko ito, hindi malinaw - Hinanap ko ito sa Internet, napakalinaw - pumunta tayo sa forum? Matagal-tagal na rin simula nang natutunan ko ang HTML. Ngunit, siyempre, ang Objective-C ay isang seryosong bagay, tulad ng lahat ng kaugnay na teknolohiya, at may anumang pakinabang ba ang naturang pagsasanay? O kailangan mo ba ng ilang partikular na sistema at isang malinaw na gradasyon para sa pagtaas ng iyong antas (magbasa muna ng libro, pagkatapos ay kumuha ng kurso, pagkatapos ay pag-aralan ang kaugnay na teknolohiyang ito, at iba pa)? Mangyaring sabihin sa akin kung paano ka nasangkot sa pagbuo ng iOS.

Mga kasamahan sa hinaharap, sigurado ako na sa panahon ng proseso ng pag-aaral ay magkakaroon ako ng maraming mga katanungan kung saan ito ay isang kahihiyan upang lumikha ng mga bagong paksa. Kung ang sinuman sa inyo ay may pagkakataon na sagutin ang aking mga tanong ng ilang beses sa isang linggo at magbigay ng maikling payo sa anumang paksa, mangyaring ipaalam sa akin ang tungkol dito sa iyong mga tugon (iwanan ang iyong anumang mga detalye at kundisyon sa pakikipag-ugnayan (libre/bayad, atbp.)). Ang bawat tao'y may sariling negosyo, kakaunti ang mga altruista - Naiintindihan ko ang lahat, kaya ang aking mga apela sa iyo ay magiging bihira hangga't maaari at hanggang sa punto.

Maraming salamat sa iyong atensyon at interes sa aking mga katanungan. Have a nice week sa lahat! ;-)

  1. Wika ng programming. Ano ang kailangan mong malaman upang magsulat ng mga application para sa iOS.
  2. Kailangan mo ba ng taga-disenyo, developer ng interface, o ibang tao?
  3. Opisyal na bahagi: sertipiko ng developer.
  4. Mga kinakailangang kagamitan para sa komportableng pag-unlad.
  5. Ang walang hanggang tanong: AndroidOS o iOS?
  6. Ano ang kailangang gawin ngayon?
  7. Paglikha ng bagong proyekto.
  8. Compilation. Ano ito at bakit kailangan?
  9. Tumakbo sa simulator.
  10. Nag-print kami ng "Kumusta, mundo!"
  11. Anong mga karaniwang view ang mayroon sa iOS?

Wika ng programming. Ano ang kailangan mong malaman upang magsulat ng mga application para sa iOS

Wika ng programming(wikipedia.org) ay isang pormal na sistema ng simbolo na idinisenyo para sa pagtatala ng mga programa sa kompyuter. Ang isang programming language ay tumutukoy sa isang set ng lexical, syntactic at semantic na mga panuntunan na tumutukoy sa hitsura ng programa at ang mga aksyon na gaganap ng performer (computer) sa ilalim ng kontrol nito.

Marahil ang tanong na itinanong ko sa pamagat ng bahaging ito ay medyo kumplikado. Masagot ko ito ng simple - Objective-C. Kung tumigil ako doon, mali ako. Sasabihin ko na ang Objective-C ay ang pinakamababa. Kamakailan ay mayroong isang kumperensya mula sa Yandex - YET, kung saan ang isa sa mga ulat ay nakatuon sa kung anong mga programming language ang dapat malaman ng isang developer. Ang sagot ay parang ganito: "Kailangan niyang matuto ng bago at bagong mga programming language nang palagian, nang walang tigil sa sinuman sa partikular.". Ako ay lubos na sumasang-ayon dito. Sa pamamagitan ng pag-aaral ng mga bagong programming language, natututo ka ng mga bagong approach at programming method. Samakatuwid, upang magsulat ng mga application para sa iOS, kailangan mong malaman ang Objective-C, ngunit ipinapayong malaman ang iba pang mga programming language upang ang iyong code ay mabuti, mahusay, at nababaluktot.

Kung hindi ka pa programmer, ipinapayo ko sa iyo na magsimula sa wikang C. I-download ang aklat nina Kernighan at Ritchie ( o mas mabuting bumili) tungkol sa wikang C, basahin ito, gawin ang lahat ng iminumungkahi sa iyo, at pagkatapos nito ay ipinapayo ko sa iyo na magpatuloy sa Layunin-C. Kung naiintindihan mo na kung paano magsulat ng mga programa, handa ka nang madaling sagutin ang mga tanong - "Ano ang mga uri ng data? Ano ang variable? Ano ang isang function o pamamaraan? Ano ang isang link at isang pointer? Anong nangyari"isama”?” , alam mo ang C o C++ o Java o C#, pagkatapos ay handa ka nang isulat ang iyong unang application para sa iOS.

Kailangan mo ring malaman ang mga pangunahing kaalaman ng OOP at mga pattern ng disenyo. Ang listahan ay maaaring magpatuloy at magpatuloy, ngunit halos hindi ako handang mag-claim ng isang husay na paliwanag ng mga konseptong ito. Oo, sa kasamaang-palad, ang Objective-C ay hindi ang wika kung saan maaari mong simulan ang iyong paglalakbay sa programmer. Ngunit kung gusto mo at gusto mong lumikha, oras na para tumakbo ka sa tindahan, bumili ng mga aklat at simulan ang iyong paglalakbay sa developer.

Kailangan mo ba ng taga-disenyo, developer ng interface, o ibang tao?

Isa pa, walang gaanong simpleng tanong. Kung ikaw ay isang programmer at alam kung paano magsulat ng mga console program at nais na magsimulang magsulat ng mga application para sa iOS, pagkatapos ay sa paunang yugto ay hindi mo kailangan ang gayong tao. Kung mayroon kang iPhone || iPad || iPod Touch, pamilyar ka sa iOS, at hindi mo na kailangan ng front-end na developer. Sa pangkalahatan, ang Apple ay may ganoong dokumento - TaoInterfaceMga Alituntunin. Inilalarawan ng dokumentong ito kung saan at aling elemento ng interface ang dapat gamitin. Samakatuwid, sa paunang yugto maaari mong gawin nang walang mga ikatlong partido. Sa pangkalahatan, ang iOS SDK ay nagbibigay ng sapat na pagkakataon para sa pagpipinta ng interface ng application, kaya hindi mo na kailangang gumuhit ng anumang mga pindutan o maraming kulay na mga teksto, gradient fill, atbp. sa PS. Mamaya, gagawa kami ng unang proyekto, kung saan makikilala namin ang lahat ng mga yugto ng paglikha ng "Hello, World!"

Gayunpaman, kailangan mong maunawaan na kapag nagsimula ang mga seryosong proyekto, mga application na gusto mong i-publish sa AppStore, magiging mas mahirap para sa iyo nang walang taga-disenyo at developer. Ang kahirapan ay maaaring magpakita mismo sa iba't ibang yugto - alinman sa panahon ng pagbuo ng application, kapag gumugugol ka ng maraming oras sa paghahanap para sa kinakailangang imahe o pag-upo at paglikha sa PS, o pagkatapos mong i-publish ang application at magsimulang makatanggap ng mga komento mula sa aming mga minamahal na user na magrereklamo tungkol sa iyong Poor libreng disenyo ng app. Nakatagpo ako ng mga katulad na problema sa parehong yugto. Matapos makatanggap ng mga masasamang komento sa AppStore, nais kong iwanan ang aking aplikasyon, na sa pamamagitan ng paraan ay libre, at kalimutan ang tungkol sa mga walang utang na loob na mga gumagamit. Gayunpaman, ang pagiging kapaki-pakinabang ng app mismo sa akin, pati na rin ang maraming iba pang mga user, ay nagpalunok sa akin ng mga galit na komentong iyon at nagpatuloy sa pagbuo ng app. Mga tatlong buwan na ang nakalipas nagsimula akong bumuo ng isang application kasama ang isang taga-disenyo na nagsasabi sa akin kung ano ang ipasok at kung saan, anong kulay ang pipiliin, kung saan at anong larawan ang iguguhit, at ito, gusto kong sabihin, ay medyo maginhawa. Samakatuwid, ipinapayo ko pa rin sa iyo na simulan ang paggamit ng mga serbisyo ng mga taga-disenyo sa ilang mga punto upang makatanggap ng magandang feedback mula sa mga gumagamit. At tandaan - gustong makita ng mga user ng iOS device mabuti disenyo ng application, kahit na naghihirap ang pag-andar nito.

Opisyal na bahagi: sertipiko ng developer

Marahil ay marami ka nang narinig tungkol sa ilang uri ng certificate ng developer. Ngayon ay susubukan kong ipaalam sa iyo ang petsa - kung bakit ito at kung kailangan mo ito ngayon. Ang certificate ng developer ay isang file, tulad ng iba pang certificate. Ang file na ito ay ibinigay sa iyo ng Apple pagkatapos mong dumaan sa lahat ng mga yugto ng pagpaparehistro sa system. iOS (MacOS) Developer (Enterprise) Programa.

Ano ang ibibigay sa iyo ng pagkakaroon ng file na ito at pagrehistro sa isa sa mga programa sa itaas? Ang mga sagot sa tanong na ito ay napakalaki. Samakatuwid, sasabihin ko lamang ang tungkol sa mga pinakamahalagang bagay (lahat ng inilarawan sa ibaba ay ibinigay sa iyo para sa eksaktong isang taon):

  • pagsubok sa iyong mga application sa iyong mga device (bagaman ito ay tila na-hack at maaaring gawin nang walang sertipiko)
  • access sa forum ng developer sa portal ng Apple (bagaman mayroong isang komunidad sa StackOverflow.com, kung saan makakahanap ka ng sagot sa iyong tanong nang mas mabilis)
  • kakayahang mag-download ng mga beta na bersyon (at siyempre mga kasalukuyan) ng iOS at Xcode
  • ang kakayahang mag-install ng mga beta na bersyon ng iOS sa iyong device
  • kakayahang mag-publish ng isang application sa AppStore
  • ang kakayahang mag-link ng hanggang 100 device sa iyong account, sa gayon ay pinapayagan ang mga device na ito na mag-install ng mga beta na bersyon ng iOS, subukan ang iyong mga application (hindi pa nai-publish sa AppStore) at marami pang ilegal na bagay.
  • ang pagkakataong ipakita sa iyong mga kaibigan na ikaw ay isang opisyal na developer ng iOS application

Kung magpasya kang kailangan mo ng naturang sertipiko, pagkatapos ay maging handa na makibahagi sa $100 ($300 para sa Enterprise), magpadala ng fax sa USA, ilagay ang mga detalye ng iyong bank card (pansin! Iyo, eksakto sa iyo), at tapusin ang pagbabasa nito kabanata.

So, tara na.

  1. Sundin ang link na ito http://developer.apple.com/programs/ios/
  2. Mag-click sa Enroll Now
  3. Binabasa natin nang mabuti ang baha at magpatuloy – Magpatuloy
  4. Narito mayroon tayong 4 na puntos:?a. Gusto mo bang lumikha ng bagong Apple ID para sa Apple Developer Program?b. Gusto mo bang gumamit ng kasalukuyang Apple ID?c. Nakarehistro ka na ba bilang isang simpleng developer, at ngayon gusto mong maging isang opisyal na developer kasama ang lahat ng mga benepisyong inilarawan sa itaas d. Miyembro ka na ng iOS o Mac Developer Program at gusto mong mag-link ng isa pang program sa iyong account
  5. Mga kaibigan, susunod na kailangan mong dumaan sa ilang hakbang upang punan ang iyong personal na impormasyon. Hindi ko na talaga maalala kung ano ang meron. Kung mayroon kang anumang mga katanungan, magtanong sa paksang ito, sasagutin ko ang lahat sa abot ng aking makakaya.
  6. Binigyan ka ng link sa isang .pdf file na kailangan mong punan at i-fax sa Apple.
  7. Ini-print namin ito at pinupunan ito (maingat at maingat).
  8. Nagpapadala kami ng fax sa opisina ng Apple sa USA. (Mag-ingat na ang iyong fax ay hindi mahuhulog sa maling mga kamay, dahil doon mo ipinapahiwatig ang numero ng bank card at CVV).
  9. Naghihintay kami ng N bilang ng mga araw (linggo) para maproseso ng Apple ang iyong kahilingan.
  10. Nakatanggap kami ng liham na binabati ka sa pag-sign up para sa programa at pagkatalo ng isang daang bucks. Hooray!

Pagkatapos matagumpay na makumpleto ang paghahanap magkakaroon ka ng access sa http://developer.apple.com/membercenter/. Marahil ang pagsusuri sa pahinang iyon ay nangangailangan ng isang hiwalay na artikulo o nangangailangan ng paghahanap sa Google/Yandex.

Well, mga kaibigan, magpatuloy tayo sa mga natitirang isyu sa agenda.

Mga kinakailangang kagamitan para sa komportableng pag-unlad

Kung seryoso kang nagpasya na simulan ang pagbuo ng mga application para sa iOS, lubos kong inirerekumenda na agad na bumili ng computer/laptop gamit ang mga MacO. Ang pinakamurang opsyon ay isang Mac Mini, o isang bagay na ginamit. Kung ikaw ay isang mag-aaral at magdadala ng kagamitan - Macbook Air. Kung marami kang pera at gusto mo ng makapangyarihan, maraming gamit na laptop - para sa paglalaro, kumplikadong mga gawain sa pag-compute at programming - Macbook Pro. Kung gusto mong makakuha ng desktop computer, isang iMac o Mac Mini. Para sa pag-unlad, ang anumang computer sa anumang umiiral na configuration ay babagay sa iyo. Ang laki ng screen ay nasa iyong paghuhusga. Ako mismo ay nakaupo ngayon sa harap ng isang Macbook 13" at isang Mac Mini 17". Masaya ako sa dalawang display. Kung mayroon man, maaari mong palaging ikonekta ang isang panlabas na monitor sa iyong laptop.

Huwag kalimutan na maaga o huli kakailanganin mo ng iPhone, iPod o iPad. Hindi mo kailangang umasa lamang sa iOS simulator, na ipinamamahagi sa parehong pakete kasama ang Xcode. Palaging subukan ang mga bersyon ng release sa mga device. O - maghanap ng mga tester (responsable at matapat).

Kung hindi ka pa handang gumastos ng napakaraming pera sa mga bagong kagamitan, maaari mong subukang mag-install ng Hackintosh sa iyong computer.

Ang walang hanggang tanong: Android o iOS?

Posible na ang tanong na ito ay dapat na tinanong sa pinakadulo simula, ngunit ito ay matatagpuan pa rin sa dulo ng artikulong ito. Sigurado ka bang gusto mong subukan ang iyong kamay sa pagpapaunlad ng mobile, ngunit hindi mo alam kung aling mobile platform ang pipiliin? Hindi ko masasagot ang tanong na ito para sa iyo. Ngunit alam ko ang isang bagay - kung gusto mong bumuo ng mga application para sa iOS, dapat mong mahalin ang mga produkto ng Apple at ang iOS at MacOs operating system. Maaari mong itanong - bakit ito? Ang sagot ay simple - dapat mong mahalin ang iyong ginagawa, dapat kang lumikha. Pagkatapos lamang ay makakabuo ka ng isang tunay na cool at kapaki-pakinabang na produkto. Sa kasong ito lamang masisiyahan ka sa pag-aaral ng Objective-C at iOS. Sa tingin ko ito ay napakahalaga. Kung mayroon kang katulad na damdamin sa mga produkto ng Apple, huwag mag-atubiling pumunta sa larangan ng pagpapaunlad ng iOS. Kung sa tingin mo - alam ko ang Java, ngunit hindi ko alam ang Objective-C, ngunit mas gusto ko ang iOS kaysa sa mga AndroidO - pagkatapos ay piliin ang iOS. Hindi, ngunit ano ang inaasahan mong sisimulan kong purihin ang Android OS?

Gusto ko rin ang iOS sphere para sa app store nito. Lahat doon ay maganda, tama, at may napakahigpit na pagmo-moderate ng mga aplikasyon. Ang dump ng mga application na ngayon ay nasa Android OS ay kakila-kilabot, kapwa para sa mga user at karapat-dapat na mga developer.

Ano ang kailangang gawin ngayon?

Ngayon dapat kang magpasya: kapag nagsimula kang bumuo ng mga application, magiging sapat ba ang iyong kasalukuyang karanasan upang matutoLayunin- C, mayroon ka bang kinakailangang kagamitan, at higit sa lahat, ang pagnanais?

Hello, mundo.

Sinusuri ang kahandaan

Lumipat tayo mula sa teorya patungo sa pagsasanay. Para sa praktikal na aralin, kakailanganin mo ang Xcode 4.2 na may iOS SDK, mas mabuti ang isang sertipiko ng developer, kaalaman sa C, C++, Java o Objective-C (mabuti, marahil ang kaalaman sa iba pang mga wika ay magiging angkop) at, sa wakas, isang pagnanais. upang simulan ang pagsusulat ng mga application para sa iOS. Kung may nawawala ka, halimbawa, isang certificate ng developer, magiging may-katuturan pa rin sa iyo ang artikulo. Sa anumang kaso, tila sa akin na ang bawat gumagamit ng iOS device ay dapat na interesado sa pagtingin sa mga panloob na gawain ng pagbuo ng application.

Paglikha ng bagong proyekto

Tara na. Mag-click sa icon ng Xcode. Magbubukas ang isang window na katulad nito:

Piliin ang item na "Gumawa ng bagong proyekto ng Xcode". Sa susunod na window, piliin ang uri ng proyekto. Kailangan namin ng: “iOS – Application – Single View Application”.

I-click ang Susunod. Makakakita kami ng isang window na may sumusunod na nilalaman:

Hayaan akong ipaliwanag ang mga input field:

  1. Pangalan ng Produkto - Ang pangalan ng bagong proyekto - maaari kang magpasok ng kahit ano, ngunit ipinapayo ko sa iyo na gumamit ng mga pangalan na kapareho ng sa akin, dahil pana-panahong sasangguni ako sa kanila.
  2. Identifier ng Kumpanya - Identifier ng iyong kumpanya - maaari mo itong punan ayon sa gusto mo.
  3. Bundle Identifier – isang natatanging identifier para sa iyong application. Maaaring i-edit ang field na ito sa ibang pagkakataon.
  4. Class Prefix – isang prefix na itatalaga sa mga pangalan ng lahat ng klase na gagawin mo sa proyekto. Iniwan kong walang laman ang field ( "XYZ"- ito ay isang pahiwatig lamang).
  5. Pamilya ng Device – sa kung anong mga uri ng mga device ang maaaring i-install ang proyekto. Maaari kang pumili ng isa sa tatlong opsyon: iPad/ iPhone/ Pangkalahatan. Malinaw ang kanilang layunin. Kung hindi ka makapagpasya sa ngayon kung kailangan mong gumawa ng unibersal na app, maaari kang pumili ng alinman sa iba pang mga opsyon. Ito ay maaaring itama sa anumang yugto ng ikot ng buhay ng software.
  6. Gumamit ng Storyboard – Ito ay nauugnay sa paggawa ng modelo ng user interface. Idinagdag sa iOS5, upang kapag ginagamit ang horror na ito, ang iyong application ay mai-install lamang sa mga device na may iOS5 o mas mataas.
  7. Gumamit ng Awtomatikong Pagbibilang ng Sanggunian ay isang bagong tampok ng Apple LLVM 3.0 compiler - awtomatiko itong (halos) namamahala ng memorya (sinusubaybayan ang mga leaks, zombie at iba pang mga horror). Gusto kong sabihin na para sa isang baguhan ito ay isang perpektong opsyon. PERO – 1) hindi lahat ng bagay ay awtomatiko, 2) mas pinagkakatiwalaan mo ba ang compiler kaysa sa iyong sarili?, 3) Inirerekomenda ko ang pamamahala ng memorya nang manu-mano.
  8. Isama ang Unit Tests – ikonekta ang unit testing sa proyekto.

Makakakita ka ng isang window para sa pagpili ng isang kategorya kung saan ilalagay ang proyekto. Nais ko lamang na bigyan ka ng babala na ang isang folder na may pangalan ng iyong proyekto ay awtomatikong malilikha sa folder na iyong pinili, iyon ay, hindi na kailangang gumawa ng karagdagang folder para sa isang partikular na proyekto.

Hindi namin sinusuri ang checkbox na "Gumawa ng lokal na git repository para sa proyektong ito". Mas mainam na ikonekta ang aming proyekto sa repository ng code sa ibang pagkakataon, kung kinakailangan.

I-click ang “Lumikha” at makakita ng bagong window, ang window ng aming workspace:

At kaya, gumawa kami ng isang proyekto, ang ilang mga file ay nabuo, ang ilang mga bintana ay bukas.

Tingnan natin ang mga file sa menu ng nabigasyon:

  • Ang mga file na may suffix na ".h" ay mga header, kung saan magbibigay kami ng mga paglalarawan ng mga klase
  • Ang mga file na may suffix na ".m" ay mga file ng pagpapatupad, kung saan ipapatupad namin ang mga naunang inilarawang klase
  • Ang mga file na may suffix na ".xib" ay mga file na naglalarawan sa interface ng isang window ng application

Pagsasama-sama ng proyekto

Compilation -

  1. pagsasalin ng isang programa sa isang wikang malapit sa machine language at sa kasunod na pagpupulong nito.
  2. pagsasalin ng isang program na nakasulat sa source language sa isang object module (na isinagawa ng compiler) at ang kasunod na pagpupulong nito sa isang ready-to-use program module.
  3. pagsasalin ng isang program na nakasulat sa isang source language at ang kasunod na pagpupulong nito sa isang programa sa ilang machine-independent na mababang antas na interpreted code (tulad ng, halimbawa, sa kaso ng wikang Java).

Ang proseso ng compilation ay binubuo ng mga sumusunod na yugto:

  1. Leksikal na pagsusuri. Sa yugtong ito, ang pagkakasunud-sunod ng mga character sa source file ay na-convert sa isang sequence ng mga token.
  2. Pagsusuri ng syntactic (gramatikal). Ang pagkakasunud-sunod ng mga token ay na-convert sa isang parse tree.
  3. Pagsusuri ng semantiko. Pinoproseso ang parse tree upang maitatag ang mga semantika nito (kahulugan) - halimbawa, nagbubuklod na mga identifier sa kanilang mga kahulugan, mga uri ng data, pagsuri sa pagiging tugma ng uri ng data, pagtukoy sa mga resultang uri ng data ng mga expression, atbp. Ang resulta ay karaniwang tinatawag na "intermediate representation/code ", at maaaring dagdagan ng isang parse tree, isang bagong puno, isang abstract na hanay ng mga command, o ibang bagay na maginhawa para sa karagdagang pagproseso.
  4. Pag-optimize. Ang mga paulit-ulit na utos ay tinanggal at ang code ay pinasimple (kung saan posible) habang pinapanatili ang kahulugan nito, iyon ay, ang algorithm na ipinapatupad nito (kabilang ang paunang nakalkula (iyon ay, kinakalkula sa yugto ng pagsasalin) na mga expression, ang mga resulta nito ay halos pare-pareho) . Maaaring nasa iba't ibang antas at yugto ang pag-optimize - halimbawa, sa intermediate code o sa final machine code.
  5. Pagbuo ng code. Mula sa intermediate na representasyon, nabuo ang code sa target na wika (kabilang ang pag-link ng program).

Sa mas simpleng wika mula sa akin. Sa yugto ng lexical analysis, sinusuri na ang lahat ng character sa iyong source code ay nasa tamang pagkakasunod-sunod at ang mga nauugnay na character sa mga sumusunod na yugto ay ituturing bilang isang entity - isang lexeme. Sa yugto ng pag-parse, sinusuri kung ang lahat ng lexemes ay matatagpuan sa tamang pagkakasunud-sunod, sa tamang mga lugar, sa tamang pagkakasunud-sunod. Sa wakas, sa yugto ng pagsusuri ng semantiko, ang mga tugma ng uri ng data ay sinusuri.

At kaya, kapag na-click mo ang "Bumuo ng proyekto", unang isang lexical na pagsusuri ng iyong code ay ginanap, kung ito ay matagumpay, pagkatapos ay isang pagsusuri sa pag-parse, at pagkatapos ay isang pagsusuri sa semantiko. Sa Xcode, palaging tumatakbo ang isang tiyak na magaan na proseso na gumaganap ng function na ito, at sa gayon ay ipo-prompt ang developer "sa mabilisang". Halimbawa, kung hindi mo inilagay ang ";" o bigla mong itinutumbas ang int sa isang tiyak na string ng mga character, pagkatapos ay salungguhitan ng Xcode ang string na may pulang kulot na linya.

Tumatakbo sa isang simulator

At kaya, subukan nating ilunsad ang aming proyekto, kung saan hindi pa kami nakapagsulat ng isang linya ng code nang personal.

Upang gawin ito, tingnan natin ang menu: Compilation scheme(ito ay nakatalaga ng kulay berde sa aking screenshot). Ang diagram ay isang tiyak na pagsasaayos ng isang proyekto. Awtomatikong binubuo ito ng Xcode. Mag-click sa linya sa kanan ng pangalan ng proyekto (pangalan ng device); kung hindi nakakonekta ang device, sasabihin nito ang "iOS Device". Makakakita ka ng isang drop-down na listahan na may sumusunod na nilalaman:

Sa listahang ito pipiliin namin kung saan mai-install ang aming proyekto: maaari itong maging iyong device o isang simulator. Kung pinili mo ang unibersal na uri ng application, magagawa mong piliin ang uri ng simulator: iPhone o iPad. Maaari mo ring piliin ang bersyon ng operating system para sa mga simulator (mahalagang subukan ang proyekto sa lahat ng bersyon ng iOS kung saan maaaring mai-install ang application). Dahil pinag-uusapan natin ang pinakamababang bersyon ng iOS, dapat din nating banggitin kung paano matukoy ang pinakamababang bersyon nito? Ito ay simple - kung gumagamit ka ng mga pamamaraan (mga tampok) na idinagdag sa bersyon ng iOS, halimbawa, 4.0 , pagkatapos ay ang bar para sa minimum na kinakailangang operating system ay tataas sa 4.0 . Ibaba natin ang bar sa 4.0 Sa 5.0 . Upang gawin ito, pumunta sa menu: "Target ng deployment" (naka-highlight sa asul sa aking larawan). Pumili mula sa drop-down na listahan 4.0 . Ngayon bumalik tayo sa menu: Compilation scheme. Ang aming listahan ngayon ay ganito ang hitsura:

Piliin ang "iPhone 4.0 Simulator". At sa wakas, mag-click sa arrow kung saan nakasulat ang "Run". SA "Lupon ng impormasyon" makikita natin ang proseso ng compilation. Matapos matagumpay na magsama-sama ang lahat, magbubukas ang window ng iPhone simulator:

Ngayon ay mabilis nating talakayin ang mga kakayahan ng simulator.

  • Maaari mong gayahin ang iPhone, iPhone Retina, iPad.
  • Gayahin ang iba't ibang bersyon ng iOS.
  • Kumuha ng mga screenshot.
  • I-rotate ang mga screen (portrait at landscape mode)
  • Iling
  • Gayahin ang mababang memorya.
  • Gayahin ang isang print server
  • Lokasyon ng geolocation
  • Mga multi-touch na galaw (maximum na 2 daliri)
  • Iba pa

Ang lahat ng ito ay maaaring ma-access mula sa menu ng programa ng simulator:

Ang ilang mga salita tungkol sa simulator. Ang simulator ay maaari lamang mag-install ng mga application sa pamamagitan ng Xcode, maaari silang i-uninstall nang direkta mula sa simulator (tulad ng sa isang tunay na aparato), at ito ay sumusuporta sa multitasking. Ngunit mayroon din itong maraming mga limitasyon, halimbawa, hindi ka maaaring mag-install ng isang sertipiko sa lokal na tindahan ng sertipiko ng aplikasyon. Ngunit ang pangunahing sagabal ay iyon SIMULATOR, hindi EMULATOR. Ibig sabihin, nagpapanggap lang ito na isa itong iOS device, sa pamamagitan lamang ng pagguhit ng katulad na interface (level ng software). Ngunit ginagawa ng emulator kung ano mismo ang gagawin ng device (sa pisikal na antas). Anong konklusyon ang dapat gawin? Tiyaking sumubok sa isang tunay na device. Nagkaroon ako ng mga kaso kapag gumagana ito sa device, ngunit hindi sa simulator, at vice versa.

Nag-print kami ng "Kumusta, mundo!"

Umaasa ako na ang lahat ay higit pa o hindi gaanong malinaw hanggang sa yugtong ito. Kung hindi, pagkatapos ay sa panahon ng proseso ng pag-unlad magsisimula kang maunawaan nang mas malalim.

Ang kabanatang ito ay isinulat sa alaala ng Dennis Ritchie tagalikha ng programming languageCat pangunahing developer ng operating systemUNIX, at bilang kapwa may-akda ng aklat na “Programming LanguageC» .

Ang layunin ng kabanata ay upang palamutihan ang aming walang laman na kulay-abo na screen. Magaling, tara na. Bumalik kami sa Xcode, piliin ang "ViewController_iPhone.xib" sa menu ng nabigasyon. Susunod, piliin ang "Tingnan" mula sa listahan na lilitaw. Sa kanan, piliin ang "Inspector ng Mga Katangian". Narito ang hitsura ng window para sa akin at mga karagdagang komento:

Ngayon, magdagdag tayo ng UILabel. Ang UILabel ay ang pangalan ng isang klase sa iOS SDK na nagbibigay-daan sa iyong magpakita ng hindi nae-edit na text sa screen. Sa pangkalahatan, lahat ng klase na nagbibigay-daan sa iyong magpakita ng isang bagay ay may prefix UI: UIView, UITableView, UITextView, UIButton,…. Sa window na "Available objects for display", hanapin ang linyang pinangalanang Label. Kapag nahanap na namin ito, nag-click kami dito at i-drag ito sa aming kasalukuyang view ng screen.

Tutulungan ka ng mga asul na tuldok na linya na isentro/i-calibrate ang relatibong posisyon ng marka. Kaya, piliin ang Label sa listahan ng mga ipinapakitang bagay, kung hindi pa napili, at tingnan ang item sa mga katangian: Teksto. Isulat natin ang “Hello, World!” doon. at pindutin Pumasok. Dito ay binago at lumiit ang teksto ng label. Ayusin natin ito. SA mga kategorya ng ari-arian piliin natin "pinuno""Size Inspector". Mayroong mga patlang:

  • Ang x at y ay ang mga coordinate ng kaliwang sulok sa itaas ng label na nauugnay sa view ng magulang, iyon ay, ang view kung saan namin inilagay ang label - ito ang View sa aming kaso.
  • lapad at taas – ang lapad at taas ng na-edit na bagay, ayon sa pagkakabanggit.

Maaari mong subukang i-edit ang mga halagang ito at obserbahan ang mga pagbabago. Maaari mo ring i-edit ang posisyon at laki nang direkta sa pamamagitan ng paglipat ng label (teksto) at paghila sa frame nito sa pamamagitan ng iba't-ibang "mga tuldok".

Gumugol ng isa pang 15-25 minuto sa paglalaro sa iba't ibang katangian sa iba't ibang kategorya:

  1. Pag-align ng teksto
  2. Laki ng font
  3. Kulay, anino ng teksto
  4. atbp.

Kasunod nito, babalik tayo sa kanila at ipapaliwanag ko ang layunin ng ilang mga larangan.

Anong mga karaniwang view ang mayroon sa iOS?

Sa nakaraang talata, hinawakan ko ang mga pangalan ng ilang mga klase na responsable para sa interface. Ang console mismo UI at nangangahulugang User Interface. Dito ay magbibigay ako, marahil hindi isang kumpletong, listahan ng mga magagamit na uri ng view. Una, ang lahat ng mga klase na inilarawan sa ibaba ay nagmamana mula sa UIView, i.e. may parehong mga katangian at pamamaraan. Pangalawa, maaari kang lumikha ng iyong sariling custom na view anumang oras. Listahan sa ibaba:

1) UILabel – label – pangunahing layunin: pagpapakita ng isa o higit pang hindi nae-edit na mga linya ng teksto.

2) UIButton – button – pangunahing layunin: isang regular na button, nagpapadala ng mga signal sa mga bagay, na nagpapaalam na ito ay na-click

3) UISegmentedControl – isang button na may mga segment – ​​pangunahing layunin: isang button na may ilang aktibong bahagi, matutukoy mo kung alin ang na-click

4) UITextField – field ng text input – pangunahing layunin: field para sa text input ng user

5) UISlider - slider - pangunahing layunin: isang regular na slider, tumutulong na baguhin ang anumang mga setting nang mas intuitively

6) UISwitch - On/Off switch - pangunahing layunin: may dalawang estado - on o off, ang layunin ay halata

7) UIActivityIndicatorView - indicator ng aktibidad - pangunahing layunin: karaniwang ginagamit upang ipaalam sa user na ang application ay nagda-download ng data o simpleng nagsasagawa ng ilang kalkulasyon

8) UIProgressView – indicator ng status (progress) – pangunahing layunin: upang ipakita ang estado ng pagkumpleto ng isang bagay

9) UIPageControl - paglipat sa pagitan ng mga pahina - pangunahing layunin: pagpapakita ng bilang ng mga pahina, pagpapakita ng kasalukuyang pahina

10) UIStepper (>= iOS 5) - +/- step controller - pangunahing layunin: halata din

11) UITableView - talahanayan - pangunahing layunin: ang pagpapakita ng talahanayan ay marahil ang pinakasikat na elemento

12) UITableViewCell - table cell - pangunahing layunin: pagpapakita ng isang row sa isang table, kadalasang napapasadya

13) UIImageView – larawan – pangunahing layunin: pagpapakita ng larawan o larawan

14) UITextView – text field (nai-scroll) – pangunahing layunin: pagpapakita ng malaking halaga ng text na maaaring i-scroll.

15) UIWebView – web – pangunahing layunin: pagpapakita ng web page

16) UIMapView – mga mapa – pangunahing layunin: pagpapakita ng mapa

17) UIScrollView – scrollable view – pangunahing layunin: pagpapakita ng ilang view na hindi akma sa isang screen

18) UIDatePicker – uri ng tagapili ng petsa – pangunahing layunin: perpekto para sa pagpasok ng petsa

19) UIPickerView – uri ng pagpili ng drum – pangunahing layunin: isang alternatibo sa talahanayan kapag pumipili ng opsyon

20) UIView - isang view lamang - pangunahing layunin: halata

21) UINavigationBar – navigation bar – pangunahing layunin: isang panel kung saan ipinapakita ang pamagat ng screen at mga karagdagang control button.

22) UINavigationItem - UINavigationBar elemento - pangunahing layunin: halata

23) UIToolbar – toolbar – pangunahing layunin: pagpapakita ng panel kung saan inilalagay ang mga button para makontrol ang application

24) UIBarButtonItem – mga elemento ng toolbar – pangunahing layunin: halata

25) UIBarButtonItem (fixed at flexible space) – mga espesyal na elemento ng toolbar – pangunahing layunin: baguhin ang distansya sa pagitan ng mga button sa toolbar

26) UITabBar – tabbar – pangunahing layunin: tumutulong na lumipat sa pagitan ng iba't ibang hindi nauugnay na mga screen

27) UITabBarItem – elemento ng tabbar – pangunahing layunin: halata