Volt - ein neues Framework für Ruby, bei dem sowohl die Server- als auch die Client-Seite über OPAL (ein Ruby-JavaScript-Compiler) in Ruby geschrieben werden, so dass Entwickler dynamische Anwendungen schreiben können, ohne einen einzigen JavaScript-Code zu schreiben. Volt ist ähnlich wie Meteor, verfügt aber nicht über alle Teile von Meteor.
Die Grundeinstellung für Volt Framework
Installieren wir Volt und erstellen wir eine leere App. Stellen Sie sicher, dass Sie Ruby (>2.1.0) und Ruby-Gems installiert haben.
Volt Gem installieren:
gem install voltWir können ein neues Projekt mit dem volt gem erstellen:
volt new sample_projectStarten Sie den Webserver:
bundle exec volt serverWir können die Volt-Konsole mit aufrufen:
bundle exec volt konsoleDer Opal-Compiler In Volt-Anwendungen wird Ruby sowohl im Frontend als auch im Backend ausgeführt. 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ür das Frontend ist mit Volt sehr einfach. Der Opal-Compiler übersetzt 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ühren, läuft alles im Hintergrund ab. Bei Änderungen an Code und Daten ist kein Aktualisieren oder Neustart erforderlich. Aufrufen eines JavaScript-Alarms mit Ruby
# Aufrufen von JavaScript-Funktionen in Ruby Modul Main Klasse MainController < Volt::ModelController # Wird vom Frontend aufgerufen, wenn die Route "todos" geladen wird. def todos alert 'totes Erstaunen' end end endEinfache Synchronisierung über reaktive Modelle Konzentrieren Sie sich beim Erlernen von Volt mehr auf diesen Teil. Volt::Model fungiert als Hash-ähnliche 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ßerdem ist es ein einheitliches Mittel zur Synchronisierung von Daten zwischen lokalem Speicher, MangoDB, Cookies, Sessions und URL-Params. Sehen wir uns an, wie man eine Echtzeit-Chat-Anwendung mit Ruby und HTML erstellt:
# Erstellen Sie ein persistentes Datenmodell. Dieses wird in MongoDB gespeichert. Klasse ChatMessage < Volt::Model endCode anzeigen:
Vollständige Unterstützung von HTTP-Endpunkten Volt ist nicht nur für Echtzeit-Frameworks geeignet. Es bietet auch Workflows für die traditionelle HTTP-Anwendungsentwicklung. Sehen Sie sich ein Beispiel von GitHub an:{{ _chat_messages.each do |msg| }}
{{ msg._text }}
{{ end }}
#-Routen für HTTP-Endpunkt get '/simple_http', Steuerung: 'simple_http', Aktion: 'index' get '/simple_http/store', Steuerung: 'simple_http', Aktion: 'show' post '/simple_http/upload', controller: 'simple_http', aktion: 'hochladen' # Beispiel-Controller Klasse SimpleHttpController < Volt::HttpController def index render text: 'dies ist nur ein Text' end def show render text: "You had me at " "#{store._simple_http_tests.first._name}" end def upload uploaded = params[:file][:tempfile] File.open('tmp/uploaded_file', 'wb') do |f| f.write(uploaded.read) end render text: 'Danke fürs Hochladen' end endQuelle: Datamelon
Abonnieren Sie die neuesten Updates
zusammenhängende Posts