{"id":439187,"date":"2026-10-01T11:00:00","date_gmt":"2026-10-01T09:00:00","guid":{"rendered":"https:\/\/nextcloud.com\/?p=439187"},"modified":"2026-10-01T10:05:24","modified_gmt":"2026-10-01T08:05:24","slug":"nextcloud-academy-free-online-courses-for-contributors","status":"publish","type":"post","link":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/","title":{"rendered":"Introducing Nextcloud Academy: Free online courses for Nextcloud contributors"},"content":{"rendered":"\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Build your first Nextcloud app: Free hands-on developer course \ud83c\udfd7\ufe0f\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/X54UMa7dG9Q?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">How do you get started building your first Nextcloud app? Our <a href=\"https:\/\/nextcloud.com\/blog\/nextcloud-app-development-beginners-guide\/\" target=\"_blank\" rel=\"noreferrer noopener\">beginner&#8217;s guide<\/a> is a valuable resource to better understand how Nextcloud works internally and which pitfalls you should avoid if you want to make sure your app doesn&#8217;t break when confronted with real-life use cases.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And now, there&#8217;s also <a href=\"\/academy\" target=\"_blank\" rel=\"noreferrer noopener\">Nextcloud Academy<\/a>. Introduced as part of our <a href=\"https:\/\/nextcloud.com\/blog\/nextcloud-hub26-summer\/\" target=\"_blank\" rel=\"noreferrer noopener\">Nextcloud Hub 26 Summer release<\/a>, it contains hands-on courses for beginners as well as more experienced Nextcloud developers that take you from the basics all the way to a finished app and beyond.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There are two parallel tracks that build the same app with different architectures:<\/p>\n\n\n\n<ul class=\"wp-block-list nc-list\">\n<li>The PHP track for building a classic Nextcloud app running inside the server, using controllers, the OCP API, QBMapper, and migrations.<\/li>\n\n\n\n<li>The ExApp track (using Python) for building an external app running as a separate Docker service through AppAPI, using FastAPI, <code>nc_py_api<\/code>, and its own SQLite\/Postgres database.<\/li>\n<\/ul>\n\n\n<section class=\"simple-slider-section \" id=\"\">\r\n\t<div class=\"\">\r\n                    <div class=\"owl-carousel simple_slider_slideshow\" id=\"\">\r\n                                    <div class=\"gallery_item\" id=\"439210\">\r\n                        <a href=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-scaled.png\" class=\"simple_slider_slideshow_link\">\r\n                            <img decoding=\"async\" width=\"2560\" height=\"1473\" src=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-scaled.png\" class=\"attachment-full size-full\" alt=\"The PHP track in Nextcloud Academy\" srcset=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-scaled.png 2560w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-300x173.png 300w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-1001x576.png 1001w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-768x442.png 768w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-1536x884.png 1536w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-01-2048x1179.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>                        <\/a>\r\n                                            <\/div>\r\n                                    <div class=\"gallery_item\" id=\"439216\">\r\n                        <a href=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-scaled.png\" class=\"simple_slider_slideshow_link\">\r\n                            <img decoding=\"async\" width=\"2560\" height=\"1473\" src=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-scaled.png\" class=\"attachment-full size-full\" alt=\"The Python ExApp track in Nextcloud Academy\" srcset=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-scaled.png 2560w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-300x173.png 300w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-1001x576.png 1001w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-768x442.png 768w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-1536x884.png 1536w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-02-2048x1179.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>                        <\/a>\r\n                                            <\/div>\r\n                            <\/ul>\r\n        \t<\/div>\r\n<\/section>\r\n<script>\r\n    jQuery(document).ready(function ($) {\r\n        var owl_simple_slider = $('.simple_slider_slideshow');\r\n        owl_simple_slider.owlCarousel({\r\n            loop: false,\r\n            stagePadding: 50,\r\n            autoplay: false,\r\n            margin:10,\r\n            dots: false,\r\n            nav:true,\r\n            navText : ['<svg id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.1\" viewBox=\"0 0 14.299 22.409\"><path fill=\"#0082c9\" class=\"st0\" d=\"M11.25,21.205L1.25,11.205,11.25,1.205l1.8,1.8L4.85,11.205l8.2,8.2-1.8,1.8h0Z\"\/><\/svg>','<svg id=\"Layer_1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.1\" viewBox=\"0 0 14.299 22.409\"><path fill=\"#0082c9\" class=\"st0\" d=\"M3.05,21.205l-1.8-1.8,8.2-8.2L1.25,3.005l1.8-1.8,10,10L3.05,21.205h0Z\"\/><\/svg>'],\r\n            \r\n            responsive:{\r\n                0:{\r\n                    items:1\r\n                },\r\n                600:{\r\n                    items:1\r\n                },\r\n                800:{\r\n                    items:1\r\n                },\r\n                1000:{\r\n                    items:1\r\n                }\r\n            },\r\n            onDragged: owl_stop_autoplay,\r\n            autoplayHoverPause:true,\r\n            onInitialized: function (event) {\r\n\t\t\t\t\/\/ Remove role=\"presentation\" from arrows\r\n\t\t\t\t$('.owl-prev, .owl-next').removeAttr('role');\r\n\t\t\t\t$('.owl-prev, .owl-next').attr('tabindex', 0);\r\n\t\t\t}\r\n        });\r\n\r\n        \/\/ Assign original indices to real (non-cloned) items\r\n\t\towl_simple_slider.find('.owl-item:not(.cloned)').each(function (i) {\r\n\t\t\t$(this).attr('data-original-index', i);\r\n\t\t});\r\n\r\n\t\t\/\/ Focus handling for links, buttons, inputs, etc.\r\n\t\towl_simple_slider.on('focusin', '.owl-item a, .owl-item button, .owl-item input', function () {\r\n\t\t\tconst $focusedItem = $(this).closest('.owl-item');\r\n\r\n\t\t\tif (!$focusedItem.length || $focusedItem.hasClass('cloned')) {\r\n\t\t\t\/\/ Try to find the real item (not a clone)\r\n\t\t\tconst realIndex = $focusedItem.data('original-index');\r\n\t\t\tif (typeof realIndex !== 'undefined') {\r\n\t\t\t\towl_simple_slider.trigger('to.owl.carousel', [realIndex, 300, true]);\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tconst index = $focusedItem.data('original-index');\r\n\t\t\tif (typeof index !== 'undefined') {\r\n\t\t\towl_simple_slider.trigger('to.owl.carousel', [index, 300, true]);\r\n\t\t\t}\r\n\t\t});\r\n\r\n        owl_simple_slider.on('click', function(e) {\r\n            owl_stop_autoplay();\r\n        });\r\n        function owl_stop_autoplay() {\r\n            \/\/console.log('autoplay stopped.');\r\n            owl_simple_slider.trigger('stop.owl.autoplay');\r\n        }\r\n\r\n    });\r\n<\/script>\r\n\n\n\n<h2 class=\"wp-block-heading\">From environment setup to finished Nextcloud app<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The beginner modules require no prior knowledge. Before you start coding, you will be guided through setting up your development environment to make sure everything works as expected down the road.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full imageRoundShadow\"><img decoding=\"async\" width=\"2560\" height=\"1473\" src=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-scaled.png\" alt=\"The environment setup module in Nextcloud Academy\" class=\"wp-image-439217\" srcset=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-scaled.png 2560w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-300x173.png 300w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-1001x576.png 1001w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-768x442.png 768w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-1536x884.png 1536w, https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-screenshot-03-2048x1179.png 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">From there you learn how a Nextcloud app is structured: the manifest that describes it, how requests are routed to your code, and how the app hooks into Nextcloud when it loads.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next comes the backend, where you write your first endpoints and return data, followed by a database layer so data can be stored, read, and changed. The course then moves to the frontend. You set up a Vite and Vue build, then create the interface in three steps. It uses <a href=\"https:\/\/github.com\/nextcloud-libraries\/nextcloud-vue\" target=\"_blank\" rel=\"noreferrer noopener\">Nextcloud&#8217;s own Vue components<\/a>, so the app looks and behaves like the rest of Nextcloud.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, you&#8217;ll turn the working prototype into a real app. You&#8217;ll first make sure each user sees only their own data by identifying the current user and limiting every query to their data. Then you version, sign, and package the app and submit it to the Nextcloud App Store.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">You can do all of this in PHP, as a traditional app inside Nextcloud, or in Python, as a separate service connected through AppAPI. The steps and the finished app are the same either way, but the Python route adds a bit more work on verifying incoming requests and deploying with Docker.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">More learning tracks to come in the future<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">At the time of writing, the courses are still in beta. Only the beginner tracks are available, with the intermediate and advanced tracks coming soon. Feedback is very welcome, so if you notice a mistake of find something is unclear, please <a href=\"https:\/\/github.com\/nextcloud\/academy\/issues\/new\" target=\"_blank\" rel=\"noreferrer noopener\">file an issue on GitHub<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ready to get started? Then head over to <a href=\"\/academy\" target=\"_blank\" rel=\"noreferrer noopener\">Nextcloud Academy<\/a> to write your first lines of Nextcloud-native code!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.<\/p>\n","protected":false},"author":60,"featured_media":439189,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"publish_to_discourse":"","publish_post_category":"22","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"735589","discourse_permalink":"https:\/\/help.nextcloud.com\/t\/introducing-nextcloud-academy-free-online-courses-for-nextcloud-contributors\/250421","wpdc_publishing_response":"success","wpdc_publishing_error":"","footnotes":""},"categories":[5,11,6,292,7,1],"tags":[],"class_list":["post-439187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apps","category-blog","category-community","category-developer-tutorials","category-news","category-uncategorized"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Nextcloud Academy: Free online courses for contributors - Nextcloud<\/title>\n<meta name=\"description\" content=\"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Nextcloud Academy: Free online courses for contributors - Nextcloud\" \/>\n<meta property=\"og:description\" content=\"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/\" \/>\n<meta property=\"og:site_name\" content=\"Nextcloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Nextclouders\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-01T09:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kevin Herschbach\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kevin Herschbach\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/\"},\"author\":{\"name\":\"Kevin Herschbach\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#\\\/schema\\\/person\\\/f3e766d1e7048f3e434902ae8c191593\"},\"headline\":\"Introducing Nextcloud Academy: Free online courses for Nextcloud contributors\",\"datePublished\":\"2026-10-01T09:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/\"},\"wordCount\":482,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/10\\\/nextcloud-academy-featured-image.png\",\"articleSection\":[\"Apps\",\"Blog\",\"Community\",\"Developer Tutorials\",\"News\",\"Uncategorized\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/\",\"name\":\"Nextcloud Academy: Free online courses for contributors - Nextcloud\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/10\\\/nextcloud-academy-featured-image.png\",\"datePublished\":\"2026-10-01T09:00:00+00:00\",\"description\":\"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#primaryimage\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/10\\\/nextcloud-academy-featured-image.png\",\"contentUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2026\\\/10\\\/nextcloud-academy-featured-image.png\",\"width\":1920,\"height\":1080,\"caption\":\"Nextcloud Academy: Free online courses for contributors\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/blog\\\/nextcloud-academy-free-online-courses-for-contributors\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Nextcloud Academy: Free online courses for Nextcloud contributors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/\",\"name\":\"Nextcloud\",\"description\":\"Regain control over your data\",\"publisher\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#organization\",\"name\":\"Nextcloud\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2022\\\/10\\\/nextcloud-logo-blue-transparent.svg\",\"contentUrl\":\"https:\\\/\\\/nextcloud.com\\\/c\\\/uploads\\\/2022\\\/10\\\/nextcloud-logo-blue-transparent.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Nextcloud\"},\"image\":{\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Nextclouders\\\/\",\"https:\\\/\\\/x.com\\\/nextclouders\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/10827569\\\/\",\"https:\\\/\\\/youtube.com\\\/nextcloud\",\"https:\\\/\\\/www.instagram.com\\\/nextclouders\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/nextcloud.com\\\/es\\\/#\\\/schema\\\/person\\\/f3e766d1e7048f3e434902ae8c191593\",\"name\":\"Kevin Herschbach\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g\",\"caption\":\"Kevin Herschbach\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nextcloud Academy: Free online courses for contributors - Nextcloud","description":"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/","og_locale":"es_ES","og_type":"article","og_title":"Nextcloud Academy: Free online courses for contributors - Nextcloud","og_description":"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.","og_url":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/","og_site_name":"Nextcloud","article_publisher":"https:\/\/www.facebook.com\/Nextclouders\/","article_published_time":"2026-10-01T09:00:00+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","type":"image\/png"}],"author":"Kevin Herschbach","twitter_misc":{"Escrito por":"Kevin Herschbach","Tiempo de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#article","isPartOf":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/"},"author":{"name":"Kevin Herschbach","@id":"https:\/\/nextcloud.com\/es\/#\/schema\/person\/f3e766d1e7048f3e434902ae8c191593"},"headline":"Introducing Nextcloud Academy: Free online courses for Nextcloud contributors","datePublished":"2026-10-01T09:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/"},"wordCount":482,"commentCount":0,"publisher":{"@id":"https:\/\/nextcloud.com\/es\/#organization"},"image":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","articleSection":["Apps","Blog","Community","Developer Tutorials","News","Uncategorized"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/","url":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/","name":"Nextcloud Academy: Free online courses for contributors - Nextcloud","isPartOf":{"@id":"https:\/\/nextcloud.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#primaryimage"},"image":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","datePublished":"2026-10-01T09:00:00+00:00","description":"Learn how to build Nextcloud apps using PHP or Python by taking the free online courses in Nextcloud Academy.","breadcrumb":{"@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#primaryimage","url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","width":1920,"height":1080,"caption":"Nextcloud Academy: Free online courses for contributors"},{"@type":"BreadcrumbList","@id":"https:\/\/nextcloud.com\/es\/blog\/nextcloud-academy-free-online-courses-for-contributors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/nextcloud.com\/es\/"},{"@type":"ListItem","position":2,"name":"Introducing Nextcloud Academy: Free online courses for Nextcloud contributors"}]},{"@type":"WebSite","@id":"https:\/\/nextcloud.com\/es\/#website","url":"https:\/\/nextcloud.com\/es\/","name":"Nextcloud","description":"Regain control over your data","publisher":{"@id":"https:\/\/nextcloud.com\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nextcloud.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/nextcloud.com\/es\/#organization","name":"Nextcloud","url":"https:\/\/nextcloud.com\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/nextcloud.com\/es\/#\/schema\/logo\/image\/","url":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","contentUrl":"https:\/\/nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","width":"1024","height":"1024","caption":"Nextcloud"},"image":{"@id":"https:\/\/nextcloud.com\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Nextclouders\/","https:\/\/x.com\/nextclouders","https:\/\/www.linkedin.com\/company\/10827569\/","https:\/\/youtube.com\/nextcloud","https:\/\/www.instagram.com\/nextclouders\/"]},{"@type":"Person","@id":"https:\/\/nextcloud.com\/es\/#\/schema\/person\/f3e766d1e7048f3e434902ae8c191593","name":"Kevin Herschbach","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c71d87b93ea47ae85cda8c9f493bd0aa6763335537bcabe1e492aed84d31c07?s=96&d=mm&r=g","caption":"Kevin Herschbach"}}]}},"featured_media_url":"https:\/\/nextcloud.com\/c\/uploads\/2026\/10\/nextcloud-academy-featured-image.png","_links":{"self":[{"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/posts\/439187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/users\/60"}],"replies":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/comments?post=439187"}],"version-history":[{"count":4,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/posts\/439187\/revisions"}],"predecessor-version":[{"id":439223,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/posts\/439187\/revisions\/439223"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/media\/439189"}],"wp:attachment":[{"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/media?parent=439187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/categories?post=439187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nextcloud.com\/es\/wp-json\/wp\/v2\/tags?post=439187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}