{"id":37569,"date":"2019-10-31T22:18:22","date_gmt":"2019-10-31T19:18:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/yazyk-programmirovaniya-swift-na-raspberry-pi\/"},"modified":"2019-10-31T22:18:22","modified_gmt":"2019-10-31T19:18:22","slug":"yazyk-programmirovaniya-swift-na-raspberry-pi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","title":{"rendered":"Program\u0113\u0161anas valoda Swift uz Raspberry Pi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/74066769b8703e5580c3e7743a6481d9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Raspberry PI 3 Model B+<\/i><\/p>\n<p>\u0160aj\u0101 rokasgr\u0101mat\u0101 m\u0113s apskat\u012bsim Swift pamatus, izmantojot Raspberry Pi. Raspberry Pi ir neliels un l\u0113ts vienas plates dators, kura potenci\u0101lu ierobe\u017eo tikai t\u0101 apr\u0113\u0137inu resursi. Tas ir labi paz\u012bstams tehnolo\u0123iju entuziastu un DIY m\u012b\u013cot\u0101ju vid\u016b. Tas ir lieliska ier\u012bce tiem, kam ir nepiecie\u0161ams eksperiment\u0113t ar idej\u0101m vai praktiski p\u0101rbaud\u012bt noteiktas koncepcijas. Tas tiek izmantots da\u017e\u0101dos projektos un viegli ievietojams gandr\u012bz visur - piem\u0113ram, to var uzst\u0101d\u012bt uz monitora v\u0101ka un izmantot k\u0101 galddatoru vai pievienot mont\u0101\u017eas platei, lai kontrol\u0113tu elektroniskus sh\u0113mas.<\/p>\n<p>Ofici\u0101l\u0101 \"malinijas\" programm\u0113\u0161anas valoda ir Python. Lai gan Python ir pietiekami vienk\u0101r\u0161s, tam tr\u016bkst tipa dro\u0161\u012bbas un tas pat\u0113r\u0113 daudz atmi\u0146as. Swift, savuk\u0101rt, nodro\u0161ina ARC atmi\u0146as p\u0101rvald\u012bbu un ir gandr\u012bz 8 reizes \u0101tr\u0101ks nek\u0101 Python. \u0145emot v\u0113r\u0101, ka Raspberry Pi RAM un procesora apr\u0113\u0137inu iesp\u0113jas ir ierobe\u017eotas, izmantojot t\u0101du valodu k\u0101 Swift, iesp\u0113jamais dzelzs potenci\u0101ls tiek izmantots maksim\u0101li. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h3>Oper\u0113t\u0101jsist\u0113mas uzst\u0101d\u012b\u0161ana<\/h3>\n<p>\nPirms s\u0101kat instal\u0113t Swift, j\u0101izv\u0113las oper\u0113t\u0101jsist\u0113ma. Tam var <noindex><a rel=\"nofollow\" href=\"https:\/\/www.raspberrypi.org\/downloads\/\">izmantot k\u0101du no pied\u0101v\u0101tajiem<\/a><\/noindex>, ko nodro\u0161ina tre\u0161o pu\u0161u izstr\u0101d\u0101t\u0101ji. Visizplat\u012bt\u0101kais izv\u0113les variants ir Raspbian, ofici\u0101l\u0101 oper\u0113t\u0101jsist\u0113ma no Raspberry Pi. Ir vair\u0101kas iesp\u0113jas, k\u0101 instal\u0113t Raspbian uz SD kartes; m\u016bsu gad\u012bjum\u0101 izmantosim balenaEtcher. \u0160eit ir j\u0101dara:<\/p>\n<ul>\n<li>Lejupiel\u0101d\u0113jiet jaun\u0101ko versiju Raspbian OS <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.raspberrypi.org\/raspbian_latest\">no \u0161ejienes<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.admfactory.com\/how-to-format-usb-flash-drive-to-fat32-in-mac-os\/\">Format\u0113jiet SD karti FAT form\u0101t\u0101, izmantojot Disk Utility<\/a><\/noindex>.<\/li>\n<li>Izmantojam <noindex><a rel=\"nofollow\" href=\"https:\/\/www.balena.io\/etcher\/\">balenaEtcher<\/a><\/noindex> lai iegrieztu format\u0113taj\u0101 kart\u0113.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/dd0c0a822edee69d6d5c11f6fc1f0dfb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Otrais solis: format\u0113jiet SD karti MS-DOS (FAT) form\u0101t\u0101<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/6d256c2aeab9e031f6ba636ab89507c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Tre\u0161ais solis: izmantojiet balenaEtcher, lai iegrieztu Raspbian kart\u0113<\/i><\/p>\n<blockquote><p><b>Ieteicam bezmaksas intens\u012bvs kursu ma\u0161\u012bnm\u0101c\u012b\u0161an\u0101s ies\u0101c\u0113jiem:<\/b><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/webinar.skillbox.ru\/data-science-intensive\/?utm_source=habr-com&amp;utm_medium=banners&amp;utm_campaign=all_all_habr-com_banners_banners_intensive-11_all_code_skillbox&amp;utm_content=2019-08-29\">Rakstiet savu pirmo ma\u0161\u012bnm\u0101c\u012b\u0161an\u0101s modeli tr\u012bs dienu laik\u0101<\/a><\/noindex> \u2014 2.-4. septembris. <i>Bezmaksas intens\u012bvs, kas pal\u012bdz saprast, kas ir ma\u0161\u012bnm\u0101c\u012b\u0161an\u0101s, un iem\u0101c\u012bties str\u0101d\u0101t ar atv\u0113rtajiem datiem no interneta. T\u0101pat m\u0101c\u0101mies paredz\u0113t dol\u0101ra kursu, izmantojot pa\u0161izstr\u0101d\u0101tu modeli.<\/i>.\n<\/p><\/blockquote>\n<h3>Raspberry Pi konfigur\u0101cija<\/h3>\n<p>\nPuse ce\u013ca jau ir p\u0101rvar\u0113ta! Tagad mums ir SD karte ar oper\u0113t\u0101jsist\u0113mu, kuru izmantosim, bet oper\u0113t\u0101jsist\u0113mu v\u0113l j\u0101sagatavo. Tam ir divas iesp\u0113jas:<\/p>\n<ul>\n<li>Izmantot pievienotu monitoru, tastat\u016bru un peli.<\/li>\n<li>Veikt visu no cita datora, izmantojot SSH vai USB konsoles kabeli.<\/li>\n<\/ul>\n<p>\nJa tas ir j\u016bsu pirmais pieredze ar Pi, iesaku izv\u0113l\u0113ties opciju Nr. 1. P\u0113c tam, kad SD karte ar Raspbian OS ir ievietota Pi, pievienojiet HDMI kabeli, peli, tastat\u016bru un baro\u0161anas kabeli.<\/p>\n<p>Pi j\u0101iestart\u0113, kad to iesl\u0113dz. Apsveicu! Tagad varat velt\u012bt laiku, lai izp\u0113t\u012btu savu darbvirsmu un t\u0101s iesp\u0113jas.<\/p>\n<p><img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d1691be44fc7aec778e2a17b39edcb3f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Swift uzst\u0101d\u012b\u0161ana<\/h3>\n<p>\nLai uzst\u0101d\u012btu Swift uz \"malin\u0137a\", j\u0101nodro\u0161ina t\u0101s savienojam\u012bba ar internetu (izmantojot Ethernet vai WiFi, atkar\u012bb\u0101 no plates mode\u013ca). Kad internets ir piesl\u0113gts, var s\u0101kt Swift uzst\u0101d\u012b\u0161anu.<\/p>\n<p>To var veikt divos veidos. Pirmais \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/buildSwiftOnARM#building-on-arm\">patst\u0101v\u012bgi izveidot Swift b\u016bv\u0113jumu<\/a><\/noindex>, otrais \u2014 izmantot jau sagatavotas bin\u0101r\u0101s versijas. Es stingri iesaku otro veidu, jo pirmais pras\u012bs vair\u0101kas dienas sagatavo\u0161an\u0101s. Otrais veids rad\u0101s pateicoties grupai <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">Swift-ARM<\/a><\/noindex>. Tai pieder repozitorijs, no kura var uzst\u0101d\u012bt Swift, izmantojot apt (<noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.com\/lts\/serverguide\/apt.html\"><strong>A<\/strong>dvanced <strong>P<\/strong>ackage <strong>T<\/strong>ool<\/a><\/noindex>).<\/p>\n<p>. Tas ir komandrindas r\u012bks, kas l\u012bdz\u012bgs App Store lietotn\u0113m un pakotn\u0113m Linux ier\u012bc\u0113m. Str\u0101d\u0101\u0161anu ar apt s\u0101kam, ievadot termin\u0101l\u012b apt-get. Tad j\u0101nor\u0101da virkni komandu, kas preciz\u0113 izpild\u0101m\u0101s darb\u012bbas. M\u016bsu gad\u012bjum\u0101 nepiecie\u0161ams uzst\u0101d\u012bt Swift 5.0.2. Atbilsto\u0161\u0101s pakotnes var <noindex><a rel=\"nofollow\" href=\"https:\/\/packagecloud.io\/swift-arm\/release\">atrast \u0161eit<\/a><\/noindex>.<\/p>\n<p>K\u0101 tad, s\u0101kam. Tagad, kad m\u0113s zin\u0101m, ka uzst\u0101d\u012bsim Swift izmantojot apt, j\u0101pievieno repozitorijs m\u016bsu repozitoriju sarakstam.<\/p>\n<p>Komanda repozitorija pievieno\u0161anai \/ uzst\u0101d\u012b\u0161anai <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">swift-arm<\/a><\/noindex> izskat\u0101s \u0161\u0101di:<\/p>\n<pre><code class=\"plaintext\">curl -s  | sudo bash<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f5c42400a4679d7910545b2da5ca16b4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nT\u0101l\u0101k uzst\u0101dam Swift no pievienot\u0101 repozitorija:<\/p>\n<pre><code class=\"plaintext\">sudo apt-get install swift5=5.0.2-v0.4<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b575739ad368f5be7479c517e8d598a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nUn tas viss! Tagad Swift ir uzst\u0101d\u012bts m\u016bsu \"malin\u0137\u0101\".<\/p>\n<h3>Testa projekta izveide<\/h3>\n<p>\nPa\u0161laik <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techrepublic.com\/article\/pro-tip-using-apples-swift-repl-from-the-terminal\/\">Swift REPL<\/a><\/noindex> nedarbojas, bet viss p\u0101r\u0113jais \u2014 j\u0101. Test\u0113\u0161anai izveidosim Swift paketi, izmantojot Swift Package Manager.<\/p>\n<p>Vispirms izveidojam direktoriju ar nosaukumu MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">mkdir MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/07c8bf535812d1fa43cb61cfeeeeb544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nT\u0101l\u0101k main\u0101m pa\u0161reiz\u0113jo darba direktoriju uz svaigi izveidoto MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b2ff73dfb2dc5d65268a057609cf4d54.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nIzveidojam jaunu izpild\u0101mo Swift paketi.<\/p>\n<pre><code class=\"plaintext\">swift package init --type=executable<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d93e6a1eff4c958f3b57861815d69258.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n\u0160ie tr\u012bs rindi\u0146as izveido tuk\u0161u Swift paketi ar nosaukumu MyFirstProject. Lai to palaistu, ierakst\u0101m komandu swift run.<\/p>\n<p><img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/25a195442369d0d3218e4a3ef88e34b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nKad kompil\u0113\u0161ana ir pabeigta, redz\u0113sim fr\u0101zi \"Hello, world!\" komandrind\u0101.<\/p>\n<p>P\u0113c tam, kad esam izveidoju\u0161i pirmo programmu uz Pi, main\u012bsim da\u017eas lietas. M\u016bsu MyFirstProject direktorij\u0101 veiksim izmai\u0146as fail\u0101 main.swift. Taj\u0101 ir kods, kas tiek izpild\u012bts, kad m\u0113s palaid\u012bsim pakotni ar komandu swift run.<\/p>\n<p>Main\u0101m direktoriju uz Sources\/MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd Sources\/MyFirstProject <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b80855c0f8510016fb6afbd714741d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nRedi\u0123\u0113jam failu main.swift, izmantojot ieb\u016bv\u0113to <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nano-editor.org\/\">nano redaktoru<\/a><\/noindex>.<\/p>\n<pre><code class=\"plaintext\">nano main.swift<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/7f8e8c5884d50146058004975632a1c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nKad redaktors ir atv\u0113rts, j\u016bs var\u0113siet main\u012bt sava koda saturu. Aizvietosim faila main.swift saturu ar \u0161o:<\/p>\n<p><img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/45d6abbbc9d2752282452a13c687d548.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<pre><code class=\"plaintext\">print(\"Hello, Marc!\")<\/code><\/pre>\n<p>\nProtams, j\u016bs varat ievietot savu v\u0101rdu. Lai saglab\u0101tu izmai\u0146as, ir j\u0101veic \u0161\u0101das darb\u012bbas:<\/p>\n<ul>\n<li>CTRL+X, lai saglab\u0101tu failu.<\/li>\n<li>Apstiprin\u0101m izmai\u0146as, nomainot uz \"Y\".<\/li>\n<li>Apstiprin\u0101m veikt\u0101s izmai\u0146as fail\u0101 main.swift, nospie\u017eot Enter.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/e75a50954edd0391925dc809fa82811a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f1c3ee1d56e79fd8ba5f471ff3a0815d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nVisas izmai\u0146as ir veiktas, tagad ir laiks restart\u0113t programmu.<\/p>\n<pre><code class=\"plaintext\">swift run<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Program\u0113\u0161anas valoda Swift uz Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b4c7ca251bbd311d04925dc0b02c094.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nApsveicu! Kad kods ir kompil\u0113ts, termin\u0101lis r\u0101d\u012bs main\u012bto rindu.<\/p>\n<p>Tagad, kad Swift ir instal\u0113ts, jums ir ko dar\u012bt. T\u0101tad, lai p\u0101rvald\u012btu aparat\u016bru, piem\u0113ram, LED, servomotorus, relejus, j\u016bs varat izmantot \"dzelzs\" projektu bibliot\u0113ku Linux\/ARM platform\u0101m, kas sauc\u0101s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/SwiftyGPIO\">SwiftyGPIO<\/a><\/noindex>.<\/p>\n<p>Veiksmi eksperiment\u0113jot ar Swift uz Raspberry Pi!<br \/>\n<br \/>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/skillbox\/blog\/465493\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Raspberry PI 3 Model B+ \u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u043d\u0443\u0430\u043b\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Swift \u043d\u0430 Raspberry Pi. Raspberry Pi \u2014 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0438 \u043d\u0435\u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440, \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u043b\u0438\u0448\u044c \u0435\u0433\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. \u041e\u043d \u0445\u043e\u0440\u043e\u0448\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d \u0442\u0435\u0445\u043d\u043e\u0433\u0438\u043a\u0430\u043c \u0438 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044f\u043c DIY. \u042d\u0442\u043e \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0438\u0434\u0435\u0435\u0439 \u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044e. \u041e\u043d [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28197,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-37569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"Raspberry PI 3 Model B+ \u0412 \u044d\u0442\u043e\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u042f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift \u043d\u0430 Raspberry Pi | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Raspberry PI 3 Model B+ \u0412 \u044d\u0442\u043e\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:18:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:18:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Programm\u0113\u0161anas valoda Swift uz Raspberry Pi | ProHoster","description":"Raspberry PI 3 Model B+ Tas.","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u042f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Swift \u043d\u0430 Raspberry Pi | ProHoster","og:description":"Raspberry PI 3 Model B+ \u0412 \u044d\u0442\u043e\u043c.","og:url":"https:\/\/prohoster.info\/lv\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:18:22+00:00","article:modified_time":"2019-10-31T19:18:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37569","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 18:25:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:24:24","updated":"2026-01-23 18:25:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/37569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=37569"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/37569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/28197"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=37569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=37569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=37569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}