Kan ik ontwikkelen op een iPad? Code op iPad en iPhone: code-editors, compilers, shell-clients en netwerkhulpprogramma's voor iOS

  • Programmering
  • Programmeren is een creatief proces en vaak wordt de wens om een ​​stukje code te schrijven of een fout onmiddellijk te corrigeren simpelweg ondraaglijk. Soms vereisen externe omstandigheden het schrijven van code, zoals een kritieke fout in de code die het project tot stilstand brengt. Werknemers die leiderschapsposities in een team bekleden, moeten de kans krijgen om een ​​codebeoordeling uit te voeren en probleemgebieden van de code te corrigeren.

    Het is goed om een ​​desktopcomputer of laptop binnen handbereik te hebben waarop de gebruikelijke ontwikkelomgeving wordt ingezet. Maar wat als u zich buiten de werkplek bevindt? Altijd een laptop bij je? Maar ten eerste kan een grote 13-15 inch laptop niet overal ingezet worden (bijvoorbeeld openbaar vervoer), en ten tweede is het een hele klus om het de hele tijd bij je te dragen. Je kunt uiteraard een 11 inch kopen MacBook Air(of het equivalent daarvan), maar toch zal het niet zo compact zijn en niet zo vaak worden gebruikt om de aankoop te rechtvaardigen.

    Laten we onze aandacht richten op de apparaten die nu bijna altijd bij ons zijn: een telefoon en een tablet. Een telefoon is natuurlijk een extreme optie, al vervaagt nu, met de komst van 6 - 6,5 inch modellen, de grens tussen een telefoon en een tablet. Ik heb ervaring met het succesvol herstellen van een externe server via ssh met iPhone-telefoon 4s met 3,5 inch scherm. Maar we hebben het nog steeds over het proces volwaardig werk met een code is daarom naar mijn mening het minimum een ​​tablet met een diagonaal van 7 inch, waarvan het scherm informatie kan bevatten die vergelijkbaar is met het scherm van een grote computer. Ik zal het je laten zien met een voorbeeld iPad Mini mogelijke opties het wordt gebruikt om alledaagse ontwikkelaarsproblemen op te lossen.

    Met behulp van een tekstterminal, externe SSH-verbinding en console-editor type Vim geconfigureerd op de server. Prominente vertegenwoordigers zijn Prompt (vanaf beroemd bedrijf Paniek) en vSSH
    - gebruik native iOS teksteditortoepassingen: Textastic, Coda, GoCoEdit
    - gebruik van fondsen toegang op afstand naar de hoofdmachine: RDP, VNC, TeamViewer, Parallels Access

    Elk van deze methoden heeft zijn eigen voor- en nadelen, die we hieronder zullen bespreken.

    Een tekstterminal gebruiken

    Laten we aannemen dat dit het geval is externe server en Vim is erop geconfigureerd. Vim is van nature alleen voor het toetsenbord, dus het past perfect bij het gebruikspatroon extern toetsenbord. Op internet kun je duizenden artikelen vinden over de flexibiliteit van het opzetten van Vim - ik kan alleen maar zeggen dat de licht aangepaste Vim qua gemak niet onderdoet voor de editors van JetBrains, wiens producten ik ook actief gebruik. Als u alleen backend-applicaties ontwikkelt en de resultaten vanaf de console kunt testen, raad ik u aan voor deze optie te kiezen (het is ook raadzaam om Tmux te configureren).

    Als terminal kun je het fraaie vSSH gebruiken, waarin je alles kunt configureren, of het meer hipster Prompt. Het slechte aan Prompt is dat een deel van het scherm wordt toegewezen aan verschillende hulpelementen, wat vermindert werkgebied, maar een aangenamer kleurenschema en verschillende “trucjes”.

    Snel:

    vSSH-instellingen

    De geconfigureerde VIM heeft automatisch aanvullen volgens trefwoorden

    Hetzelfde voor het project als geheel (namen van functies in klassen)

    Evenals projectnavigatie

    Snel - $ 7,99
    vSSH - 279 wrijven.

    Native iOS-apps

    Om de manieren van werken met bestanden samen te vatten (afhankelijk van de editor):

    SFTP
    -WebDAV
    - iCloud
    - Dropbox
    - ingebouwde webserver
    - synchronisatie via iTunes
    - integratie via GitHub/Bitbucket
    - integratie met Amazon S3, DreamObjects

    Met alle editors kunt u met meerdere tegelijk werken open bestanden.

    Alle editors hebben zeer beperkte ondersteuning voor sneltoetsen. In een interview zei de maker van GoCoEdit dat Apple zelf ontwikkelaars enorm beperkt in deze zaken. Die. vergeet de bindingen voor elke actie - in het beste geval is het Cmd-C / Cmd-V

    Geen van beide editors heeft ingebouwde git-ondersteuning, maar er is wel de mogelijkheid tot integratie met Toepassingen van derden die deze functionaliteit implementeren.

    Met al deze applicaties kun je beide stand-alone Git-repository's verbinden en integreren met GitHub en BitBucket. Ondersteunt branches, het bekijken van commits, diffs, etc. In de regel hebben al deze programma's dat wel gratis functionaliteit om met repositories te werken in de bladermodus. Als u uw wijzigingen wilt vastleggen, moet u tussen de 7 en 10 dollar betalen.

    Een opslagplaats toevoegen

    Venster voor het werken met de repository

    Bestand bekijken

    Zoals ik hierboven schreef, is er volledige integratie met de Textastic-editor.

    De kosten zijn gratis, maar voor volledige werking moet u de functies ontgrendelen.

    GoCoEdit

    Het is duidelijk dat de GoCoEdit-editor is geschreven door een programmeur voor programmeurs. Het ontwerp van de applicatie is vrij uniek, maar er zijn een aantal functies die in andere editors ontbreken.

    Algemeen beeld van de redacteur. Let op extra lijn met symbolen bovenaan het toetsenbord. Het werkingsprincipe is hetzelfde als Textastic, hierboven beschreven. Het verschil is dat terwijl Textastic een knop met vijf richtingen heeft, er hier slechts drie zijn: midden, rechts, links.

    Venster voor het werken met bestanden

    Er is een zoekopdracht zoals in een woordenboek

    Hetzelfde geldt voor functies in de klas. Dat wil ik graag benadrukken er wordt gezocht alleen door huidig ​​bestand, in plaats van voor het hele project, wat de reikwijdte en bruikbaarheid ervan aanzienlijk beperkt.

    Zoekopdracht

    Er is een speciaal opdrachtmodus. Omdat, zoals ik hierboven al zei, normale sneltoetsen in iOS niet (of slecht implementeerbaar) zijn, wordt hier de volgende hack gebruikt: wanneer je op de CMD-knop drukt, verschijnt er een invoervenster waarin je sneltoetsen kunt invoeren die een bepaalde actie implementeren. De sneltoetsen zelf lijken sterk op de sneltoetsen van VIM.

    De ingebouwde browser heeft de mogelijkheid om FireBug Lite te verbinden.

    Kost 349 roebel in de Russische AppStore.

    Toegang op afstand gebruiken desktop computer/laptop.

    Ik heb TeamViewer en enkele VNC-clients met VPN-forwarding geprobeerd thuisnetwerk. Over het algemeen leek het mij dat ze niet echt rekening hielden met de realiteit lopende werkzaamheden onder de iPad en daardoor laat het gebruiksgemak veel te wensen over.

    Toen Parallels Access een paar jaar geleden uitkwam, kreeg ik een gratis jaarlicentie erbij Parallels-bureaublad. Van wat ik heb geprobeerd, is dit het meest verstandige product, maar het is ook niet zonder tekortkomingen. Het grootste nadeel zijn de periodieke “Slow” berichten internetverbinding"en de interface loopt vast, hoewel zowel de iPad als de laptop zich op een 70 Mbit/s-netwerk bevinden. Gelukkig komt dit niet zo vaak voor en kun je ermee leven. Nu kost een jaarabonnement 649 roebel / jaar.

    PHPStorm draait op een laptop

    Applicatiestarter

    Google Chrome met open console

    Over het algemeen kunnen we zeggen dat dit een werkende optie is, op voorwaarde dat je op een snel internetkanaal zit. Aan de positieve kant: compleet werkomgeving op iPad.

    Conclusie

    De iPad kan gebruikt worden voor volledige ontwikkeling. Ik gebruik een extern toetsenbord als ik dat ergens neer kan zetten en een schermtoetsenbord als ik onderweg iets moet doen. Schermtoetsenbord vergroot de afmetingen van het apparaat niet en maakt het mogelijk om het onderweg te gebruiken, maar bedekt toch de helft ervan klein scherm. Bovendien zorgt het typen met een groot aantal speciale tekens op verschillende “schermen” van het toetsenbord ervoor dat de tekstinvoer traag wordt. Een extern toetsenbord vereist plaatsing, maar laat het scherm vrij en zorgt ervoor dat je op desktopsnelheid kunt typen.



    Als je alleen een backend-applicatie ontwikkelt die niet in de browser hoeft te worden getest, zou ik de combinatie van SSH-client + VIM + tmux op de server aanbevelen.

    Als je iets aan de frontend aan het ontwikkelen bent en je beschikt over voldoende internetkanaal, dan raad ik een combinatie van Parallels Access + editor + volwaardig Google Chrome met een console aan.

    Native editors bevinden zich in een tamelijk rudimentaire staat. Tot de komst van serieuze spelers op deze markt en de stappen van Apple naar een geavanceerder gebruik van een extern toetsenbord, is dit niets meer dan een back-upoptie voor het geval je niet over internet beschikt. Alle editors zijn ontworpen om met één bestand te werken, en niet met het hele project. Ik hoop dat met de komst iPad Pro de situatie zal verbeteren en we zullen volwaardige redacteuren krijgen. Als je echt wilt fantaseren, zou ik graag willen dat Apple je toestaat een MagicPad aan te sluiten en de cursor op het scherm te laten zien, zodat je niet voortdurend in het scherm hoeft te "porren".

    Wist u dat u COBOL-programma's op de iPad kunt schrijven en deze meteen kunt uitvoeren? En over het feit dat er voor iOS een ontwikkelomgeving is voor het coderen in Coffee Script? Welke applicatie kun je gebruiken om met tekst te werken met behulp van vim-opdrachten? Hier zijn 10 programma's voor het werken met code voor elke smaak.

    Tekstische code-editor

    Ondersteunt integratie met major cloud diensten en protocollen voor het verzenden van gegevens naar de server. Gemakkelijk te gebruiken en moeilijk om een ​​programmeertaal te vinden waar Textastic niet mee kan werken. Voor rang ideale redacteur De code mist de mogelijkheid om bestanden naar Github te publiceren.

    Voordelen:

    • Syntaxisaccentuering voor 80 programmeertalen. Zelfs voor exotische dingen als BibTex, Clojure, Dylan, Fountain, LilyPond, OCaml, Stata en Prolog;
    • u kunt uw eigen codemarkeringsregels toevoegen;
    • TextMate-compatibel;
    • FFT- en SSH-ondersteuning;
    • integratie met iCloud en Dropbox;
    • codevoltooiing voor Javascript, HTML en PHP;
    • toetsenbord met extra tekens voor het typen van code;
    • ondersteuning voor snelkoppelingen;
    • ondersteuning voor de meeste moderne coderingen;
    • mogelijkheid om het lettertype en de grootte te wijzigen;
    • karakterteller;
    • voorbeeld voor HTML- en Markdown-bestanden;
    • TextEspander-ondersteuning;
    • het verzenden van bestanden per e-mail;
    • er zijn knoppen “Ongedaan maken” en “Opnieuw”;
    • er is een weergave van een lijst met recent geopende bestanden;
    • Ondersteuning voor iTunes FileSharing (u kunt bestanden delen met uw computer via USB);
    • WebDav-ondersteuning;
    • Geweldig ontwerp waardoor de code gemakkelijk te lezen is.

    Gebreken:

    • geen SVN-ondersteuning;
    • geen Git-ondersteuning.

    Prijs: 479 roebel

    Koder

    Qua gemak en aantal ondersteunde talen is het bijna net zo goed als zijn vorige concurrent. Maar het kost minder en is iets geschikter voor webontwikkelaars. U kunt bijvoorbeeld webapplicaties debuggen met FireBug.

    Voordelen:

    • ondersteuning voor bijna honderden programmeertalen. Koder heeft zelfs verschillende accenten voor ActionScript en ActionScript 3;
    • code automatisch aanvullen;
    • functiereferenties voor de meest populaire talen;
    • ingebouwde SSH-client;
    • streepjesbeheersysteem;
    • je kunt een toetsenbord met extra symbolen inschakelen;
    • Ondersteuning voor Documentkiezer in iOS 8;
    • zoek- en vervangfuncties;
    • voorbeeld HTML-bestanden in de browser;
    • FireBug-ondersteuning;
    • kan worden gemaakt eigen thema's registratie;
    • het vergrendelen van de applicatie met een wachtwoord;
    • Ondersteuning voor het delen van iTunes-bestanden;
    • FTP-ondersteuning;
    • bestanden openen en opslaan in alle populaire coderingen;
    • ondersteuning voor Zip-archieven;
    • verbeterde bestandsbeheerder.

    Gebreken:

    • geen Golang-ondersteuning;
    • geen SVN-ondersteuning;
    • geen Git-ondersteuning.

    Prijs: 349 roebel.

    Deze teksteditor kan universeel worden genoemd en is niet bedoeld voor coderen. Naast HTML-bestanden, bash-scripts, bronnen in C of Java kunt u deze bewerken Word-bestanden, Excel-tabellen en presentaties.

    Voordelen:

    • mogelijkheid tot export tekstbestanden in PDF en JPEG;
    • bestanden verzenden om af te drukken;
    • het verzenden van bestanden per e-mail;
    • de mogelijkheid om foto's aan de tekst toe te voegen;
    • steun Microsoft-bestanden Kantoor;
    • handig bestandsbeheer;
    • werken met Zip-archieven.

    Gebreken:

    • kan werken met een vrij beperkt aantal programmeertalen;

    Prijs: 169 roebel.

    Nog een geweldige code-editor, vergelijkbaar met Textastic en Koder. Er zijn alle gemakken voor het schrijven van code, ondersteuning voor minder populaire talen en features voor het werken in de cloud.

    Voordelen:

    • FTP- en SFTP-ondersteuning;
    • Dropbox-ondersteuning;
    • werken met SSH;
    • er is een versie voor iPod Touch;
    • automatische synchronisatie met de server;
    • ondersteuning voor 4 dozijn programmeertalen. Inclusief Ada, Go, INI en Lua;
    • uitgebreid toetsenbord;
    • ondersteuning voor snelkoppelingen;
    • er zijn knoppen “Ongedaan maken” en “Opnieuw”;
    • zoek- en vervangfuncties;
    • voorbeeld voor HTML-bestanden;
    • grote selectie ontwerpthema's;
    • het verzenden van bestanden per e-mail;
    • ondersteuning voor vim-opdrachten.

    Gebreken:

    • geen ondersteuning voor versiebeheersystemen.

    Prijs: 179 roebel.

    Gusto

    Deze editor is speciaal ontworpen voor webontwikkeling. Bronnen en afbeeldingen zijn gegroepeerd in projecten. Elk project komt overeen met een afzonderlijke site, waarvoor u de synchronisatie met de FTP-server individueel kunt configureren.

    Voordelen:

    • alle bestanden (bronnen, afbeeldingen, video's) zijn onderverdeeld in projectsites;
    • lijnnummering;
    • syntaxisaccentuering voor de belangrijkste webprogrammeertalen;
    • u kunt aangepaste syntaxisaccentueringsschema's maken;
    • een werkbalk met de meest gebruikte opdrachten;
    • FTP- en SFTP-ondersteuning;
    • FTPS-ondersteuning;
    • integratie met Dropbox;
    • Er is een versie voor iPod Touch.

    Gebreken:

    • geen integratie met versiebeheersystemen;
    • Er zijn problemen bij het overbrengen van bestanden.


    Prijs: 599 roebel.

    Codemeester

    Ergonomie is slechter dan die van de bovenstaande redactie. Er worden maar weinig talen ondersteund. Maar sommigen genieten misschien van de mogelijkheid om nieuw geschreven code op sociale netwerken te delen.

    Voordelen:

    Gebreken:

    • veel programmeertalen worden niet ondersteund;
    • geen integratie met versiebeheersystemen.

    Prijs: gratis

    Een van de oudste ontwikkelomgevingen voor iOS. Ontworpen voor het maken van webapplicaties in JavaScript.

    Voordelen:

    • CSS-, HTML- en JavaScript-ondersteuning;
    • ingebouwde browser voor het bekijken van bestanden;
    • alle bestanden zijn georganiseerd in projecten;
    • u kunt afbeeldingen rechtstreeks vanaf internet in het project opslaan;
    • flexibele thema-aanpassing;
    • wachtwoordbeveiliging van de applicatie;
    • integratie met Dropbox.

    Gebreken: niet gedetecteerd.

    Prijs: gratis.

    Voor ik

    Wat deze app onderscheidt van andere, is de mogelijkheid om code naar Github of Xcode te exporteren. Het is niet zo mooi en handig als Textastic, maar het veroorzaakt geen negatieve emoties tijdens het werken.

    Voordelen:

    • syntaxisaccentuering voor belangrijke programmeertalen;
    • het opzetten van persoonlijke thema’s;
    • uitgebreid toetsenbord;
    • ondersteuning voor snelkoppelingen;
    • bestanden automatisch opslaan;
    • tekst zoeken met ondersteuning voor reguliere expressies;
    • integratie met Github;
    • integratie met XCode;
    • Ondersteuning voor TextMate-bundels.

    Gebreken: niet gedetecteerd.

    Prijs: 599 roebel.

    Deze applicatie kan geen volwaardige ontwikkelomgeving worden genoemd. Het is meer een speeltje voor fans van impopulaire programmeertalen. Voor degenen die er al lang van dromen om “Hello World” op Pike te schrijven en ervoor te zorgen dat het werkt.

    Voordelen:

    • het is niet alleen mogelijk om bronbestanden te bewerken, maar ook om ze op een externe server uit te voeren;
    • Ondersteuning voor het delen van iTunes-bestanden;
    • integratie met Dropbox;
    • uitgebreid toetsenbord;
    • lijnnummering en de functie “Goto Line”;
    • ingebouwde browser voor het bekijken van HTML-documenten;
    • het verzenden van bestanden per e-mail;
    • ondersteuning voor enkele tientallen programmeertalen. Inclusief Factor, COBOL, Unlambd en Smalltalk.

    Gebreken:

    • Het uitvoeren van bronnen op een externe server werkt niet altijd.

    Prijs: 169 roebel.

    CoffeeScript in één keer

    Een andere applicatie voor webontwikkelaars. Voor degenen voor wie native Java Script om wat voor reden dan ook niet geschikt is en CoffeeScript gebruikt.

    Voordelen:

    Dit artikel begint een serie bedoeld voor beginners. Ik durf te hopen dat het presentatieniveau van het materiaal zelfs mensen die niet bekend zijn met programmeren in staat zal stellen het te begrijpen. Laten we ons verhaal beginnen met een kleine lyrische uitweiding. Applicaties voor iPhone en iPad zijn geschreven in Objective-C. Deze taal werd veel gebruikt bij NeXT en kwam na de terugkeer van Steve Jobs naar Apple. Momenteel is Objective-C de belangrijkste taal voor het ontwikkelen van OS X- en iOS-applicaties.

    Om te beginnen met programmeren voor iOS, heb je een Mac-computer nodig Intel-processor en de XCode-ontwikkelomgeving. Als je geen Mac hebt, maakt het niet uit. Misschien past een van de beschreven methoden om dit probleem op te lossen bij u. We zullen ons concentreren op XCode 4 en iOS5.

    XCode installeren

    Eerst moeten we ons registreren op de ontwikkelaarssite van Apple. Volg de link en klik op registreren. Klik op de knop Aan de slag en voltooi het registratieproces. Alles is daar vrij eenvoudig, dus ik zal hier niet verder op ingaan. Na registratie ontvangt u een e-mail met uw Apple ID. Keer terug naar de Apple Developers-pagina en gebruik deze om het beveiligde gebied te betreden. Klik in de sectie DevCenters op iOS-link. Zoals je kunt zien, biedt Apple je een heleboel documentatie, bronnen en tutorials. Deze pagina heeft alles wat je nodig hebt om aan de slag te gaan met iOS-ontwikkeling. Helemaal onderaan bevindt zich een knop Download Xcode waarop u moet klikken. Na het downloaden installeert u Xcode op uw Mac.

    Kennismaken met de XCode 4-interface

    Om Xcode te starten, gaat u naar uw hoofd schijf en klik op ontwikkelaar>Toepassingen.

    Zodra Xcode is gestart, selecteert u Bestand>Nieuw project, vervolgens Single View Application en voert u HelloWorld in als de productnaam. Als resultaat zou je zoiets als dit moeten zien

    Al uw code en bronnen zijn georganiseerd in speciale mappen, die zich aan de linkerkant van het Xcode-venster bevinden. Het paneel heet "Project Navigator" en bevat alle elementen van uw programma. Bestanden met broncode hebben de extensie ".h" en ".m". Als u op zo'n bestand klikt, wordt aan de rechterkant van Xcode een editor met de code geopend.

    Laten we voorlopig niet bij de code stilstaan. We komen later op dit onderwerp terug. Als je kijkt bovenste deel scherm, ziet u verschillende knoppen die betrekking hebben op uw project. Laten we dit paneel in meer detail bestuderen.

    De knop "Uitvoeren" start uw project. U kunt uw applicatie testen en ervoor zorgen dat deze zich daadwerkelijk gedraagt ​​zoals u verwacht. De knop "Taken" stopt de actieve applicatie.

    Met behulp van de Schemr-knop kunt u het doelplatform selecteren waarop uw applicatie zal draaien. Hier kunt u een simulator kiezen en fouten in het programma op uw computer oplossen, of het op uw iPhone (iOS-apparaat) uitvoeren als u de kosten van $ 99 heeft betaald. Het enige voordeel dat deze betaling biedt, is de mogelijkheid om het programma uit te voeren echt apparaat en plaats deze erin App Winkel. Ik zou niet aanraden dat je geld uitgeeft totdat je een normaal programma klaar hebt staan.

    Breekpunten zijn erg handig. Met deze knop kunt u regels in de broncode markeren, en wanneer tijdens de uitvoering van het programma de gemarkeerde regel wordt bereikt, pauzeert het programma en kunt u de status van de variabelen bekijken. Dit is een zeer krachtig en veelgebruikt hulpmiddel.

    Klik op de knop "Uitvoeren". U ziet een emulatorvenster met uw project. Zoals u kunt zien, is het, hoewel het niet uitblinkt in functionaliteit, slechts blanco.

    Programmeren voor iPhone - De eerste stap

    Genoeg gedoe, laten we iets coderen. Het Project Navigator-venster bevat broncodebestanden. Klik op een .m-bestand. Houd er rekening mee dat sommige lijnen gekleurd zijn groene kleur- dit zijn opmerkingen die dienen als spiekbriefjes. Om niet in de war te raken in de code, kan de programmeur hints en uitleg voor zichzelf achterlaten. Om opmerkingen in de C-taal aan te duiden, wordt de combinatie van schuine strepen // gebruikt. Alles op de regel rechts van deze tekens wordt als commentaar beschouwd. Als u een commentaar met meerdere regels wilt schrijven, kunt u de combinaties /* en */ gebruiken om het begin en einde van een commentaar met meerdere regels aan te geven.

    Voordat we beginnen met het coderen van de applicatie, moet ik je een paar concepten met mijn vingers uitleggen: OOP (Object Oriented Programming), MVC (Modal View Controller), ".h" en ".m" bestanden. Dus... objectgeoriënteerd programmeren houdt in dat alle code wordt opgedeeld in zogenaamde objecten, waarbinnen gegevens en de commando's die deze verwerken, worden opgeslagen. Een object in Objective-C bestaat uit twee bestanden.h en .m. Het bestand.h wordt de header genoemd; het bevat een "schets" van het object - alle gegevens en namen van opdrachtblokken (methoden) in het object worden vermeld. Het .m-bestand wordt het implementatiebestand genoemd en beschrijft in detail alles wat in de header wordt aangegeven; hier wordt alle programmalogica geprogrammeerd.

    MVC (Model View Controller) is iets dat de code scheidt van de interface die de gebruiker ziet. Model zijn de gebruikersgegevens en de gegevens die u aan de gebruiker laat zien. View is de gebruikersinterface en code die zorgt voor de communicatie tussen View en Model. Het concept van MVC lijkt je nu misschien te duister, maar na verloop van tijd zul je zien dat deze aanpak het leven van een programmeur echt vereenvoudigt. Dit concept impliceert de volgende werkvolgorde: de programmeur maakt afzonderlijk een applicatieontwerpsjabloon, waar hij alle knoppen plaatst, tekstvelden en andere belangrijke onzin, en schrijft programma's afzonderlijk. Vervolgens laat het XCode zien welke methode (codeblok) moet worden aangeroepen als reactie op deze of gene gebruikersactie en welke naam dit of dat besturingselement heeft in de tekst van het programma.

    Wij ontwikkelen een programmaontwerp voor iPhone

    Laten we beginnen met het maken van onze applicatie door het ontwerp te ontwikkelen. Klik in het Project Navigator-venster op MainStoryboard_iPhone.storyboard. Als gevolg hiervan zal XCode de interface-editor starten.

    In de rechter benedenhoek ziet u een lijst met objecten (Bibliotheek) die in uw interface kunnen worden gebruikt; in het centrale deel wordt het View-venster weergegeven, dat de lay-out van de interface van uw programma weergeeft. Het venster rechtsboven heeft verschillende modi, die kunnen worden geschakeld met behulp van de pictogrammen boven het venster. De afbeelding toont de Attribute Inspector-modus. Hier kunt u verschillende kenmerken wijzigen van de objecten waaruit uw interface bestaat.

    Laten we een Label-object vanuit het bibliotheekvenster naar onze vensterindeling slepen. Met behulp van de muis veranderen we de grootte van het object, zoals weergegeven in het onderstaande scherm. De inspecteur geeft de eigenschappen van het Label-object weer. Laten we de tekst centreren door op het overeenkomstige pictogram in de lay-outregel te klikken.

    Laten we de tekst in het tekstveld verwijderen (daar is het woord Label geschreven) en daar "Some String" invoeren.

    Voeg op dezelfde manier een knop toe aan de lay-out (Knopobject)

    Daarom hebben we het ontwerp van onze applicatie ontwikkeld. Niets ingewikkelds, u kunt op de knop Uitvoeren klikken en het werk van uw programma in het emulatorvenster bekijken.

    Laten we beginnen met coderen

    We hebben dus twee visuele componenten op de lay-out geplaatst. We willen dat de tekst in de regel verandert wanneer op de knop wordt geklikt. Om dit idee te implementeren, moeten we toegang krijgen tot een rij (Label-object) vanuit de programmacode en een methode (codeblok) aanroepen wanneer de knop wordt ingedrukt.

    Klik op het bestand "ViewController.h" in het linkerpaneel. We gaan IBOutlet beschrijven. IBOutlet koppelt onze code aan een visueel object, zoals een label of knop. Wijzig de code in het ViewController.h-bestand zodat het er zo uitziet

    #importeren @ interface ViewController: UIViewController(IBOutlet UILabel* label; // geef onze string de naam Label } //dit is de header van de methode die zal zijn //geroepen als reactie op een klik op een knop- (IBAction) buttonClick: (id) afzender; @einde

    Dit is alles wat we in het headerbestand moeten schrijven. Met IBAction kunt u een methode verbinden met een gebruikersinterface-element. Als reactie op een knopklik wordt bijvoorbeeld de door ons geschreven programmacode aangeroepen.

    We hebben dus gezegd dat we de string met het tekstlabel zullen aanroepen en dat de buttonClick-methode zal worden aangeroepen als reactie op gebruikersactie. Laten we de code voor deze methode schrijven. Laten we overschakelen naar het ViewController.m-bestand in de projectboom. Na de lijn @implementatie... voeg de code toe

    - (IBAction) buttonClick: (id) sender( label. text= @ ”Hallo van Mobilab. ru”; )

    Let op: als u deze code heeft gekopieerd, krijgt u waarschijnlijk een foutmelding wanneer u het programma uitvoert; het probleem zit hoogstwaarschijnlijk tussen de aanhalingstekens. Verwijder ze en voer ze in via het toetsenbord.

    Laten we eens kijken wat we hier zien. We hebben toegang tot het labelobject: een regel tekst op het scherm. Omdat dit een object is, bevat het verschillende gegevens (die in OOP ook objecteigenschappen worden genoemd) en methoden die toegankelijk zijn door een punt achter de objectnaam te plaatsen. Teksteigenschap is verantwoordelijk voor de tekst in de regel.

    We hebben de codering voltooid, het enige dat nu overblijft is het label en de knopKlik te associëren met de elementen in de ontwerplay-out. Klik op de regel MainStoryboard_iPhone.storyboard in het Project Navigator-venster om over te schakelen naar de interface-ontwerper. Klik vervolgens op het pictogram “Bekijk controller”. Schakel over naar de verbindingsmodus in de inspecteur (laatste pictogram). Kijk, de labelregel is verschenen in het gebied Verkooppunten van de inspecteur. Dit is de naam die we hebben opgegeven in het ViewController.h-bestand. Klik op de cirkel aan de rechterkant van de labellijn en sleep deze naar de lijn Enkele tekst in de ontwerplay-out.

    Voer een soortgelijke handeling uit met de knop. Klik op de knop met een cirkel in de groep “Ontvangen acties”, klik vervolgens op buttonClick en sleep deze naar de knop in de lay-out. Als gevolg hiervan gaat het open contextmenu, waarmee u kunt selecteren wanneer u de methode wilt aanroepen. Je kunt de code bijvoorbeeld oproepen als de gebruiker op de knop drukt, of als hij deze loslaat. Er zijn veel opties. Selecteer 'Binnenkant bijwerken'.

    Dat is alles! Sla het project op en klik op de knop "Uitvoeren" in het bovenste paneel. Als je alles goed hebt gedaan, zou de emulator met jouw programma moeten starten. Klik op de knop. De tekst in de regel moet veranderen. Dat is alles. De eerste les zit erop

    Programmeren is een creatief proces en vaak wordt de wens om een ​​stukje code te schrijven of een fout onmiddellijk te corrigeren simpelweg ondraaglijk. Soms vereisen externe omstandigheden het schrijven van code, zoals een kritieke fout in de code die het project tot stilstand brengt. Werknemers die leiderschapsposities in een team bekleden, moeten de kans krijgen om een ​​codebeoordeling uit te voeren en probleemgebieden van de code te corrigeren.

    Het is goed om een ​​desktopcomputer of laptop binnen handbereik te hebben waarop de gebruikelijke ontwikkelomgeving wordt ingezet. Maar wat als u zich buiten de werkplek bevindt? Altijd een laptop bij je? Maar ten eerste is een grote 13-15 inch laptop niet overal inzetbaar (bijvoorbeeld in het openbaar vervoer), en ten tweede is het een hele opgave om hem altijd bij je te hebben. Je kunt natuurlijk een 11-inch MacBook Air (of het equivalent daarvan) kopen, maar die zal nog steeds niet zo compact zijn en niet zo vaak worden gebruikt om de aankoop te rechtvaardigen.

    Laten we onze aandacht richten op de apparaten die nu bijna altijd bij ons zijn: een telefoon en een tablet. Een telefoon is natuurlijk een extreme optie, al vervaagt nu, met de komst van 6 - 6,5 inch modellen, de grens tussen een telefoon en een tablet. Ik heb ervaring met het succesvol herstellen van een externe server via ssh vanaf een iPhone 4s met een 3,5 inch scherm. Maar we hebben het nog steeds over het proces van volledig werken met de code, daarom is naar mijn mening het minimum een ​​tablet met een diagonaal van 7 inch, waarvan het scherm informatie kan bevatten die vergelijkbaar is met het scherm van een grote computer. Met de iPad Mini als voorbeeld zal ik mogelijke opties laten zien om deze te gebruiken om alledaagse ontwikkelaarsproblemen op te lossen.

    Met behulp van een tekstterminal, een externe SSH-verbinding en een console-editor zoals Vim geconfigureerd op de server. Prominente vertegenwoordigers zijn Prompt (van het bekende bedrijf Panic) en vSSH
    - gebruik van native iOS-teksteditortoepassingen: Textastic, Coda, GoCoEdit
    - gebruik van tools voor externe toegang tot de hoofdmachine: RDP, VNC, TeamViewer, Parallels Access

    Elk van deze methoden heeft zijn eigen voor- en nadelen, die we hieronder zullen bespreken.

    Een tekstterminal gebruiken

    Stel dat u een externe server heeft en Vim daarop is geconfigureerd. Vim heeft van nature alleen een toetsenbord, dus het past perfect in het patroon van het gebruik van een extern toetsenbord. Op internet kun je duizenden artikelen vinden over de flexibiliteit van het opzetten van Vim - ik kan alleen maar zeggen dat de licht aangepaste Vim qua gemak niet onderdoet voor de editors van JetBrains, wiens producten ik ook actief gebruik. Als u alleen backend-applicaties ontwikkelt en de resultaten vanaf de console kunt testen, raad ik u aan voor deze optie te kiezen (het is ook raadzaam om Tmux te configureren).

    Als terminal kun je het fraaie vSSH gebruiken, waarin je alles kunt configureren, of het meer hipster Prompt. Het slechte aan Prompt is dat het een deel van het scherm heeft dat is gewijd aan verschillende hulpelementen, waardoor het werkgebied kleiner wordt, maar het heeft een prettiger kleurenschema en verschillende "trucs".

    Snel:

    vSSH-instellingen

    De geconfigureerde VIM heeft automatisch aanvullen volgens trefwoorden

    Hetzelfde voor het project als geheel (namen van functies in klassen)

    Evenals projectnavigatie

    Snel - $ 7,99
    vSSH - 279 wrijven.

    Native iOS-apps

    Om de manieren van werken met bestanden samen te vatten (afhankelijk van de editor):

    SFTP
    -WebDAV
    - iCloud
    - Dropbox
    - ingebouwde webserver
    - synchronisatie via iTunes
    - integratie via GitHub/Bitbucket
    - integratie met Amazon S3, DreamObjects

    Met alle editors kunt u met meerdere gelijktijdig geopende bestanden werken.

    Alle editors hebben zeer beperkte ondersteuning voor sneltoetsen. In een interview zei de maker van GoCoEdit dat Apple zelf ontwikkelaars enorm beperkt in deze zaken. Die. vergeet de bindingen voor elke actie - in het beste geval is het Cmd-C / Cmd-V

    Geen van beide editors heeft native git-ondersteuning, maar er is de mogelijkheid tot integratie met applicaties van derden die deze functionaliteit implementeren.

    Met al deze applicaties kun je beide stand-alone Git-repository's verbinden en integreren met GitHub en BitBucket. Ondersteunt branches, het bekijken van commits, diffs, etc. In de regel hebben al deze programma's gratis functionaliteit voor het werken met repository's in de weergavemodus. Als u uw wijzigingen wilt vastleggen, moet u tussen de 7 en 10 dollar betalen.

    Een opslagplaats toevoegen

    Venster voor het werken met de repository

    Bestand bekijken

    Zoals ik hierboven schreef, is er volledige integratie met de Textastic-editor.

    De kosten zijn gratis, maar voor volledige werking moet u de functies ontgrendelen.

    GoCoEdit

    Het is duidelijk dat de GoCoEdit-editor is geschreven door een programmeur voor programmeurs. Het ontwerp van de applicatie is vrij uniek, maar er zijn een aantal functies die in andere editors ontbreken.

    Algemeen beeld van de redacteur. Let op de extra rij symbolen bovenaan het toetsenbord. Het werkingsprincipe is hetzelfde als Textastic, hierboven beschreven. Het verschil is dat terwijl Textastic een knop met vijf richtingen heeft, er hier slechts drie zijn: midden, rechts, links.

    Venster voor het werken met bestanden

    Er is een zoekopdracht zoals in een woordenboek

    Hetzelfde geldt voor functies in de klas. Ik zou willen benadrukken dat er alleen naar het huidige bestand wordt gezocht, en niet naar het hele project, wat de reikwijdte en bruikbaarheid aanzienlijk beperkt.

    Zoekopdracht

    Er is een speciale commandomodus. Omdat, zoals ik hierboven al zei, normale sneltoetsen in iOS niet (of slecht implementeerbaar) zijn, wordt hier de volgende hack gebruikt: wanneer je op de CMD-knop drukt, verschijnt er een invoervenster waarin je sneltoetsen kunt invoeren die een bepaalde actie implementeren. De sneltoetsen zelf lijken sterk op de sneltoetsen van VIM.

    De ingebouwde browser heeft de mogelijkheid om FireBug Lite te verbinden.

    Kost 349 roebel in de Russische AppStore.

    Externe toegang gebruiken tot een desktopcomputer/laptop.

    Ik heb TeamViewer en enkele VNC-clients geprobeerd met VPN-forwarding naar mijn thuisnetwerk. Over het algemeen leek het mij dat ze niet echt rekening houden met de realiteit dat er onder de iPad wordt gewerkt en dat het gebruiksgemak daardoor veel te wensen overlaat.

    Toen Parallels Access een paar jaar geleden uitkwam, kreeg ik een gratis jaarlicentie die bij Parallels Desktop werd geleverd. Van wat ik heb geprobeerd, is dit het meest verstandige product, maar het is ook niet zonder tekortkomingen. Het grootste nadeel zijn de periodieke berichten over een “langzame internetverbinding” en berichten die “vastlopen” in de interface, hoewel zowel de iPad als de laptop zich op een 70 Mbit/s-netwerk bevinden. Gelukkig komt dit niet zo vaak voor en kun je ermee leven. Nu kost een jaarabonnement 649 roebel / jaar.

    PHPStorm draait op een laptop

    Applicatiestarter

    Google Chrome met open console

    Over het algemeen kunnen we zeggen dat dit een werkende optie is, op voorwaarde dat je op een snel internetkanaal zit. Eén van de voordelen is een complete werkomgeving op de iPad.

    Conclusie

    De iPad kan gebruikt worden voor volledige ontwikkeling. Ik gebruik een extern toetsenbord als ik dat ergens neer kan zetten en een schermtoetsenbord als ik onderweg iets moet doen. Het schermtoetsenbord vergroot het apparaat niet en zorgt ervoor dat je het onderweg kunt gebruiken, maar bedekt de helft van het toch al kleine scherm. Bovendien zorgt het typen met een groot aantal speciale tekens op verschillende “schermen” van het toetsenbord ervoor dat de tekstinvoer traag wordt. Een extern toetsenbord vereist plaatsing, maar laat het scherm vrij en zorgt ervoor dat je op desktopsnelheid kunt typen.



    Als je alleen een backend-applicatie ontwikkelt die niet in de browser hoeft te worden getest, zou ik de combinatie van SSH-client + VIM + tmux op de server aanbevelen.

    Als je iets aan de frontend aan het ontwikkelen bent en je beschikt over voldoende internetkanaal, dan raad ik een combinatie van Parallels Access + editor + volwaardig Google Chrome met een console aan.

    Native editors bevinden zich in een tamelijk rudimentaire staat. Tot de komst van serieuze spelers op deze markt en de stappen van Apple naar een geavanceerder gebruik van een extern toetsenbord, is dit niets meer dan een back-upoptie voor het geval je niet over internet beschikt. Alle editors zijn ontworpen om met één bestand te werken, en niet met het hele project. Ik hoop dat met de komst van de iPad Pro de situatie zal verbeteren en dat we volwaardige editors zullen krijgen. Als je echt wilt fantaseren, zou ik graag willen dat Apple je toestaat een MagicPad aan te sluiten en de cursor op het scherm te laten zien, zodat je niet voortdurend in het scherm hoeft te "porren".

    “Maar vandaag is een speciale gelegenheid – ik wilde er 10 uitlichten beste apps, waar programmeerliefhebbers op moeten letten. Er zijn educatieve toepassingen, één spel voor programmeurs, compilers en code-editors.

    Pythonista 3 is een programma voor het schrijven van applicaties in Python. Leuk weetje: de naam van de taal komt niet van de reptielpython, maar van de naam van de Britse comedyshow Monty Python's Flying Circus. Python is gewoon in het Engels Python.

    Sommige mensen denken dat Python een geweldige eerste programmeertaal is. Misschien is dat waar. De taal heeft een eenvoudige en begrijpelijke syntaxis en tegelijkertijd grote hoeveelheid functies.

    Python is een populaire taal die door veel mensen wordt gebruikt grote bedrijven. Google en Facebook gebruiken het bijvoorbeeld in hun projecten. Met Pythonista 3 kun je een programma schrijven en het onmiddellijk uitvoeren.

    Programmeertaal "smart BASIC"

    Een applicatie waarmee de gebruiker kan programmeren op een geavanceerde versie van de populaire taal voor training - Basis. Met Basic begon mijn kennismaking met programmeren 20 jaar geleden.

    Hoewel veel gevorderde programmeurs Basic helemaal niet begrijpen, denk ik dat het een goede taal is voor beginners. Het is heel eenvoudig en kan tegelijkertijd, in bekwame handen, veel problemen oplossen.

    Onze lezer Alexander, een amateurprogrammeur, maakte eerder zelfs applicaties in Smart Basic, die in de App Store verschenen.

    Apple heeft de taal ontwikkeld Snelle programmering voor programmeurs op iOS en Mac OS. Apple had Swift bedoeld om lichter en lichter te zijn leesbare taal voor leren dan zijn voorganger - Objective C. In 2014 werd de taal geïntroduceerd in Xcode. En anno 2016 jaar Google verklaarde dat Swift de eerste taal voor Android zal zijn. Hoogstwaarschijnlijk zal dit een positieve invloed hebben op de snelheid waarmee applicaties voor Android worden uitgebracht. Er zullen minder exclusives en applicaties zijn die eerst op iOS worden uitgebracht, en na een paar maanden/jaren op Android.

    Met Swift Playgrounds van Apple zelf kan zelfs een beginner zich onderdompelen in de wereld van de taal. Leer nieuwe ontwerpen, bestudeer op een speelse manier hoe code werkt met behulp van live voorbeelden.

    Serie "Programmeertalen leren" van Sololearn

    Ik kwam onlangs een reeks leuke apps van Sololearn tegen die interactieve lessen bieden voor het leren van programmeertalen. De volgende talen zijn beschikbaar in het Russisch: JavaScript, HTML, C++, Python, Java, CSS, SQL, PHP, C#, JQuery, Ruby. Snelle lessen in het Engels.

    Ik heb een paar JavaScript-lessen gevolgd. Alles is zeer toegankelijk en interessant. Er worden minilessen gegeven met voorbeelden die u direct in de emulator kunt uitvoeren. Meestal wordt dit gevolgd door een vraag met meerdere antwoordmogelijkheden of de mogelijkheid om een ​​tekstantwoord in te voeren. Zeer duidelijk en handig voor beginners.

    Er zijn codevoorbeelden en de mogelijkheid om ze uit te voeren:

    Alle applicaties zijn gratis en zonder in-app aankopen.

    Tekstische code-editor 6

    De App Store heeft twee fatsoenlijke teksteditors voor code. Textastic, met een prijs van 749 roebel (in Amerikaanse app Winkel 10 dollar) is budgettair keuze.

    Textastic ondersteunt de syntaxis van ongeveer 80 programmeertalen. Het programma wordt gebruikt voor het mooi weergeven en bewerken van teksten. Dit is geen compiler - let op. De applicatie werkt als volgt: u downloadt de code, bewerkt deze en uploadt deze vervolgens weer.

    Coda

    En hier is een duurdere en geavanceerdere optie teksteditor. Voor 1890 roebel krijg je alles in één.

    • Code-editor met syntaxisaccentuering en gemakkelijke bewerking, zowel online als offline.
    • Ondersteuning voor veel populaire talen.
    • Steun netwerkprotocollen(in het bijzonder FTP) en vooral: de SSH-terminal.
    • Synchronisatie tussen iOS en Mac (versie voor Mac OS kan worden gekocht op de Panic-website).

    Ik kwam onlangs een interessante referentieapplicatie tegen die codevoorbeelden bevat in 6 programmeertalen: Swift, Java, C#, Python, C++, Objective C. De essentie ervan is dat iemand snel een stukje code kan vinden in de taal die hij nodig heeft. Een programmeur moet bijvoorbeeld snel onthouden hoe een foutafhandelaar eruit ziet in C++. Hij kijkt naar het programma en vindt vereist fragment, die in uw programma kan worden toegepast.

    De applicatie-ontwikkelaar heeft voorbeelden verzameld uit deze 6 programmeertalen en werkt deze, afgaande op de updates, ook voortdurend bij.

    Het programma is shareware, maar volledige versie kost slechts 2 dollar.

    Codea

    Codea verscheen in 2012 als de eerste applicatie in de App Store waarmee applicaties voor iOS konden worden geschreven. Het programma wordt tot op de dag van vandaag nog steeds bijgewerkt. Codea maakt gebruik van de programmeertaal Lua, die is uitgevonden in Brazilië en qua ideologie het meest lijkt op JavaScript.

    Codea is ontworpen om het programmeren voor iOS eenvoudiger te maken. Dat wil zeggen, het doel van de ontwikkelaars was om het proces te visualiseren en het hierdoor handiger te maken.

    Als voorbeeld hebben de ontwikkelaars een zeer geschikt geheel geplaatst gratis spel Cargo Bot (geschreven in Codea). Daarin moet je de gekleurde dozen herschikken met behulp van een manipulatorarm om de gewenste opstelling te krijgen. Om dit te doen, moet je algoritmen bedenken met behulp van de beschikbare opdrachten.

    Hinkelspel: maak spellen

    Een andere applicatie voor het maken van games. Binnenin staan ​​handige (weergegeven in een klein venster) trainingsvideo's de Engelse taal zal helpen bij het maken van de eerste games.

    In de applicatie kunt u objecten selecteren en er acties voor maken. Het resultaat is eenvoudig arcadespeelgoed. Ik heb geprobeerd een paar mensen gemaakt. Ik was niet echt onder de indruk, maar we moeten rekening houden met het amateurniveau van gebruikers.