{"id":592,"date":"2018-06-08T06:30:17","date_gmt":"2018-06-08T10:30:17","guid":{"rendered":"https:\/\/robodk.com\/blog\/?p=592"},"modified":"2025-09-22T03:11:13","modified_gmt":"2025-09-22T07:11:13","slug":"robot-sdk","status":"publish","type":"post","link":"https:\/\/robodk.com\/blog\/robot-sdk\/","title":{"rendered":"Why Should You Program With a Robot SDK?"},"content":{"rendered":"<p style=\"text-indent: 0px; margin: 10px 0px 0px; text-align: justify;\"><!--StartFragment--><strong>What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.<\/strong><br \/>\n<!--more-->It&#8217;s hard to choose a programming system. It&#8217;s a big decision. You know that you are going to spend hours, weeks, months, even years with the same programming interface. You don&#8217;t want to tie yourself into software which is going to make your life difficult, do you?<\/p>\n<p style=\"text-align: justify;\">The first question you need to answer is: Do I want to program my robot online or offline?<\/p>\n<p style=\"text-align: justify;\">Both options have their benefits. But, as we&#8217;ve explained before, <a name=\"https:\/\/robodk.com\/blog\/10-excellent-ways-save-time-offline-programming\/\"><\/a><a href=\"https:\/\/robodk.com\/blog\/offline-programming-time-savings\/\" target=\"_blank\" rel=\"noopener\">offline programming has some huge advantages<\/a> which blow online programming out of the water. Plus, a good offline programming system will allow you to program both offline <em>and<\/em> online, so it&#8217;s a win-win option.<\/p>\n<p style=\"text-align: justify;\">Let&#8217;s say you&#8217;ve decided to look into offline programming. Now you run into a tricky question: Should you use an SDK? And, if so, which one?<\/p>\n<p style=\"text-align: justify;\">In this article, we explain what a robot SDK is and we introduce the 8 qualities of an excellent robot SDK.<\/p>\n<p><a href=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-654 \" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming-1024x483.png\" alt=\"Robot programming using Python\" width=\"563\" height=\"266\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming-1024x483.png 1024w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming-300x142.png 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming-768x362.png 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/RoboDK-Python-Robot-Programming.png 1746w\" sizes=\"auto, (max-width: 563px) 100vw, 563px\" \/><\/a><\/p>\n<h2>What is a Robot SDK?<\/h2>\n<p>What is an SDK? This is a common question. SDKs are often confused with related concepts, particularly API and IDE. In order to understand what a Robot SDK is, it&#8217;s necessary to be clear on the differences between these three concepts.<\/p>\n<h3>SDK: Software Development Kit<\/h3>\n<p><a href=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-707 alignright\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1-300x200.png\" alt=\"\" width=\"257\" height=\"171\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1-300x200.png 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1-768x513.png 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1-1024x684.png 1024w\" sizes=\"auto, (max-width: 257px) 100vw, 257px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">A Software Development Kit (<a name=\"https:\/\/en.wikipedia.org\/wiki\/Software_development_kit\"><\/a><a href=\"https:\/\/en.wikipedia.org\/wiki\/Software_development_kit\" target=\"_blank\" rel=\"noopener\">SDK<\/a>, also known as a Devkit) is a set of software tools which allows you to develop applications for a particular software environment or hardware device.<\/p>\n<p style=\"text-align: justify;\">For example, the <a name=\"https:\/\/developer.android.com\/studio\/\"><\/a><a href=\"https:\/\/developer.android.com\/studio\/\" target=\"_blank\" rel=\"noopener\">Android SDK<\/a> allows developers to create apps for android phones. The <a name=\"http:\/\/robohub.org\/ankis-new-cozmo-sdk-turns-toy-robots-into-sophisticated-research-tools\/\"><\/a><a href=\"https:\/\/robohub.org\/ankis-new-cozmo-sdk-turns-toy-robots-into-sophisticated-research-tools\/\" target=\"_blank\" rel=\"noopener\">Coszmo SDK<\/a> allows developers to program the Cozmo toy robot. The <a name=\"https:\/\/www.cognex.com\/products\/barcode-readers\/mobile-solutions\/cognex-mobile-barcode-sdk\"><\/a><a href=\"https:\/\/www.cognex.com\/products\/barcode-readers\/mobile-solutions\/cognex-mobile-barcode-sdk\" target=\"_blank\" rel=\"noopener\">Cognex Mobile Barcode SDK<\/a> allows developers to create barcode reading applications for Cognex cameras.<\/p>\n<p style=\"text-align: justify;\">As you can see from these examples, most SDKs are specifically targeted at one product or application. This creates a problem when it comes to robotics, which I&#8217;ll explain in a moment.<\/p>\n<h3>API: Application Programming Interface<\/h3>\n<p style=\"text-align: justify;\">An Application Programming Interface (<a name=\"https:\/\/en.wikipedia.org\/wiki\/Application_programming_interface\"><\/a><a href=\"https:\/\/en.wikipedia.org\/wiki\/Application_programming_interface\" target=\"_blank\" rel=\"noopener\">API<\/a>) is a single software library or set of libraries which contain the functions needed to p<a href=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/05\/metatrader_4_api_ru_en__1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-647\" src=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/05\/metatrader_4_api_ru_en__1-300x160.jpg\" alt=\"Programming API\" width=\"255\" height=\"136\" srcset=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/05\/metatrader_4_api_ru_en__1-300x160.jpg 300w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/05\/metatrader_4_api_ru_en__1-768x409.jpg 768w, https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/05\/metatrader_4_api_ru_en__1.jpg 840w\" sizes=\"auto, (max-width: 255px) 100vw, 255px\" \/><\/a>erform a particular task. We often use them in robotics to interact with a specific hardware component.<\/p>\n<p style=\"text-align: justify;\">For example, the <a name=\"https:\/\/playground.arduino.cc\/Code\/API\"><\/a><a href=\"https:\/\/playground.arduino.cc\/Code\/API\" target=\"_blank\" rel=\"noopener\">Arduino API<\/a> interfaces with Arduino microprocessors. The <a name=\"https:\/\/sdk.sphero.com\/api-reference\/api-quick-reference\/\"><\/a>Sphero API interfaces with Sphero toy robots. The <a name=\"https:\/\/goprohero.readthedocs.io\/en\/latest\/API\/\"><\/a><a href=\"https:\/\/goprohero.readthedocs.io\/en\/latest\/API\/\" target=\"_blank\" rel=\"noopener\">GoPro API<\/a> interfaces with GoPro cameras.<\/p>\n<h3>IDE: Integrated Development Environment<\/h3>\n<p style=\"text-align: justify;\">An Integrated Development Environment (<a name=\"https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\"><\/a><a href=\"https:\/\/en.wikipedia.org\/wiki\/Integrated_development_environment\" target=\"_blank\" rel=\"noopener\">IDE<\/a>) is a software application which helps you to write programs effectively. You could think of an IDE as a very helpful text editor. IDEs often include compilers, a text editor, debugging support, and tools to automate common tasks. Some IDEs support multiple programming languages whilst others are restricted to only one programming language.<\/p>\n<h3>SDK vs API vs IDE<\/h3>\n<p style=\"text-align: justify;\">Often, SDKs come packaged with both APIs and an IDE. This makes it easy to confuse the three concepts.<\/p>\n<p style=\"text-align: justify;\">The basic difference is that SDKs are complete development environments. An API is just a single interface, and an IDE helps to write programs. Just remember\u00a0<a name=\"https:\/\/softwareengineering.stackexchange.com\/questions\/101873\/whats-the-difference-between-an-api-and-an-sdk\"><\/a><a href=\"https:\/\/softwareengineering.stackexchange.com\/questions\/101873\/whats-the-difference-between-an-api-and-an-sdk\" target=\"_blank\" rel=\"noopener\">this useful advice<\/a>: &#8220;All SDKs contain APIs, but not all APIs are SDKs.&#8221;<\/p>\n<h2>The Problem With Most Robot SDKs<\/h2>\n<p style=\"text-align: justify;\">Robot SDKs are simply SDKs which can be used to program robots.<\/p>\n<p style=\"text-align: justify;\">The problem is that most robot SDKs are only designed to interface with one specific robot or hardware component. Often they are also limited to specific applications. This makes them inflexible.<\/p>\n<p style=\"text-align: justify;\">Here&#8217;s a typical (fictional) description of a robot SDK:<em> Imaginary SDK 0.2 enables programmers to use Language 1 or Language 2 in Windows 8\/10 to control the Imaginary Robot Controller v1 for X, Y, and Z applications.<\/em><\/p>\n<p>That&#8217;s quite restrictive, isn&#8217;t it!?<\/p>\n<p style=\"text-align: justify;\">What if you want to use a different programming language? What if you want to use your robot for a different type of application? Suddenly, you have to employ some time-consuming and complex programming techniques (e.g. writing extensive wrappers) to just program one robot to perform one task.<\/p>\n<h2>8 Qualities of an Excellent Robot SDK<\/h2>\n<p style=\"text-align: justify;\">Thankfully, not all robot SDKs suffer from this problem. It is possible to find a robot SDK which is very flexible and makes it easy to program a wide range of applications on any robot.<\/p>\n<p>There are 8 signs that a robot SDK is a good one:<\/p>\n<ol>\n<li><strong>Various programming language options<\/strong> \u2014 You should be able to choose which programming language you want to use, with inbuilt support for popular languages like Python, C++, Matlab, etc.<\/li>\n<li><strong>Offline programming and robot simulation\u00a0<\/strong>\u2014 The SDK should allow you to program the robot offline and test your program on a simulation of the robot, which reduces downtime.<\/li>\n<li><strong>Allows you to test the SDK for free<\/strong> \u2014 Brand-specific robot SDKs often require you to pay upfront. This is risky because you could end up locked into a bad programming environment.<\/li>\n<li><strong>Allows you to verify project feasibility before buying a robot\u00a0<\/strong>\u2014 Most SDKs require the physical hardware to test your program. A good SDK should allow you to test your robot application before purchasing anything.<\/li>\n<li><strong>Can be used on many different robot brands<\/strong> \u2014 The major problem with most robot SDKs is that they&#8217;re locked into one specific robot brand. You should be able to program any robot with the same SDK.<\/li>\n<li><strong>Makes it easy to switch between robots<\/strong> \u2014 If you decide one robot isn&#8217;t suited for your task, you shouldn&#8217;t have to throw away all your existing code. The SDK should make it easy to transfer the program to a new robot.<\/li>\n<li><strong>Can be used with other software<\/strong>\u00a0\u2014 No software can do everything perfectly. It should be easy to integrate the SDK with your favorite CAM package or application-specific software, like Slicer for 3D printing.<\/li>\n<li><strong>Is affordable<\/strong> \u2014 Some brand-specific SDKs are surprisingly expensive (I say surprisingly because usually, you&#8217;ve also invested a lot to buy the physical robot from the same brand). A robot SDK should be affordable.<\/li>\n<\/ol>\n<h2>Which Robot SDK Has All of These Qualities?<\/h2>\n<p style=\"text-align: justify;\">We didn&#8217;t like all of the restrictions imposed by most robot SDKs. So, we designed RoboDK to overcome the problem.<\/p>\n<p style=\"text-align: justify;\">RoboDK is a flexible robot SDK which has all of the 8 top qualities and more. It allows you to program a huge range of robots from many different manufacturers. It supports the most popular programming languages and makes it easy to test your application on a simulation before purchasing anything.<\/p>\n<p><a name=\"https:\/\/robodk.com\/download\"><\/a><a href=\"https:\/\/robodk.com\/download\" target=\"_blank\" rel=\"noopener\">You can try it out for free today.<\/a><\/p>\n<p style=\"text-indent: 0px; margin: 10px 0px 0px; text-align: justify;\"><em>What was your most difficult experience with programming robots? <strong>Tell us in the comments below or join the discussion on <a href=\"https:\/\/www.linkedin.com\/company\/robodk\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a>, <a href=\"https:\/\/twitter.com\/robodkinc\" target=\"_blank\" rel=\"noopener\">Twitter<\/a>, <a href=\"https:\/\/www.facebook.com\/robodkinc\" target=\"_blank\" rel=\"noopener\">Facebook<\/a> or <a href=\"https:\/\/www.instagram.com\/robodk\/\" target=\"_blank\" rel=\"noopener\">Instagram<\/a>.<\/strong><\/em><!--EndFragment--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is a robot SDK? Should you use one? And how do you tell if one is good? Here are [&hellip;]<\/p>\n","protected":false},"author":753,"featured_media":706,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[21,23,27,22],"tags":[14,28,12,13],"class_list":["post-592","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-offline-programming","category-online-programming","category-robodk-api","category-robot-programming","tag-offline-programming","tag-robodk-api","tag-robot-programming","tag-robot-simulation"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Why Should You Program With a Robot SDK? - RoboDK blog<\/title>\n<meta name=\"description\" content=\"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/robodk.com\/blog\/robot-sdk\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why Should You Program With a Robot SDK? - RoboDK blog\" \/>\n<meta property=\"og:description\" content=\"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/robodk.com\/blog\/robot-sdk\/\" \/>\n<meta property=\"og:site_name\" content=\"RoboDK blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/robodkinc\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-08T10:30:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-22T07:11:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alex Owen-Hill\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@AlexOwenHill\" \/>\n<meta name=\"twitter:site\" content=\"@robodkinc\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alex Owen-Hill\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/\"},\"author\":{\"name\":\"Alex Owen-Hill\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/person\\\/3ca2d3b921633adceba2740817765638\"},\"headline\":\"Why Should You Program With a Robot SDK?\",\"datePublished\":\"2018-06-08T10:30:17+00:00\",\"dateModified\":\"2025-09-22T07:11:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/\"},\"wordCount\":1112,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/shutterstock_288042365.png\",\"keywords\":[\"offline programming\",\"RoboDK API\",\"robot programming\",\"robot simulation\"],\"articleSection\":[\"offline programming\",\"Online Programming\",\"RoboDK API\",\"robot programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/\",\"name\":\"Why Should You Program With a Robot SDK? - RoboDK blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/shutterstock_288042365.png\",\"datePublished\":\"2018-06-08T10:30:17+00:00\",\"dateModified\":\"2025-09-22T07:11:13+00:00\",\"description\":\"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#primaryimage\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/shutterstock_288042365.png\",\"contentUrl\":\"https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/shutterstock_288042365.png\",\"width\":2440,\"height\":1628},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/robot-sdk\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why Should You Program With a Robot SDK?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\",\"name\":\"RoboDK blog\",\"description\":\"News about RoboDK, Industrial Robots, Simulation and Robot Programming\",\"publisher\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/robodk.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#organization\",\"name\":\"RoboDK\",\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mlhiwltxy5pk.i.optimole.com\\\/w:1920\\\/h:613\\\/q:mauto\\\/f:best\\\/https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/RoboDK-PNG.png\",\"contentUrl\":\"https:\\\/\\\/mlhiwltxy5pk.i.optimole.com\\\/w:1920\\\/h:613\\\/q:mauto\\\/f:best\\\/https:\\\/\\\/robodk.com\\\/blog\\\/wp-content\\\/uploads\\\/2017\\\/12\\\/RoboDK-PNG.png\",\"width\":2128,\"height\":680,\"caption\":\"RoboDK\"},\"image\":{\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/robodkinc\",\"https:\\\/\\\/x.com\\\/robodkinc\",\"https:\\\/\\\/www.instagram.com\\\/robodk\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/robodk\",\"https:\\\/\\\/www.youtube.com\\\/c\\\/RoboDK3D\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/robodk.com\\\/blog\\\/#\\\/schema\\\/person\\\/3ca2d3b921633adceba2740817765638\",\"name\":\"Alex Owen-Hill\",\"description\":\"Alex Owen-Hill is a freelance writer and public speaker who blogs about a large range of topics, including science, presentation skills at CreateClarifyArticulate.com, storytelling and (of course) robotics. He completed a PhD in Telerobotics from Universidad Politecnica de Madrid as part of the PURESAFE project, in collaboration with CERN. As a recovering academic, he maintains a firm foot in the robotics world by blogging about industrial robotics.\",\"sameAs\":[\"https:\\\/\\\/x.com\\\/AlexOwenHill\"],\"url\":\"https:\\\/\\\/robodk.com\\\/blog\\\/author\\\/alex-owen-hill\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Why Should You Program With a Robot SDK? - RoboDK blog","description":"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.","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:\/\/robodk.com\/blog\/robot-sdk\/","og_locale":"en_US","og_type":"article","og_title":"Why Should You Program With a Robot SDK? - RoboDK blog","og_description":"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.","og_url":"https:\/\/robodk.com\/blog\/robot-sdk\/","og_site_name":"RoboDK blog","article_publisher":"https:\/\/www.facebook.com\/robodkinc","article_published_time":"2018-06-08T10:30:17+00:00","article_modified_time":"2025-09-22T07:11:13+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365-1024x683.png","type":"image\/png"}],"author":"Alex Owen-Hill","twitter_card":"summary_large_image","twitter_creator":"@AlexOwenHill","twitter_site":"@robodkinc","twitter_misc":{"Written by":"Alex Owen-Hill","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#article","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/"},"author":{"name":"Alex Owen-Hill","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638"},"headline":"Why Should You Program With a Robot SDK?","datePublished":"2018-06-08T10:30:17+00:00","dateModified":"2025-09-22T07:11:13+00:00","mainEntityOfPage":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/"},"wordCount":1112,"commentCount":1,"publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"image":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365.png","keywords":["offline programming","RoboDK API","robot programming","robot simulation"],"articleSection":["offline programming","Online Programming","RoboDK API","robot programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/robodk.com\/blog\/robot-sdk\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/robodk.com\/blog\/robot-sdk\/","url":"https:\/\/robodk.com\/blog\/robot-sdk\/","name":"Why Should You Program With a Robot SDK? - RoboDK blog","isPartOf":{"@id":"https:\/\/robodk.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#primaryimage"},"image":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#primaryimage"},"thumbnailUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365.png","datePublished":"2018-06-08T10:30:17+00:00","dateModified":"2025-09-22T07:11:13+00:00","description":"What is a robot SDK? Should you use one? And how do you tell if one is good? Here are the 8 qualities of an excellent robot SDK.","breadcrumb":{"@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/robodk.com\/blog\/robot-sdk\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#primaryimage","url":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365.png","contentUrl":"https:\/\/robodk.com\/blog\/wp-content\/uploads\/2018\/06\/shutterstock_288042365.png","width":2440,"height":1628},{"@type":"BreadcrumbList","@id":"https:\/\/robodk.com\/blog\/robot-sdk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/robodk.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Why Should You Program With a Robot SDK?"}]},{"@type":"WebSite","@id":"https:\/\/robodk.com\/blog\/#website","url":"https:\/\/robodk.com\/blog\/","name":"RoboDK blog","description":"News about RoboDK, Industrial Robots, Simulation and Robot Programming","publisher":{"@id":"https:\/\/robodk.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/robodk.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/robodk.com\/blog\/#organization","name":"RoboDK","url":"https:\/\/robodk.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/robodk.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/mlhiwltxy5pk.i.optimole.com\/w:1920\/h:613\/q:mauto\/f:best\/https:\/\/robodk.com\/blog\/wp-content\/uploads\/2017\/12\/RoboDK-PNG.png","contentUrl":"https:\/\/mlhiwltxy5pk.i.optimole.com\/w:1920\/h:613\/q:mauto\/f:best\/https:\/\/robodk.com\/blog\/wp-content\/uploads\/2017\/12\/RoboDK-PNG.png","width":2128,"height":680,"caption":"RoboDK"},"image":{"@id":"https:\/\/robodk.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/robodkinc","https:\/\/x.com\/robodkinc","https:\/\/www.instagram.com\/robodk\/","https:\/\/www.linkedin.com\/company\/robodk","https:\/\/www.youtube.com\/c\/RoboDK3D"]},{"@type":"Person","@id":"https:\/\/robodk.com\/blog\/#\/schema\/person\/3ca2d3b921633adceba2740817765638","name":"Alex Owen-Hill","description":"Alex Owen-Hill is a freelance writer and public speaker who blogs about a large range of topics, including science, presentation skills at CreateClarifyArticulate.com, storytelling and (of course) robotics. He completed a PhD in Telerobotics from Universidad Politecnica de Madrid as part of the PURESAFE project, in collaboration with CERN. As a recovering academic, he maintains a firm foot in the robotics world by blogging about industrial robotics.","sameAs":["https:\/\/x.com\/AlexOwenHill"],"url":"https:\/\/robodk.com\/blog\/author\/alex-owen-hill\/"}]}},"_links":{"self":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/users\/753"}],"replies":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/comments?post=592"}],"version-history":[{"count":19,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/592\/revisions"}],"predecessor-version":[{"id":9785,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/posts\/592\/revisions\/9785"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media\/706"}],"wp:attachment":[{"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/media?parent=592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/categories?post=592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/robodk.com\/blog\/wp-json\/wp\/v2\/tags?post=592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}