{"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\/es\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","title":{"rendered":"Lenguaje de programaci\u00f3n Swift en Raspberry Pi","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/74066769b8703e5580c3e7743a6481d9.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Raspberry PI 3 Modelo B+<\/i><\/p>\n<p>En este manual, analizaremos los fundamentos del uso de Swift en Raspberry Pi. Raspberry Pi es una peque\u00f1a y econ\u00f3mica computadora de placa \u00fanica, cuyo potencial est\u00e1 limitado solo por sus recursos computacionales. Es bien conocida entre los t\u00e9cnicos y entusiastas del DIY. Es un excelente dispositivo para aquellos que desean experimentar con ideas o probar en la pr\u00e1ctica un concepto determinado. Se utiliza para una variedad de proyectos y puede colocarse f\u00e1cilmente en casi cualquier lugar; por ejemplo, se puede montar en la parte posterior de un monitor y usarse como escritorio, o conectar a una placa de pruebas para controlar un circuito electr\u00f3nico.<\/p>\n<p>El lenguaje de programaci\u00f3n oficial de la 'frambuesa' es Python. Aunque Python es bastante sencillo de usar, carece de seguridad de tipo y consume mucha memoria. Swift, en cambio, tiene gesti\u00f3n de memoria mediante ARC y es casi 8 veces m\u00e1s r\u00e1pido que Python. Dado que la RAM y las capacidades computacionales del procesador de Raspberry Pi son limitadas, el uso de un lenguaje como Swift permite aprovechar al m\u00e1ximo el potencial del hardware de este mini-PC. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex> <\/p>\n<h3>Instalaci\u00f3n del sistema operativo<\/h3>\n<p>\nAntes de instalar Swift, es necesario elegir un sistema operativo. Para ello, puedes <noindex><a rel=\"nofollow\" href=\"https:\/\/www.raspberrypi.org\/downloads\/\">utilizar una de las opciones<\/a><\/noindex>, ofrecidas por desarrolladores externos. La elecci\u00f3n m\u00e1s com\u00fan es Raspbian, el sistema operativo oficial de Raspberry Pi. Hay varias formas de instalar Raspbian en una tarjeta SD; en nuestro caso, usaremos balenaEtcher. Aqu\u00ed tienes lo que debes hacer:<\/p>\n<ul>\n<li>Descarga la \u00faltima versi\u00f3n de Raspbian OS <noindex><a rel=\"nofollow\" href=\"https:\/\/downloads.raspberrypi.org\/raspbian_latest\">desde aqu\u00ed<\/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\/\">Formatea la tarjeta SD en FAT utilizando Disk Utility<\/a><\/noindex>.<\/li>\n<li>Usamos <noindex><a rel=\"nofollow\" href=\"https:\/\/www.balena.io\/etcher\/\">balenaEtcher<\/a><\/noindex> para grabar en la tarjeta formateada.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/dd0c0a822edee69d6d5c11f6fc1f0dfb.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Paso dos: formatea la tarjeta SD en MS-DOS (FAT)<\/i><\/p>\n<p><img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/6d256c2aeab9e031f6ba636ab89507c7.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Paso tres: usa balenaEtcher para grabar Raspbian en la tarjeta<\/i><\/p>\n<blockquote><p><b>Te recomendamos un curso intensivo gratuito de aprendizaje autom\u00e1tico para principiantes:<\/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\">Escribiendo tu primer modelo de aprendizaje autom\u00e1tico en tres d\u00edas<\/a><\/noindex> \u2014 del 2 al 4 de septiembre. <i>Un curso intensivo gratuito que permite comprender qu\u00e9 es el aprendizaje autom\u00e1tico y aprender a trabajar con datos abiertos de Internet. Tambi\u00e9n aprenderemos a predecir el tipo de cambio del d\u00f3lar mediante un modelo desarrollado por nosotros mismos.<\/i>.\n<\/p><\/blockquote>\n<h3>Configuraci\u00f3n de Raspberry Pi<\/h3>\n<p>\n\u00a1Ya hemos recorrido medio camino! Ahora tenemos una tarjeta SD con un sistema operativo que utilizaremos, pero a\u00fan queda por instalar el sistema operativo. Para ello, hay dos opciones:<\/p>\n<ul>\n<li>Utilizar un monitor, teclado y rat\u00f3n conectados al dispositivo.<\/li>\n<li>Hacer todo desde otra PC por SSH o utilizando un cable USB Console.<\/li>\n<\/ul>\n<p>\nSi es tu primera experiencia con Pi, te recomiendo la opci\u00f3n n\u00famero 1. Una vez que la tarjeta SD con Raspbian OS est\u00e9 insertada en Pi, conecta el cable HDMI, mouse, teclado y cable de alimentaci\u00f3n.<\/p>\n<p>Pi deber\u00eda arrancar al encenderla. \u00a1Felicidades! Ahora puedes dedicar un tiempo a explorar tu escritorio y sus posibilidades.<\/p>\n<p><img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d1691be44fc7aec778e2a17b39edcb3f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <\/p>\n<h3>Instalaci\u00f3n de Swift<\/h3>\n<p>\nPara instalar Swift en la \u00abmalinka\u00bb, necesitas conectarla a Internet (mediante Ethernet o WiFi, dependiendo del modelo de la placa). Una vez conectado a Internet, puedes comenzar la instalaci\u00f3n de Swift.<\/p>\n<p>Se puede realizar de dos maneras. La primera \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/buildSwiftOnARM#building-on-arm\">creaci\u00f3n manual de un build de Swift<\/a><\/noindex>, la segunda \u2014 usar binarios ya compilados. Recomiendo enf\u00e1ticamente la segunda opci\u00f3n, ya que la primera requerir\u00e1 varios d\u00edas de preparaci\u00f3n. La segunda opci\u00f3n se ha desarrollado gracias al grupo <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">Swift-ARM<\/a><\/noindex>. Tienen el repositorio donde se puede instalar Swift utilizando apt (<noindex><a rel=\"nofollow\" href=\"https:\/\/help.ubuntu.com\/lts\/serverguide\/apt.html\"><strong>A<\/strong>avanzado <strong>P<\/strong>paquete <strong>T<\/strong>herramienta<\/a><\/noindex>).<\/p>\n<p>Es una herramienta de l\u00ednea de comandos, algo as\u00ed como la App Store para aplicaciones y paquetes para dispositivos con Linux. Trabajamos con apt comenzando a introducir en la terminal apt-get. Luego hay que indicar una serie de comandos que especificar\u00e1n la tarea a realizar. En nuestro caso, necesitamos instalar Swift 5.0.2. Los paquetes correspondientes se pueden <noindex><a rel=\"nofollow\" href=\"https:\/\/packagecloud.io\/swift-arm\/release\">encontrar aqu\u00ed<\/a><\/noindex>.<\/p>\n<p>Bueno, comencemos. Ahora que sabemos que instalaremos Swift usando apt, necesitamos agregar el repositorio a la lista de repositorios.<\/p>\n<p>Comando para agregar\/instalar el repositorio <noindex><a rel=\"nofollow\" href=\"https:\/\/swift-arm.com\">swift-arm<\/a><\/noindex> se ve as\u00ed:<\/p>\n<pre><code class=\"plaintext\">curl -s  | sudo bash<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f5c42400a4679d7910545b2da5ca16b4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nA continuaci\u00f3n instalamos Swift desde el repositorio agregado:<\/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=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b575739ad368f5be7479c517e8d598a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n\u00a1Eso es todo! Ahora Swift est\u00e1 instalado en nuestra \u00abmalinka\u00bb.<\/p>\n<h3>Creaci\u00f3n de un proyecto de prueba<\/h3>\n<p>\nActualmente <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techrepublic.com\/article\/pro-tip-using-apples-swift-repl-from-the-terminal\/\">Swift REPL<\/a><\/noindex> no funciona, pero todo lo dem\u00e1s s\u00ed. Para la prueba, vamos a crear un paquete Swift utilizando Swift Package Manager.<\/p>\n<p>Primero creamos un directorio llamado MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">mkdir MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/07c8bf535812d1fa43cb61cfeeeeb544.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nLuego cambiamos el directorio de trabajo actual al reci\u00e9n creado MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd MyFirstProject<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b2ff73dfb2dc5d65268a057609cf4d54.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nCreamos un nuevo paquete ejecutable Swift.<\/p>\n<pre><code class=\"plaintext\">swift package init --type=executable<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/d93e6a1eff4c958f3b57861815d69258.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nEstas tres l\u00edneas crean un paquete Swift vac\u00edo llamado MyFirstProject. Para ejecutarlo, escribimos el comando swift run.<\/p>\n<p><img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/25a195442369d0d3218e4a3ef88e34b3.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nUna vez finalizada la compilaci\u00f3n, veremos la frase \u00ab\u00a1Hola, mundo!\u00bb en la l\u00ednea de comandos.<\/p>\n<p>Despu\u00e9s de haber creado nuestro primer programa en Pi, vamos a hacer algunos cambios. En el directorio MyFirstProject, realizaremos modificaciones en el archivo main.swift. En \u00e9l se encuentra el c\u00f3digo que se ejecuta cuando lanzamos el paquete con el comando swift run.<\/p>\n<p>Cambiamos el directorio a Sources\/MyFirstProject.<\/p>\n<pre><code class=\"plaintext\">cd Sources\/MyFirstProject <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/b80855c0f8510016fb6afbd714741d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nEditamos el archivo main.swift usando el <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nano-editor.org\/\">editor nano<\/a><\/noindex>.<\/p>\n<pre><code class=\"plaintext\">nano main.swift<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/7f8e8c5884d50146058004975632a1c6.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nUna vez que el editor est\u00e9 abierto, podr\u00e1s modificar el c\u00f3digo de tu programa. Vamos a reemplazar el contenido del archivo main.swift con lo siguiente:<\/p>\n<p><img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en 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>\nPor supuesto, puedes insertar tu propio nombre. Para guardar los cambios, deber\u00e1s realizar las siguientes acciones:<\/p>\n<ul>\n<li>CTRL+X para guardar el archivo.<\/li>\n<li>Confirmamos los cambios presionando \u00abY\u00bb.<\/li>\n<li>Confirmamos la modificaci\u00f3n del archivo main.swift presionando Enter.<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/e75a50954edd0391925dc809fa82811a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/f1c3ee1d56e79fd8ba5f471ff3a0815d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nTodos los cambios han sido realizados, ahora es el momento de reiniciar el programa.<\/p>\n<pre><code class=\"plaintext\">swift run<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"Lenguaje de programaci\u00f3n Swift en Raspberry Pi\" src=\"\/wp-content\/uploads\/2019\/08\/5b4c7ca251bbd311d04925dc0b02c094.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n\u00a1Felicidades! Una vez que el c\u00f3digo ha sido compilado, el terminal deber\u00eda mostrar la l\u00ednea modificada.<\/p>\n<p>Ahora que Swift est\u00e1 instalado, ya tienes con qu\u00e9 trabajar. Para controlar hardware, como LEDs, servomotores y rel\u00e9s, puedes utilizar la biblioteca de proyectos de hardware para placas Linux\/ARM, que se llama <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/uraimo\/SwiftyGPIO\">SwiftyGPIO<\/a><\/noindex>.<\/p>\n<p>\u00a1Buena suerte experimentando con Swift en Raspberry Pi!<br \/>\n<br \/>Fuente: <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 - 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\/es\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\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\/es\/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\udd47El lenguaje de programaci\u00f3n Swift en Raspberry Pi | ProHoster","description":"Raspberry PI 3 Model B+ En esto.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/yazyk-programmirovaniya-swift-na-raspberry-pi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","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\/es\/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\/es\/wp-json\/wp\/v2\/posts\/37569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=37569"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/37569\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/28197"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=37569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=37569"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=37569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}