{"id":7879,"date":"2016-04-28T11:36:36","date_gmt":"2016-04-28T11:36:36","guid":{"rendered":"https:\/\/dev.railscarma.com\/volt-new-framework-ruby\/"},"modified":"2021-06-06T12:32:22","modified_gmt":"2021-06-06T12:32:22","slug":"volt-neues-rahmenwerk-ruby","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/volt-neues-rahmenwerk-ruby\/","title":{"rendered":"Volt - Ein neues Framework f\u00fcr Ruby"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"7879\" class=\"elementor elementor-7879\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4a33742 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4a33742\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-725e4982\" data-id=\"725e4982\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ac9e64b elementor-widget elementor-widget-text-editor\" data-id=\"ac9e64b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tVolt - ein neues Framework f\u00fcr Ruby, bei dem sowohl die Server- als auch die Client-Seite \u00fcber OPAL (ein Ruby-JavaScript-Compiler) in Ruby geschrieben werden, so dass Entwickler dynamische Anwendungen schreiben k\u00f6nnen, ohne einen einzigen JavaScript-Code zu schreiben. Volt ist \u00e4hnlich wie Meteor, verf\u00fcgt aber nicht \u00fcber alle Teile von Meteor.\n\n<strong>Die Grundeinstellung f\u00fcr Volt Framework<\/strong>\n\nInstallieren wir Volt und erstellen wir eine leere App. Stellen Sie sicher, dass Sie Ruby (&gt;2.1.0) und Ruby-Gems installiert haben.\n\n<strong>Volt Gem installieren:<\/strong>\n<blockquote>gem install volt<\/blockquote>\nWir k\u00f6nnen ein neues Projekt mit dem volt gem erstellen:\n<blockquote>volt new sample_project<\/blockquote>\nStarten Sie den Webserver:\n<blockquote>bundle exec volt server<\/blockquote>\nWir k\u00f6nnen die Volt-Konsole mit aufrufen:\n<blockquote>bundle exec volt konsole<\/blockquote>\n<strong>Der Opal-Compiler<\/strong>\n\nIn Volt-Anwendungen wird Ruby sowohl im Frontend als auch im Backend ausgef\u00fchrt. So erscheint die Put-Anweisung in einer Controller-Aktion im Browserfenster und nicht in der Terminal-Konsole. Und auch das Schreiben von Ruby-Code f\u00fcr das Frontend ist mit Volt sehr einfach. Der Opal-Compiler \u00fcbersetzt Ruby in JavaScript. Das Erstaunliche daran ist, dass es keinen Kompilierungsprozess zu befolgen und keine Build-Tools zu installieren gibt. Wenn Sie Volt Server ausf\u00fchren, l\u00e4uft alles im Hintergrund ab. Bei \u00c4nderungen an Code und Daten ist kein Aktualisieren oder Neustart erforderlich.\n\n<strong>Aufrufen eines JavaScript-Alarms mit Ruby<\/strong>\n<blockquote># Aufrufen von JavaScript-Funktionen in Ruby\nModul Main\nKlasse MainController &lt; Volt::ModelController\n# Wird vom Frontend aufgerufen, wenn die Route &quot;todos&quot; geladen wird.\ndef todos\nalert &#039;totes Erstaunen&#039;\nend\nend\nend<\/blockquote>\n<strong>Einfache Synchronisierung \u00fcber reaktive Modelle<\/strong>\n\nKonzentrieren Sie sich beim Erlernen von Volt mehr auf diesen Teil. Volt::Model fungiert als Hash-\u00e4hnliche Ruby-Objekte, die gleichzeitig zwischen dem Front-End und dem Back-End synchronisiert werden. Normalerweise werden Aktualisierungen des Modells automatisch vorgenommen. Das Konzept der \"Stores\" in Volt wird verwendet, um Anwendungsdaten in persistenter und nicht-persistenter Form zu synchronisieren. Au\u00dferdem ist es ein einheitliches Mittel zur Synchronisierung von Daten zwischen lokalem Speicher, MangoDB, Cookies, Sessions und URL-Params.\n\n<strong>Sehen wir uns an, wie man eine Echtzeit-Chat-Anwendung mit Ruby und HTML erstellt:<\/strong>\n<blockquote># Erstellen Sie ein persistentes Datenmodell. Dieses wird in MongoDB gespeichert.\nKlasse ChatMessage &lt; Volt::Model\nend<\/blockquote>\n<strong>Code anzeigen:<\/strong>\n<blockquote><ul>\n{{ _chat_messages.each do |msg| }}\n<ul>\n<button>X<\/button>\n{{ msg._text }}\n<\/ul>\n{{ end }}\n<\/ul><\/blockquote>\n<strong>Vollst\u00e4ndige Unterst\u00fctzung von HTTP-Endpunkten<\/strong>\n\nVolt ist nicht nur f\u00fcr Echtzeit-Frameworks geeignet. Es bietet auch Workflows f\u00fcr die traditionelle HTTP-Anwendungsentwicklung. Sehen Sie sich ein Beispiel von GitHub an:\n<blockquote>#-Routen f\u00fcr HTTP-Endpunkt\nget '\/simple_http',\nSteuerung: 'simple_http', Aktion: 'index'\n\nget '\/simple_http\/store',\nSteuerung: 'simple_http', Aktion: 'show'\n\npost '\/simple_http\/upload',\ncontroller: 'simple_http', aktion: 'hochladen'\n\n# Beispiel-Controller\n\nKlasse SimpleHttpController &lt; Volt::HttpController\ndef index\nrender text: &#039;dies ist nur ein Text&#039;\nend\n\ndef show\nrender text: &quot;You had me at &quot;\n&quot;#{store._simple_http_tests.first._name}&quot;\nend\n\ndef upload\nuploaded = params[:file][:tempfile]\nFile.open(&#039;tmp\/uploaded_file&#039;, &#039;wb&#039;) do |f|\nf.write(uploaded.read)\nend\nrender text: &#039;Danke f\u00fcrs Hochladen&#039;\nend\nend<\/blockquote>\nQuelle: Datamelon\n<div id=\"s3gt_translate_tooltip_mini\" class=\"s3gt_translate_tooltip_mini_box\" style=\"background: initial ! important; border: initial ! important; border-radius: initial ! important; border-spacing: initial ! important; border-collapse: initial ! important; direction: ltr ! important; flex-direction: initial ! important; font-weight: initial ! important; height: initial ! important; letter-spacing: initial ! important; min-width: initial ! important; max-width: initial ! important; min-height: initial ! important; max-height: initial ! important; margin: auto ! important; outline: initial ! important; padding: initial ! important; position: absolute; table-layout: initial ! important; text-align: initial ! important; text-shadow: initial ! important; width: initial ! important; word-break: initial ! important; word-spacing: initial ! important; overflow-wrap: initial ! important; box-sizing: initial ! important; display: initial ! important; color: inherit ! important; font-size: 13px ! important; font-family: X-LocaleSpecific,sans-serif,Tahoma,Helvetica ! important; line-height: 13px ! important; vertical-align: top ! important; white-space: inherit ! important; left: 102px; top: 2774px; opacity: 0.8;\">\n<div id=\"s3gt_translate_tooltip_mini_logo\" class=\"s3gt_translate_tooltip_mini\" title=\"Ausgew\u00e4hlten Text \u00fcbersetzen\"><\/div>\n<div id=\"s3gt_translate_tooltip_mini_sound\" class=\"s3gt_translate_tooltip_mini\" title=\"Spielen\"><\/div>\n<div id=\"s3gt_translate_tooltip_mini_copy\" class=\"s3gt_translate_tooltip_mini\" title=\"Text in die Zwischenablage kopieren\"><\/div>\n<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-20930685 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"20930685\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-34c62552\" data-id=\"34c62552\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-557484ec elementor-widget elementor-widget-heading\" data-id=\"557484ec\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Abonnieren Sie die neuesten Updates<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c1b75fc elementor-widget elementor-widget-shortcode\" data-id=\"1c1b75fc\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"Lader\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"c645c7487f\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"E-Mail-Adresse\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Name\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Abonnieren\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"de\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">zusammenh\u00e4ngende Posts<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Kaminari-Juwel\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Kaminari-Juwel\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/kaminari-juwel\/?related_post_from=37277\">\r\n        Kaminari-Juwel  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Warum sollte man im Jahr 2022 Ruby-on-Rails-Entwickler einstellen?\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/warum-sollte-man-ruby-on-rails-entwickler-engagieren\/?related_post_from=30627\">\r\n        Warum sollte man im Jahr 2026 Ruby on Rails-Entwickler anheuern?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/bedeutung-der-softwarearchitektur-bei-der-entwicklung-von-unternehmenssoftware\/?related_post_from=36250\">\r\n        Bedeutung der Softwarearchitektur in der Entwicklung von Unternehmenssoftware  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"BESTE IDEEN F\u00dcR DIE RUBY ON RAILS-ENTWICKLUNG\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung\" href=\"https:\/\/www.railscarma.com\/de\/blog\/ror\/ruby-idee-die-besten-ideen-fur-die-ruby-on-rails-entwicklung\/?related_post_from=36125\">\r\n        Ruby IDE: Die besten IDEs f\u00fcr die Ruby on Rails-Entwicklung  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Volt &#8211; a new Framework for Ruby&nbsp;where both the server and client sides are written in Ruby via OPAL (a ruby to JavaScript compiler) so developer can write dynamic applications without writing a single JavaScript code. Volt is similar to Meteor but it doesn&#8217;t have all the portions of Meteor. The Basic Setup for Volt &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/de\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">API-Integrationsl\u00f6sungen von Drittanbietern in Ruby on Rails<\/span> Weiterlesen \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31929,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[668,669],"class_list":["post-7879","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-ruby-framework","tag-volt"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Volt - A New Framework for Ruby<\/title>\n<meta name=\"description\" content=\"Volt - A New Framework for Ruby where both the server and client sides are written in Ruby via OPAL (a ruby to JavaScript compiler).\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/volt-neues-rahmenwerk-ruby\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Volt - A New Framework for Ruby\" \/>\n<meta property=\"og:description\" content=\"Volt - A New Framework for Ruby where both the server and client sides are written in Ruby via OPAL (a ruby to JavaScript compiler).\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/volt-neues-rahmenwerk-ruby\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-04-28T11:36:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-06T12:32:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Volt \u2013 A New Framework for Ruby\",\"datePublished\":\"2016-04-28T11:36:36+00:00\",\"dateModified\":\"2021-06-06T12:32:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/\"},\"wordCount\":526,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg\",\"keywords\":[\"ruby framework\",\"volt\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/\",\"name\":\"Volt - A New Framework for Ruby\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg\",\"datePublished\":\"2016-04-28T11:36:36+00:00\",\"dateModified\":\"2021-06-06T12:32:22+00:00\",\"description\":\"Volt - A New Framework for Ruby where both the server and client sides are written in Ruby via OPAL (a ruby to JavaScript compiler).\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Volt \u2013 A New Framework for Ruby\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Volt - Ein neues Framework f\u00fcr Ruby","description":"Volt - Ein neues Framework f\u00fcr Ruby, bei dem sowohl die Server- als auch die Client-Seite \u00fcber OPAL (ein Ruby-JavaScript-Compiler) in Ruby geschrieben werden.","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:\/\/www.railscarma.com\/de\/blog\/fachartikel\/volt-neues-rahmenwerk-ruby\/","og_locale":"de_DE","og_type":"article","og_title":"Volt - A New Framework for Ruby","og_description":"Volt - A New Framework for Ruby where both the server and client sides are written in Ruby via OPAL (a ruby to JavaScript compiler).","og_url":"https:\/\/www.railscarma.com\/de\/blog\/fachartikel\/volt-neues-rahmenwerk-ruby\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2016-04-28T11:36:36+00:00","article_modified_time":"2021-06-06T12:32:22+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Verfasst von":"admin","Gesch\u00e4tzte Lesezeit":"3\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Volt \u2013 A New Framework for Ruby","datePublished":"2016-04-28T11:36:36+00:00","dateModified":"2021-06-06T12:32:22+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/"},"wordCount":526,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg","keywords":["ruby framework","volt"],"articleSection":["Technical Articles"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/","name":"Volt - Ein neues Framework f\u00fcr Ruby","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg","datePublished":"2016-04-28T11:36:36+00:00","dateModified":"2021-06-06T12:32:22+00:00","description":"Volt - Ein neues Framework f\u00fcr Ruby, bei dem sowohl die Server- als auch die Client-Seite \u00fcber OPAL (ein Ruby-JavaScript-Compiler) in Ruby geschrieben werden.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2016\/04\/volt_framework.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/volt-new-framework-ruby\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Volt \u2013 A New Framework for Ruby"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma \u2013 Ruby on Rails-Entwicklungsunternehmen, spezialisiert auf Offshore-Entwicklung","description":"RailsCarma ist ein Ruby on Rails-Entwicklungsunternehmen in Bangalore. Wir sind auf die Offshore-Ruby-on-Rails-Entwicklung mit Sitz in den USA und Indien spezialisiert. Stellen Sie erfahrene Ruby on Rails-Entwickler f\u00fcr das ultimative Web-Erlebnis ein.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"SchienenCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"Administrator","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/7879","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/comments?post=7879"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/posts\/7879\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media\/31929"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/media?parent=7879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/categories?post=7879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/de\/wp-json\/wp\/v2\/tags?post=7879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}