Objective-C-kehitys: Aloita Mac- ja iOS-sovellusten rakentaminen

Disclosure: Tukisi auttaa pitämään sivuston toiminnassa! Ansaitsemme lähetysmaksun joistakin tämän sivun suosittelemista palveluista.


Objective-C on C: hen pohjautuva korkean tason ohjelmointikieli, jossa on Smalltalkin lisäominaisuuksia ja syntaksia. Se on C-kielen yläjoukko, mikä tarkoittaa, että kaikki voimassa olevat C-koodit suoritetaan Objective-C-kääntäjässä. Tämä oli kielen suunnittelijoiden tekemä tarkoituksellinen päätös, joka halusi varmistaa, että kieli on taaksepäin yhteensopiva olemassa olevien C-sovellusten ja -komponenttien kanssa, koska sitä kieltä käytettiin suurimpaan osaan käyttöjärjestelmien ja apuohjelmien ohjelmoinnista siihen asti. (1980-luvun alkupuolella).

Objektiivin C lyhyt historia

Objective-C keksittiin 1980-luvun alkupuolella keinona lisätä oliokeskeisiä ohjelmointimahdollisuuksia C. Keksijät Brad Cox ja Tom Love ajattelivat, että Smalltalk (varhainen OO-kieli) voisi tarjota välineet, joita tarvitaan todella uudelleenkäytettävään koodiin ja kehitysympäristöjen luomiseksi järjestelmäkehittäjille.

Cox aloitti kirjoittamalla C-prosessorin esiprosessorin, joka sallii Smalltalkin kaltaisen koodin sisällyttämisen, joka sitten muutettaisiin käännettäväksi C. Tämä muuttui täysin oliokeskeiseksi C-laajennukseksi..

Tavoite-C lopulta määriteltiin ja kuvattiin kirjassa Object-Oriented Programming: A Evolutionary Approach.

NeXT lisensoi Objective-C: n vuonna 1988 ja kehitti useita siihen perustuvia työkaluja. Näistä työkaluista tuli lopulta (useiden välivaiheiden jälkeen) Cocoa-kehitysympäristö, jota useat Apple-järjestelmät käyttävät:

  • Mac-käyttöjärjestelmän kymmenes versio

  • iOS

  • Apple WatchOS

Usean vuoden ajan yhdelle näistä Apple-käyttöjärjestelmistä kirjoitetut sovellukset oli kirjoitettava (tai käännettävä tai suoritettava päälle) Objective-C: lle. Tilanne muuttuu nyt, kun Apple siirtää alustansa Swiftiin.

Kaakaon lisäksi Objective-C: tä käytetään myös GNUstep-alustalla, jota voidaan käyttää Linux-, Unix-, BSD- ja Windows-ympäristöissä ja joka peittää tarkasti kaakaota.

Tietoja Objective-C-kielestä

Objektiivi-C on yksi C: n kahdesta pääkohdeorientoitumisesta, toinen on C ++. Jokainen kieli otti taustana olevan kielen ja toteutti objektiorientaation eri tavalla. (C: n uudemmat versiot ovat seuranneet C ++: n johtoasemaa Objektiiv-C: n sijasta objektiivisuunnan toteuttamisessa. Tämä on johtanut lisää eroja C: n ja Objective-C: n välillä.)

Viestit

Useimmissa oliokeskeisissä kielissä, mukaan lukien C ++, toiminnot kutsutaan kutsumalla menetelmä objektille. Tämä kutsumismenetelmä perustuu Simulaan, ensimmäiseen oliokeskeiseen kieleen.

Objective-C: n syntaksi funktion kutsumiseksi tulee Smalltalkista, jossa viesti välitetään objektille.

Tämä ero saattaa tuntua triviaaliselta, mutta sillä on useita vaikutuksia. Tärkeää on, että funktiokutsut voidaan sitoa tiettyyn objektiin suoritusaikana eikä käännösajankohtana, mikä mahdollistaa joustavammat toteutukset.

Dynaaminen kirjoittaminen

Objective-C, kuten edeltäjänsä Smalltalk, voi hyödyntää dynaamista kirjoittamista. Tämä tarkoittaa, että objekti voi vastaanottaa viestejä, joita ei ole määritelty luokan käyttöliittymässä – jotain, joka aiheuttaisi virheen tai poikkeuksen C ++: ssa ja monilla muilla kielillä.

Koska viesti ei ole suoraan menetelmäkutsu, objektilla ei vaadita suoritettavaa menetelmää. Se voi välittää viestin toiselle objektille viestin edelleenlähetyksellä, tai se voi vastata viestiin jollain muulla tavalla tai aiheuttaa virheen. Tämä mahdollistaa useiden suunnittelumallien, mukaan lukien välityspalvelin- ja tarkkailijakuviot, helpomman toteutuksen.

Luokat

Luokat ovat eräänlainen superluokkarakenne, joka mahdollistaa menetelmien lisäämisen luokkiin ajon aikana. Tämä mahdollistaa menetelmien lisäämisen luokkiin muuttamatta kyseisiä luokkia uudelleen tai edes käyttämättä lähdekoodia. Ne voivat myös korvata olemassa olevat luokkamenetelmät.

Tämä ominaisuus helpottaa suurten, monimutkaisten kooditukien ylläpitoa ja laajentamista.

Online-tavoite-C-resurssit

Alla on resursseja, joiden avulla voit oppia ja käyttää Objective-C: tä. Ne on jaoteltu eri luokkiin, joten voit löytää etsimäsi tiedot helpommin – olivatpa ne sitten ohjelmoinnin perusteita, syventävää koulutusta vai Objective-C-työkaluja.

Objective-C-oppaat ja esittelymateriaali

Näiden asiakirjojen avulla pääset alkuun Objective-C-ohjelmoijana – vaikka et aloittaisi kokemusta kielen käytöstä. Joten jos olet vasta aloittamassa, tämän pitäisi aloittaa.

  • Johdanto Objective-C: hen – yleiskatsaus Applen Objective-C: stä.

  • Johdanto Objective-C – Yleiskatsaus Objective-C: stä ja OpenStep-alustasta, kehittäjältä, joka osallistuu korkean suorituskyvyn matematiikkaan.

  • Kaakaon ja Cocoa Touch -ohjelmoinnin peruskäsitteet – Johdanto kaakaoympäristöön.

  • Johdanto kaakaon koodausohjeisiin – Yleistä tietoa Cocoa API: sta, joka käyttää Objective-C: tä.

  • Objektiivin C dokumentoinnin kirjoittaminen – NSHipster-opas Objective-C-dokumentaatioon. (Toisin sanoen koodista, ei kielestä kirjoitetut asiakirjat.)

  • Aloittelijan opas objektiiviin C: kieli ja muuttujat – Aloittelijan tavoite-C-opetusohjelma Treehousesta.

  • Kokeile Objective-C – ilmainen, viiden osan luokka Objective-C: llä Code Schoolista.

  • Opi Objective-C 24 päivässä – massiivinen, 24-osainen kurssi Objective-C: ltä, Feifan Zhou. (Katso myös tämä täydellinen luettelo Objective-C-opetusohjelmista binpressistä.)

  • Opi Objective-C – Toinen moniosainen Objective-C-kurssi, opinnoista+.

  • Cocoa Dev Central – Kuvitettu opetusohjelma Objective-C: stä.

  • Ry: n Objective-C-opetusohjelma – tiivis pikaopas ja kattava johdanto uusille tulokkaille kielellä.

  • Objective-C-opetusohjelma – kunnollinen (ei hämmästyttävä) opetusohjelma tutorialspointista.

Objective-C-työkalut

Seuraavat Objective-C-työkalut tekevät koodaamisen helpommaksi ja tehokkaammaksi. Tämä pätee erityisesti Objective-C-työkaluihin, jotka ovat saatavana Apple Developer Network -verkostossa, joka maksaa 99 dollaria vuodessa, mutta on silti sen arvoinen.

  • LispWorks for Mac – Sisältää sovellusliittymän Objective-C-luokkien ja kutsutapojen luomiseen – katso lisätietoja LispWorks Objective-C- ja Kaakao-käyttöoppaasta ja viiteoppaasta.

  • Objective-C Editor – enemmän integroitu kehitysympäristö kuin editori, sen avulla voit tehdä kaiken työmme yhdessä paikassa.

  • Apple Developer Network – vaikka ei itse työkalu, Apple Developer Network tarjoaa pääsyn moniin loistaviin Objective-C-työkaluihin, kuten Xcode IDE ja Foundation Framework.

  • Codebeat – analyysijärjestelmä, jonka avulla voit parantaa koodiasi keskittymällä verkko- ja mobiililaitteiden kehittämiseen.

Viite

Seuraavat asiakirjat tarjoavat koodinpätkiä, huijauslomakkeita ja hypertekstin asiakirjoja Objective-C-koodauksen helpottamiseksi.

  • Objective-C Cheat Sheet – Pikahuijauskoodi yleisiin, korkean tason aiheisiin Objective-C: ssä.

  • NSHipster Fake Book – Yli 200 Objective-C-nuolee iOS- ja MacOS X -kehittäjille.

  • Objective-C Runtime Reference – Applelta, kaikesta OS X Objective-C 2.0: n ajonaikaisen kirjaston tukitoiminnoista ja tietorakenteista.

  • Objective-C-cheat Sheet and Quick Reference – Yhden sivun PDF, joka kattaa yleiset Objective-C-ongelmat. Erinomainen roikkuu seinällä dev-koneesi vieressä.

julkaisijat

Tässä on muutama kustantaja, jotka luovat kiinnostavaa sisältöä Objective-C-ohjelmoijille.

  • Objc.io – objc.io julkaisee kirjoja edistyneistä tekniikoista ja käytännöistä iOS: n ja OS X: n kehittämiseen.

  • NSHipster – päiväkirja Object-C-, Swift- ja Kaakao-sivuilla olevista biteistä.

Kirjat aiheesta Objective-C

Niille, jotka haluavat todella sukeltaa aiheeseen, tässä on joitain parhaimmista saatavilla olevista objektiivista C-kirjoista. Ne sisältävät kirjoja juuri aloittaville, niille, jotka haluavat lisätä tietämystä, ja niille, jotka tarvitsevat vertailumateriaalia.

Alustavat kirjat

  • Objective-C -ohjelmointi: Big Nerd Ranch -opas

  • Ohjelmointi tavoitteessa C

  • Ry: n Objective-C-opetusohjelma

  • Objective-C-ohjelmointimutterit ja -pultit

Advanced Books

  • Tehokas Objective-C 2.0: 52 erityisiä tapoja parantaa iOS- ja OS X-ohjelmia

  • Pro Objektiivi-C

  • Pro Objective-C -suunnittelumallit iOS: lle

Lähdekirjat

  • Objective-C-taskuviite

  • Objective-C -pika syntaksin viite

Swift – tavoite-C seuraaja

Jos opit tavoitetta C, on todennäköisesti myös hyvä aloittaa Swift-oppiminen.

Objective-C: n ensisijainen käyttö on Applen Cocoa-alustan sovelluksia, niiden kolme käyttöjärjestelmää (OS X, iOS, WatchOS). Apple on ilmoittanut, että nämä alustat siirtyvät nyt uuteen ohjelmointikieleen Swift.

Tässä on muutama Swift-resurssi:

  • Swift-ohjelmointikieli – Johdanto Swiftille, Apple. Katso myös saman nimen iBooks-kirja, myös Appleltä.

  • Swift Cheat Sheet – Nopea, korkean tason viittaus Swiftiin Objective-C-huijausarkin luojalta.

  • Swiftin käyttö kaakaon ja Objective-C: n kanssa

  • Toiminnallinen ohjelmointi Swift-ohjelmassa

Ohje

Täällä olemme vastanneet useimpiin Object-C: tä koskeviin kysymyksiin.

Mikä on Objective-C?

Objective-C on C-ohjelmointikielen yläjoukko. Se on enimmäkseen C: tä, mutta lisää Smalltalkin kaltaisia ​​esinekeskeisiä ominaisuuksia.

Mihin Object-C: tä käytetään??

Vaikka Objective-C: llä on mahdollista kirjoittaa sovelluksia mille tahansa käyttöjärjestelmälle tai alustalle, Objective-C: n ainoa yleinen käyttö on Apple Applen kolmea käyttöjärjestelmää: Mac OS X, iOS, WatchOS.

Pitääkö minun käyttää Objective-C-sovellusta Apple-sovelluksissa?

Ei. Tavoite-C: n lisäksi on kaksi muuta vaihtoehtoa:

  • Swift – Swift-ohjelmointikieli on seuraaja Objective-C: lle, jota Apple tukee kaikessa uudessa sovelluskehityksessä.

  • Kokoonpano tai käyttö Objective-C: n tai Swiftin päällä – On kourallinen tapa rakentaa muihin kuin alkuperäissovelluksia, jotka toimivat Apple-ympäristössä. Esimerkiksi:

    • PhoneGap
    • Koodinimi Yksi

    • Appcelerator

Onko Objective-C kuollut?

Ei. Tavoite-C on edelleen hyödyllinen opittava kieli ainakin muutamista syistä:

  • Tällä hetkellä Swiftin kaakao-sovellusliittymät eivät ole täysin kypsiä. Objective-C on jonkin aikaa edelleen ainoa tapa hyödyntää kaakao-alustaa täysimääräisesti.

  • Lisäksi kaakaon perusta on kirjoitettu tavoitteessa C. Tämä ei todennäköisesti muutu pian, vaikka Swift olisi täysin kypsä. Jos haluat kirjoittaa monimutkaisia ​​sovelluksia, jotka vaativat alustan syvällistä tuntemusta, tarvitset Objective-C.

  • Viime aikoihin asti kaikki Apple-sovellukset kirjoitettiin Objective-C: llä, ja monet ovat edelleen. Tämä tarkoittaa, että jos sinulle annetaan tehtäväksi ylläpitää, laajentaa tai parantaa näitä nykyisiä sovelluksia, sinun on tiedettävä tavoite-C.

Kuinka Objective-C eroaa C: stä??

Objective-C sisältää kaikki C: n, ja lisää sitten siihen objektiorientoidut periaatteet käyttämällä Smalltalkin syntaksia.

Kuinka Objective-C eroaa C: stä?++?

C ++ ja Objective-C ovat molemmat erillisiä ratkaisuja ongelmaan, joka liittyy objektisuuntauksen lisäämiseen C-ohjelmointikielelle.

Objective-C käytti Smalltalkia mallina objektisuuntautumisen toteuttamiselle, kun taas C ++ käytti Simulaa.

Voinko käyttää Objective-C-järjestelmää muissa kuin Applen järjestelmissä?

Joo. Objective-C: tä voidaan käyttää missä tahansa, kunhan vaadittu suoritusaika on asennettu järjestelmään.

Tätä ei kuitenkaan ole kovin yleistä, ja yleensä on parempia (täydellisemmin tuettuja) tapoja kirjoittaa sovelluksia muille alustoille.

Ehkä vakuuttavin syy käyttää Objective-C: tä muussa kuin Apple-ympäristössä olisi, kun siirretään Apple-sovellusta Windowsille tai Linuxille. Tällöin joudut myös toistamaan kaakaojärjestelmän, jonka voit tehdä GNUstep-ohjelmalla.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map