{"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\/ro\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","title":{"rendered":"Limbajul de programare Swift pe Raspberry Pi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Limbajul de programare Swift pe 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>\u00cen acest manual vom analiza elementele de baz\u0103 ale utiliz\u0103rii Swift pe Raspberry Pi. Raspberry Pi este un computer mic \u0219i ieftin pe un singur plat, al c\u0103rui poten\u021bial este limitat doar de resursele sale de calcul. Este bine cunoscut \u00een r\u00e2ndul pasiona\u021bilor de tehnologie \u0219i al celor pasiona\u021bi de DIY. Este un dispozitiv excelent pentru cei care doresc s\u0103 experimenteze o idee sau s\u0103 testeze o anumit\u0103 concep\u021bie \u00een practic\u0103. Se folose\u0219te pentru o varietate de proiecte, put\u00e2nd fi plasat aproape oriunde \u2014 de exemplu, poate fi montat pe capacul unui monitor \u0219i folosit ca desktop, sau conectat la o plac\u0103 de teste pentru a controla un circuit electronic.<\/p>\n<p>Limbajul de programare oficial al \u00abm\u0103rului\u00bb este Python. De\u0219i Python este relativ u\u0219or de utilizat, \u00eei lipse\u0219te siguran\u021ba tipurilor \u0219i consum\u0103 mult\u0103 memorie. Swift, pe de alt\u0103 parte, are gestionarea memoriei ARC \u0219i este aproape de 8 ori mai rapid dec\u00e2t Python. \u00centruc\u00e2t cantitatea de RAM \u0219i capacit\u0103\u021bile de calcul ale procesorului Raspberry Pi sunt limitate, utilizarea unui limbaj precum Swift permite maximizarea poten\u021bialului hardware-ului acestui mini-PC. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h3>Instalarea sistemului de operare<\/h3>\n<p>\n\u00cenainte de a instala Swift, trebuie s\u0103 alegem sistemul de operare. Pentru aceasta putem <noindex><a rel=\"nofollow\" href=\"https:\/\/www.raspberrypi.org\/downloads\/\">folosi una dintre op\u021biunile<\/a><\/noindex>oferite de dezvoltatorii ter\u021bi. Cea mai comun\u0103 alegere este Raspbian, sistemul de operare oficial de la Raspberry Pi. Exist\u0103 mai multe modalit\u0103\u021bi de a instala Raspbian pe cardul SD; \u00een cazul nostru, vom folosi balenaEtcher. Iat\u0103 ce trebuie s\u0103 facem:<\/p>\n<ul>\n<li>Desc\u0103rc\u0103m ultima versiune a Raspbian OS <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.raspberrypi.org\/raspbian_latest\">de aici<\/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\/\">Formata\u021bi cardul SD \u00een FAT folosind Disk Utility<\/a><\/noindex>.<\/li>\n<li>Vom folosi <noindex><a rel=\"nofollow\" href=\"https:\/\/www.balena.io\/etcher\/\">balenaEtcher<\/a><\/noindex> pentru a \u00eel scrie pe cardul formatat.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/dd0c0a822edee69d6d5c11f6fc1f0dfb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Pasul doi: formata\u021bi cardul SD \u00een MS-DOS (FAT)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/6d256c2aeab9e031f6ba636ab89507c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Pasul trei: folosi\u021bi balenaEtcher pentru a scrie Raspbian pe card<\/i><\/p>\n<blockquote><p><b>V\u0103 recomand\u0103m un curs gratuit intensiv de \u00eenv\u0103\u021bare automat\u0103 pentru \u00eencep\u0103tori:<\/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\">Scrie\u021bi primul model de \u00eenv\u0103\u021bare automat\u0103 \u00een trei zile<\/a><\/noindex> \u2014 2-4 septembrie. <i>Curs gratuit intensiv care permite \u00een\u021belegerea a ceea ce este \u00cenv\u0103\u021barea Automat\u0103 \u0219i \u00eenv\u0103\u021barea utiliz\u0103rii datelor deschise de pe internet. De asemenea, \u00eenv\u0103\u021b\u0103m cum s\u0103 prezicem cursul dolarului cu ajutorul unui model dezvoltat de noi.<\/i>.\n<\/p><\/blockquote>\n<h3>Configurarea Raspberry Pi<\/h3>\n<p>\nAm parcurs deja jum\u0103tate din drum! Acum avem un card SD cu sistemul de operare pe care \u00eel vom folosi, dar trebuie s\u0103 instal\u0103m \u00eenc\u0103 sistemul de operare. Exist\u0103 dou\u0103 op\u021biuni pentru aceasta:<\/p>\n<ul>\n<li>Folosirea unui monitor, a unei tastaturi \u0219i a unui mouse conectate la dispozitiv.<\/li>\n<li>Realiza\u021bi totul de pe un alt PC prin SSH sau folosind un cablu USB Console.<\/li>\n<\/ul>\n<p>\nDac\u0103 acesta este prima ta experien\u021b\u0103 cu Pi, \u00ee\u021bi recomand op\u021biunea nr. 1. Dup\u0103 ce cardul SD cu Raspbian OS este introdus \u00een Pi, conecteaz\u0103 cablul HDMI, mouse-ul, tastatura \u0219i cablul de alimentare.<\/p>\n<p>Pi ar trebui s\u0103 porneasc\u0103 la activare. Felicit\u0103ri! Acum po\u021bi s\u0103 \u00ee\u021bi petreci pu\u021bin timp explor\u00e2nd desktopul \u0219i func\u021bionalit\u0103\u021bile acestuia.<\/p>\n<p><img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d1691be44fc7aec778e2a17b39edcb3f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Instalarea Swift<\/h3>\n<p>\nPentru a instala Swift pe \u201emalin\u201d, trebuie s\u0103 o conectezi la internet (prin Ethernet sau WiFi, \u00een func\u021bie de modelul pl\u0103cii). Odat\u0103 ce internetul este conectat, po\u021bi \u00eencepe instalarea Swift.<\/p>\n<p>Aceasta poate fi realizat\u0103 \u00een dou\u0103 moduri. Primul \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/buildSwiftOnARM#building-on-arm\">crearea manual\u0103 a build-ului Swift<\/a><\/noindex>, al doilea \u2014 utilizarea binarelor deja compilate. \u00ce\u021bi recomand insistent a doua op\u021biune, deoarece prima va necesita c\u00e2teva zile de preg\u0103tire. A doua op\u021biune a ap\u0103rut datorit\u0103 grupului <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">Swift-ARM<\/a><\/noindex>. Ei de\u021bin repo-ul de unde po\u021bi instala Swift, folosind 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>Aceasta este un instrument de linie de comand\u0103, ceva similar cu App Store pentru aplica\u021bii \u0219i pachete pentru dispozitive cu Linux. \u00cencepem lucrul cu apt introduc\u00e2nd \u00een terminal apt-get. Apoi, trebuie s\u0103 specifici o serie de comenzi care s\u0103 precizeze sarcina efectuat\u0103. \u00cen cazul nostru, trebuie s\u0103 instal\u0103m Swift 5.0.2. Pachetele corespunz\u0103toare pot fi <noindex><a rel=\"nofollow\" href=\"https:\/\/packagecloud.io\/swift-arm\/release\">g\u0103site aici<\/a><\/noindex>.<\/p>\n<p>Ei bine, s\u0103 \u00eencepem. Acum, c\u00e2nd \u0219tim c\u0103 vom instala Swift folosind apt, trebuie s\u0103 ad\u0103ug\u0103m repo-ul \u00een lista de repozitoare.<\/p>\n<p>Comanda de ad\u0103ugare\/instalare a repo-ului <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">swift-arm<\/a><\/noindex> arat\u0103 astfel:<\/p>\n<pre><code class=\"plaintext\">curl -s  | sudo bash<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f5c42400a4679d7910545b2da5ca16b4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nApoi instal\u0103m Swift din repo-ul ad\u0103ugat:<\/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=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b575739ad368f5be7479c517e8d598a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n\u0218i gata! Acum Swift este instalat pe \u201emalina\u201d noastr\u0103.<\/p>\n<h3>Crearea unui proiect de test<\/h3>\n<p>\n\u00cen prezent <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techrepublic.com\/article\/pro-tip-using-apples-swift-repl-from-the-terminal\/\">Swift REPL<\/a><\/noindex> nu func\u021bioneaz\u0103, dar tot restul \u2014 da. Pentru test, s\u0103 cre\u0103m un pachet Swift folosind Swift Package Manager.<\/p>\n<p>Mai \u00eent\u00e2i, cre\u0103m un director numit MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">mkdir MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/07c8bf535812d1fa43cb61cfeeeeb544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nApoi schimb\u0103m directorul de lucru curent \u00een proasp\u0103t creatul MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b2ff73dfb2dc5d65268a057609cf4d54.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nCre\u0103m un nou pachet executabil Swift.<\/p>\n<pre><code class=\"plaintext\">swift package init --type=executable<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d93e6a1eff4c958f3b57861815d69258.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nAceste trei linii creeaz\u0103 un pachet Swift gol, numit MyFirstProject. Pentru a-l rula, introducem comanda swift run.<\/p>\n<p><img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/25a195442369d0d3218e4a3ef88e34b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nOdat\u0103 ce compilarea este finalizat\u0103, vom vedea fraza \u201eHello, world!\u201d \u00een linia de comand\u0103.<\/p>\n<p>Dup\u0103 ce am creat primul program pe Pi, s\u0103 facem c\u00e2teva modific\u0103ri. \u00cen directorul MyFirstProject, vom modifica fi\u0219ierul main.swift. Acesta con\u021bine codul care se execut\u0103 atunci c\u00e2nd lans\u0103m pachetul cu comanda swift run.<\/p>\n<p>Schimb\u0103m directorul \u00een Sources\/MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd Sources\/MyFirstProject <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b80855c0f8510016fb6afbd714741d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nEdit\u0103m fi\u0219ierul main.swift folosind <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nano-editor.org\/\">editorul nano<\/a><\/noindex>.<\/p>\n<pre><code class=\"plaintext\">nano main.swift<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/7f8e8c5884d50146058004975632a1c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nOdat\u0103 ce editorul este deschis, po\u021bi modifica codul programului t\u0103u. S\u0103 \u00eenlocuim con\u021binutul fi\u0219ierului main.swift cu acesta:<\/p>\n<p><img decoding=\"async\" alt=\"Limbajul de programare Swift pe 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>\nDesigur, po\u021bi introduce numele t\u0103u. Pentru a salva modific\u0103rile, trebuie s\u0103 urmezi pa\u0219ii urm\u0103tori:<\/p>\n<ul>\n<li>CTRL+X pentru a salva fi\u0219ierul.<\/li>\n<li>Confirm\u0103m modific\u0103rile ap\u0103s\u00e2nd \u201eY\u201d.<\/li>\n<li>Confirm\u0103m modificarea fi\u0219ierului main.swift ap\u0103s\u00e2nd Enter.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/e75a50954edd0391925dc809fa82811a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f1c3ee1d56e79fd8ba5f471ff3a0815d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nToate modific\u0103rile au fost efectuate, acum este timpul s\u0103 repornim programul.<\/p>\n<pre><code class=\"plaintext\">swift run<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Limbajul de programare Swift pe Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b4c7ca251bbd311d04925dc0b02c094.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nFelicit\u0103ri! Odat\u0103 ce codul a fost compilat, terminalul ar trebui s\u0103 arate linia modificat\u0103.<\/p>\n<p>Acum, c\u00e2nd Swift este instalat, ai ce face. De exemplu, pentru a controla hardware-ul, cum ar fi LED-urile, servo-motoarele, releele, po\u021bi folosi biblioteca de proiecte \u201ehardware\u201d pentru pl\u0103cile Linux\/ARM, care se nume\u0219te <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/SwiftyGPIO\">SwiftyGPIO<\/a><\/noindex>.<\/p>\n<p>Mult succes \u00een experimentele cu Swift pe Raspberry Pi!<br \/>\n<br \/>Sursa: <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.2.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\/ro\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Limbajul de programare Swift pe Raspberry Pi | ProHoster","description":"Raspberry PI 3 Model B+ \u00een acesta.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/37569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=37569"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/37569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/28197"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=37569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=37569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=37569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}