{"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\/pl\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","title":{"rendered":"J\u0119zyk programowania Swift na Raspberry Pi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na 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>W tym podr\u0119czniku om\u00f3wimy podstawy korzystania ze Swift na Raspberry Pi. Raspberry Pi to ma\u0142y i niedrogi komputer jednop\u0142ytkowy, kt\u00f3rego potencja\u0142 ogranicza jedynie jego wydajno\u015b\u0107 obliczeniowa. Jest dobrze znany technikom i mi\u0142o\u015bnikom DIY. To \u015bwietne urz\u0105dzenie dla tych, kt\u00f3rzy chc\u0105 eksperymentowa\u0107 z pomys\u0142ami lub sprawdzi\u0107 dane koncepcje w praktyce. Mo\u017ce by\u0107 u\u017cywane w r\u00f3\u017cnych projektach, \u0142atwo zmie\u015bci si\u0119 praktycznie wsz\u0119dzie \u2013 na przyk\u0142ad, mo\u017cna zamontowa\u0107 go na pokrywie monitora i u\u017cywa\u0107 jako desktop, lub pod\u0142\u0105czy\u0107 do p\u0142ytki stykowej w celu zarz\u0105dzania uk\u0142adem elektronicznym.<\/p>\n<p>Oficjalnym j\u0119zykiem programowania \u201emaliny\u201d jest Python. Mimo \u017ce Python jest do\u015b\u0107 prosty w u\u017cyciu, brakuje mu typ\u00f3w bezpiecze\u0144stwa oraz ma du\u017ce zapotrzebowanie na pami\u0119\u0107. Swift, przeciwnie, ma zarz\u0105dzanie pami\u0119ci\u0105 ARC i jest prawie 8 razy szybszy od Pythona. Poniewa\u017c RAM i moc obliczeniowa procesora Raspberry Pi s\u0105 ograniczone, u\u017cycie j\u0119zyka takiego jak Swift pozwala maksymalnie wykorzysta\u0107 potencja\u0142 tego mini-PC. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h3>Instalacja systemu operacyjnego<\/h3>\n<p>\nZanim zainstalujesz Swift, musisz wybra\u0107 system operacyjny. Mo\u017cna <noindex><a rel=\"nofollow\" href=\"https:\/\/www.raspberrypi.org\/downloads\/\">skorzysta\u0107 z jednej z opcji<\/a><\/noindex>, proponowanych przez deweloper\u00f3w zewn\u0119trznych. Najbardziej popularnym wyborem jest Raspbian, oficjalny system operacyjny od Raspberry Pi. Istnieje kilka mo\u017cliwo\u015bci zainstalowania Raspbian na karcie SD; w naszym przypadku skorzystamy z balenaEtcher. Oto co nale\u017cy zrobi\u0107:<\/p>\n<ul>\n<li>Pobierz najnowsz\u0105 wersj\u0119 Raspbian OS <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.raspberrypi.org\/raspbian_latest\">st\u0105d<\/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\/\">Sformatuj kart\u0119 SD w FAT za pomoc\u0105 Disk Utility<\/a><\/noindex>.<\/li>\n<li>U\u017cywamy <noindex><a rel=\"nofollow\" href=\"https:\/\/www.balena.io\/etcher\/\">balenaEtcher<\/a><\/noindex> do zgrania na sformatowan\u0105 kart\u0119.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/dd0c0a822edee69d6d5c11f6fc1f0dfb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Krok drugi: sformatuj kart\u0119 SD w MS-DOS (FAT)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/6d256c2aeab9e031f6ba636ab89507c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Krok trzeci: u\u017cyj balenaEtcher do zgrania Raspbian na kart\u0119<\/i><\/p>\n<blockquote><p><b>Polecamy darmowy intensywny kurs o uczeniu maszynowym dla pocz\u0105tkuj\u0105cych:<\/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\">Napisz sw\u00f3j pierwszy model uczenia maszynowego w trzy dni<\/a><\/noindex> \u2014 2-4 wrze\u015bnia. <i>Darmowy intensywny kurs, kt\u00f3ry pozwoli zrozumie\u0107, czym jest uczenie maszynowe i nauczy\u0107 si\u0119 pracy z danymi dost\u0119pnymi w Internecie. Uczymy si\u0119 r\u00f3wnie\u017c przewidywa\u0107 kurs dolara za pomoc\u0105 samodzielnie opracowanego modelu.<\/i>.\n<\/p><\/blockquote>\n<h3>Konfiguracja Raspberry Pi<\/h3>\n<p>\nP\u00f3\u0142 drogi ju\u017c za nami! Mamy kart\u0119 SD z systemem operacyjnym, kt\u00f3rego b\u0119dziemy u\u017cywa\u0107, ale system operacyjny jeszcze nale\u017cy zainstalowa\u0107. Istniej\u0105 dwie mo\u017cliwo\u015bci:<\/p>\n<ul>\n<li>U\u017cyj pod\u0142\u0105czonego monitora, klawiatury i myszy.<\/li>\n<li>Zr\u00f3b to z innego PC za pomoc\u0105 SSH lub kabla USB Console.<\/li>\n<\/ul>\n<p>\nJe\u015bli to Twoje pierwsze do\u015bwiadczenie z Pi, polecam opcj\u0119 nr 1. Po w\u0142o\u017ceniu karty SD z systemem Raspbian OS do Pi, pod\u0142\u0105cz kabel HDMI, mysz, klawiatur\u0119 i kabel zasilaj\u0105cy.<\/p>\n<p>Pi powinno si\u0119 uruchomi\u0107 po w\u0142\u0105czeniu. Gratulacje! Teraz mo\u017cesz po\u015bwi\u0119ci\u0107 troch\u0119 czasu na zapoznanie si\u0119 z pulpitem i jego mo\u017cliwo\u015bciami.<\/p>\n<p><img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d1691be44fc7aec778e2a17b39edcb3f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Instalacja Swift<\/h3>\n<p>\nAby zainstalowa\u0107 Swift na 'malince', nale\u017cy pod\u0142\u0105czy\u0107 j\u0105 do internetu (za pomoc\u0105 Ethernet lub WiFi, w zale\u017cno\u015bci od modelu p\u0142ytki). Gdy internet jest pod\u0142\u0105czony, mo\u017cna rozpocz\u0105\u0107 instalacj\u0119 Swift.<\/p>\n<p>Mo\u017cna to zrobi\u0107 na dwa sposoby. Pierwszy \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/buildSwiftOnARM#building-on-arm\">samodzielne stworzenie buildu Swift<\/a><\/noindex>, drugi \u2014 u\u017cycie ju\u017c skompilowanych binarek. Gor\u0105co polecam drugi spos\u00f3b, poniewa\u017c pierwszy wymaga kilku dni przygotowa\u0144. Drugi spos\u00f3b powsta\u0142 dzi\u0119ki grupie <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">Swift-ARM<\/a><\/noindex>. Posiadaj\u0105 repo, z kt\u00f3rego mo\u017cna zainstalowa\u0107 Swift, u\u017cywaj\u0105c 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>To narz\u0119dzie linii polece\u0144, co\u015b w rodzaju App Store dla aplikacji i pakiet\u00f3w dla urz\u0105dze\u0144 z Linuxem. Prac\u0119 z apt zaczynamy, wpisuj\u0105c w terminalu apt-get. Nast\u0119pnie musimy poda\u0107 szereg komend, kt\u00f3re sprecyzuj\u0105 wykonywane zadanie. W naszym przypadku musimy zainstalowa\u0107 Swift 5.0.2. Odpowiednie pakiety mo\u017cna <noindex><a rel=\"nofollow\" href=\"https:\/\/packagecloud.io\/swift-arm\/release\">znale\u017a\u0107 tutaj<\/a><\/noindex>.<\/p>\n<p>C\u00f3\u017c, zaczynajmy. Teraz, gdy wiemy, \u017ce b\u0119dziemy instalowa\u0107 Swift za pomoc\u0105 apt, musimy doda\u0107 repo do listy repozytori\u00f3w.<\/p>\n<p>Komenda dodawania\/instalacji repo <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">swift-arm<\/a><\/noindex> wygl\u0105da tak:<\/p>\n<pre><code class=\"plaintext\">curl -s  | sudo bash<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f5c42400a4679d7910545b2da5ca16b4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nNast\u0119pnie instalujemy Swift z dodanego repo:<\/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=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b575739ad368f5be7479c517e8d598a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nI to wszystko! Teraz Swift jest zainstalowany na naszej 'malince'.<\/p>\n<h3>Tworzenie testowego projektu<\/h3>\n<p>\nNa t\u0119 chwil\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techrepublic.com\/article\/pro-tip-using-apples-swift-repl-from-the-terminal\/\">Swift REPL<\/a><\/noindex> nie dzia\u0142a, ale wszystko inne \u2014 tak. Dla testu stw\u00f3rzmy pakiet Swift za pomoc\u0105 Swift Package Manager.<\/p>\n<p>Najpierw tworzymy katalog o nazwie MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">mkdir MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/07c8bf535812d1fa43cb61cfeeeeb544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nNast\u0119pnie zmieniamy bie\u017c\u0105cy katalog roboczy na \u015bwie\u017co utworzony MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b2ff73dfb2dc5d65268a057609cf4d54.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTworzymy nowy pakiet wykonywalny Swift.<\/p>\n<pre><code class=\"plaintext\">swift package init --type=executable<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d93e6a1eff4c958f3b57861815d69258.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTe trzy linie tworz\u0105 pusty pakiet Swift, kt\u00f3ry nazywa si\u0119 MyFirstProject. Aby go uruchomi\u0107, wpisujemy komend\u0119 swift run.<\/p>\n<p><img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/25a195442369d0d3218e4a3ef88e34b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nGdy kompilacja zako\u0144czy si\u0119, w wierszu polece\u0144 zobaczymy fraz\u0119 \u201eHello, world!\u201d.<\/p>\n<p>Po stworzeniu pierwszego programu na Pi, wprowad\u017amy kilka zmian. W katalogu MyFirstProject zmodyfikujemy plik main.swift. Zawiera on kod, kt\u00f3ry wykonuje si\u0119, gdy uruchamiamy pakiet poleceniem swift run.<\/p>\n<p>Zmieniamy katalog na Sources\/MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd Sources\/MyFirstProject <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b80855c0f8510016fb6afbd714741d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nEdycja pliku main.swift przy u\u017cyciu wbudowanego <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nano-editor.org\/\">edytora nano<\/a><\/noindex>.<\/p>\n<pre><code class=\"plaintext\">nano main.swift<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/7f8e8c5884d50146058004975632a1c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nGdy edytor jest otwarty, mo\u017cesz zmienia\u0107 kod swojego programu. Zast\u0105pmy zawarto\u015b\u0107 pliku main.swift nast\u0119puj\u0105cym kodem:<\/p>\n<p><img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na 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>\nOczywi\u015bcie, mo\u017cesz wpisa\u0107 swoje imi\u0119. Aby zapisa\u0107 zmiany, wykonaj nast\u0119puj\u0105ce kroki:<\/p>\n<ul>\n<li>CTRL+X, aby zapisa\u0107 plik.<\/li>\n<li>Potwierdzamy zmiany, naciskaj\u0105c \u201eY\u201d.<\/li>\n<li>Potwierdzamy wprowadzenie zmian w pliku main.swift, naciskaj\u0105c Enter.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/e75a50954edd0391925dc809fa82811a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f1c3ee1d56e79fd8ba5f471ff3a0815d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nWszystkie zmiany wprowadzone, teraz czas ponownie uruchomi\u0107 program.<\/p>\n<pre><code class=\"plaintext\">swift run<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"J\u0119zyk programowania Swift na Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b4c7ca251bbd311d04925dc0b02c094.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nGratulacje! Gdy kod zostanie skompilowany, terminal powinien wy\u015bwietli\u0107 zmienion\u0105 lini\u0119.<\/p>\n<p>Teraz, gdy Swift jest zainstalowany, masz nad czym pracowa\u0107. Na przyk\u0142ad, do zarz\u0105dzania sprz\u0119tem, takim jak diody LED, serwomotory, przeka\u017aniki, mo\u017cesz skorzysta\u0107 z biblioteki \u201e\u017celaznych\u201d projekt\u00f3w dla p\u0142yt Linux\/ARM, kt\u00f3ra nazywa si\u0119 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/SwiftyGPIO\">SwiftyGPIO<\/a><\/noindex>.<\/p>\n<p>Powodzenia w eksperymentach z Swift na Raspberry Pi!<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47J\u0119zyk programowania Swift na Raspberry Pi | ProHoster","description":"Raspberry PI 3 Model B+ w tym.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/37569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=37569"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/37569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/28197"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=37569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=37569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=37569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}