Talen: English · Nederlands · Deutsch · Español · Français · Italiano · Português · Papiamentu · Frysk

Yndeks / Berjochten / Programmearje op de Apple Watch

Programmearje op de Apple Watch

Serieus oer gekke eksperiminten

Publisearre
Bywurke
(oanmakke )
Skreaun troch
Willem L. Middelkoop
Ûnderwerpen
SSH · ThinkPad · apple · meitsje · kreativiteit · eksperimint · hacking · iOS · iPhone · laptop · linux · minimalistysk · programmearjen · retro · smartphone · vim · horloazje · wurk
Minsklike ferzje fan dit berjocht
https://willem.com/fy/2017-02-16_programmearje-op-de-apple-watch/
English
Programming on Apple Watch
Nederlands
Programmeren op de Apple Watch
Deutsch
Programmieren auf der Apple Watch
Español
Programando en el Apple Watch
Français
Programmer sur l'Apple Watch
Italiano
Programmare su Apple Watch
Português
Programar no Apple Watch
Papiamentu
Programá riba Apple Watch
Talen
Oerset út it Ingelske oarspronklike troch in taalmodel yn twa rûnten (oersetting en korreksje) mei in wurdlist en in staveringskontrôle; noch net lêzen troch in memmetaalsprekker.

Gearfetting

De lêste jierren bin ik gjin frjemdling foar gekke eksperiminten, mar dizze kear woe ik it echt ta it uterste dwaan: programmearje op in Apple Watch. Soe it mooglik wêze om echt koade te skriuwen op sa'n lyts apparaat? Wêrom soe men it sels besykje? Dit berjocht giet oer de saak foar gekke eksperiminten, en wêrom't do it ek besykje moatst!

Folsleine tekst

Ik wikselde in wike lyn wat e-mails út mei myn maat Niels, en fertelde him oer dit idee om in iPhone te brûken om wurk dien te krijen. Hy stelde foar (yn it Nederlânsk) dat ik dat idee nei in heger nivo bringe soe... Apple Watch.

Berjocht fan myn maat Niels, dy't foarstelt dat ik myn "wurkje op in smartphone"-idee nei in heger nivo bringe, kompleet mei in Photoshop-mockup.
Berjocht fan myn maat Niels, dy't foarstelt dat ik myn "wurkje op in smartphone"-idee nei in heger nivo bringe, kompleet mei in Photoshop-mockup.

Wylst hy syn briljante Photoshop-feardigens brûkte, brûkte ik Xcode, myn Linux-kennis, SSH, VIM, it lokale netwurk, in bluetooth-toetseboerd, in echte Apple Watch, wat tiid en geduld.... mei dit proof of concept as resultaat:

En dat die ik! Programmearje op de Apple Watch mei VIM, SSH, in Bluetooth-toetseboerd en kofje.
En dat die ik! Programmearje op de Apple Watch mei VIM, SSH, in Bluetooth-toetseboerd en kofje.
Echte programmearkoade, echte Apple Watch. Gjin Photoshop.
Echte programmearkoade, echte Apple Watch. Gjin Photoshop.

Hoe it wurket (foar dummies)

Ik haw in lytse Watch-app makke dy't ferbynt mei in eksterne kompjûter dêr't de ûntwikkelsoftware op draait. It toetseboerd is oan dizze eksterne kompjûter keppele, sadat ik echt koade skriuwe kin. It prinsipe is ienfâldich en kin fergelike wurde mei de Kamera-app dy't standert op it horloazje stiet: do brûkst it horloazje as skerm om te sjen wat de kamera yn de iPhone sjocht. Dizze Watch-app is as sa'n "skerm" foar programmearkoade.

Hoe it wurket (foar de techneuten ûnder ús)

Yn it lokale netwurk draaie ik in lytse NodeJS-server op in Linux-masine dy't skermôfbyldings makket fan in shellsesje dêr't myn favorite programmearkoade-editor, VIM, yn draait. It toetseboerd is mei Bluetooth oan dizze laptop keppele. Op de Watch haw ik in ienfâldige app makke dy't elke pear sekonden in nije skermôfbylding ophellet en dy folslein skerm toant. It is in proof of concept, neat dat de AppStore wurdich is (der is nochal wat fertraging tusken fernijingen - mar it wurket). As do fan plan bist it sels te bouwen, sykje dan nei WKInterfaceImage, UIImage, NSURLSession en dataTaskWithURL

De boarne fan de magy: myn ThinkPad X1 ferbûn mei it lokale netwurk.
De boarne fan de magy: myn ThinkPad X1 ferbûn mei it lokale netwurk.

Wêrom

Ik eksperimintearje geregeld, om't ik dêrtroch leare kin oer hoe't ik dingen doch. De eksperiminten twinge my om dingen opnij te besjen dy't ik fansels of normaal fyn. Yn in protte opsichten is "de jacht better as de fangst".

Ik eksperimintearje aktyf mei nije hard- en software, gewoan om by te bliuwen en nije dingen te learen. Yn 2008, in pear moannen nei de lansearring fan de AppStore, wie ik ien fan de alderearste minsken dy't mei iOS-ûntwikkeling begûn. Ek al wie it potinsjeel ûndúdlik, ik learde en eksperimintearre mei de technyk. Myn betide ûnderfining holp my yn 2011 de Snake '97-app te programmearjen, in oar gek idee dat in spultsje mei 20 miljoen downloads bliek te wurden... :-))

Snake '97: it oarspronklike idee en de stjerren fan it spultsje, de Nokia 5110 en 3310, mooglik troch earder eksperimintearjen mei technyk
Snake '97: it oarspronklike idee en de stjerren fan it spultsje, de Nokia 5110 en 3310, mooglik troch earder eksperimintearjen mei technyk

Wat ik leard haw

Dus yn plak fan "Wêrom?" te freegjen, kinst do better freegje "Wat haw ik leard?". No, nochal wat dingen eins:

  • Ferpleats dyn programmearomjouwing nei de terminal: Gean tekstbasearre, smyt de IDE (lykas Visual Studio) fuort en leer VIM (of emacs) goed brûke mei toetseboerdfluchtoetsen. Dit ark draait praktysk op elk apparaat en hat gjin eigen bestjoeringssysteem nedich.
  • Doch de mûs fuort: hâld dyn fingers wêr't do koade skriuwst, op it toetseboerd. Brûk it toetseboerd (fluchtoetsen) yn plak fan nei in mûs te gripen. It kin wat tiid duorje om se te learen kennen, mar úteinlik bist do folle flugger. Njonken snelheid krijst do ek de mooglikheid om elk skerm te brûken, want mear apparaten stypje toetseboerden mar gjin mûs (tink oan spultsjekonsoles, smart-tv's, AppleTV, âlde apparaten)
  • Brûk de piksels wiis: As do dyn skerm lyts hâldst, wurdst do twongen better nei te tinken oer hoe't do de piksels brûkst. Hast do al dy arkbalken echt de hiele tiid nedich? Hoe minder ynterfaceûnderdielen permanint sichtber binne, hoe mear romte do hast foar de eigentlike ynhâld. Minder ôflieding, mear fokus.
  • Skriuw better koade: Om dingen lêsber te hâlden op in lyts skerm, leare do echt omtinken te jaan oan dingen as koadestruktuer, funksjelogika en nammejouwing. Lytse skermen stimulearje koartere rigels koade en kompaktere funksjes. It twingt dy om dingen ienfâldiger en koarter te meitsjen en dy minder te werheljen. Dizze foardielen jilde ek foar gruttere skermen.
  • Do hast eins gjin PC mear nedich: As it mooglik is op in Watch, tink dan oan de oare apparaten dy't do by dy hast, lykas dyn smartphone en tablet. As do dyn mobile apparaat/apparaten better brûke kinst, wurdst do minder ôfhinklik fan tradisjonele PC's.
  • Apple Watch hat potinsjeel: Earder slagge it Facebook-ûntwikkelders al om it bekende 3D-spultsje Doom op de Apple Watch te krijen. Ik haw ek leard dat it apparaat serieus potinsjeel hat. Ik begjin te tinken dat de Apple Watch folle mear in "altyd-oanwêzige, mobile kompjûter" is as wat om te fergelykjen mei in tradisjoneel meganysk horloazje.
Mobyl wurkje: dit blogberjocht is makke mei in iPhone, in toetseboerd en wat kofje! Gjin PC!
Mobyl wurkje: dit blogberjocht is makke mei in iPhone, in toetseboerd en wat kofje! Gjin PC!

Konklúzje

Dit hiele eksperimint hat my echt foarút brocht op it mêd fan mobyl wurkjen. Ik learde myn ark en de wize wêrop't ik wurkje te optimalisearjen. Yn feite is dit hiele blogberjocht makke op in iPhone, ynklusyf de foto's (nimme, byknippe), en it fielde hielendal net frjemd. Ik fyn it prachtich, want it makket alles makliker, en dat makke dit eksperimint de muoite wurdich

Bonus: Nokia Communicator en Jolla

Wylst ik dit berjocht skreau, frege ik my ôf oft myn âlde Nokia Communicators noch wurken. Nei wat knoeien mei de âlde batterijen krige ik de E90 en 9300i oan de praat. Mei Putty en 802.11b-WiFi koe ik ferbine mei it nij makke ûntwikkelsysteem dat ik foar dit eksperimint mei de Apple Watch brûkt hie. Ried ris wat? It wurke prima, wa hat der in nije tillefoan foar nedich? :-)

Multiplatfoarm-ûntwikkeling goed dien: Nokia Communicator E90 mei Symbian series 60 út 2007, Nokia 9300i mei Symbian series 80 út 2004, Jolla-tillefoan mei SailfishOS mei it funky oare heale toetseboerd (tohkbd), en de iPhone 7.
Multiplatfoarm-ûntwikkeling goed dien: Nokia Communicator E90 mei Symbian series 60 út 2007, Nokia 9300i mei Symbian series 80 út 2004, Jolla-tillefoan mei SailfishOS mei it funky oare heale toetseboerd (tohkbd), en de iPhone 7.
Nokia E90 Communicator mei Putty op Symbian Series 60.
Nokia E90 Communicator mei Putty op Symbian Series 60.
Nokia 9300i, offisjeel gjin communicator mar dochs in apparaat mei avansearre mobile kommunikaasjeopsjes foar syn tiid (2007). Mei Putty op Symbian Series 80.
Nokia 9300i, offisjeel gjin communicator mar dochs in apparaat mei avansearre mobile kommunikaasjeopsjes foar syn tiid (2007). Mei Putty op Symbian Series 80.
Multi-user, multi-skerm. Twa Nokia Communicators (E90/9300i) tagelyk ferbûn mei myn wurkomjouwing mei Putty.
Multi-user, multi-skerm. Twa Nokia Communicators (E90/9300i) tagelyk ferbûn mei myn wurkomjouwing mei Putty.

Formaten foar masines fan dizze side