Volt – ett nytt ramverk för Ruby där både server- och klientsidan skrivs i Ruby via OPAL (en ruby to JavaScript-kompilator) så att utvecklare kan skriva dynamiska applikationer utan att skriva en enda JavaScript-kod. Volt liknar Meteor men den har inte alla delar av Meteor.
Grundinställningen för Volt Framework
Låt oss installera Volt och skapa en tom app. Se till att du har rubin (>2.1.0) och ruby ädelstenar installerade.
Installera Volt Gem:
gem installera voltVi kan skapa ett nytt projekt med hjälp av volt gem:
volt nytt sample_projectStarta webbservern:
bundle exec volt serverVi kan komma åt Volt-konsolen med:
bundle exec volt konsolOpalkompilatorn Volt-applikationer kör Ruby på både frontend och backend. Så puts-satsen i en kontrollåtgärd visas i webbläsarfönstret och inte i terminalkonsolen. Och även att skriva Ruby-kod för fronten med Volt är väldigt enkelt. Opalkompilatorn översätter Ruby till JavaScript. Det fantastiska med det är att det inte finns någon kompileringsprocess att följa och inga byggverktyg att installera. När du kör voltserver så sker allt i bakgrunden. Ingen uppdatering eller omstart behövs när du gör ändringar i kod och data. Ringer en JavaScript-varning med Ruby
# Anropar JavaScript-funktioner i Ruby-modulen Huvudklass MainController < Volt::ModelController # Anropas från fronten när "todos"-rutten laddas. def todos alert 'totes amaze' end end endEnkel synkronisering via reaktiva modeller Koncentrera dig mer på den här delen när du lär dig volt. Volt::Modell fungerar som hashliknande Ruby-objekt som synkroniseras mellan front- och bakänden samtidigt. Vanligtvis sker uppdateringar av modellen automatiskt. Konceptet "butiker" i Volt används för att synkronisera applikationsdata i beständiga och icke-beständiga former. Och även ett enhetligt sätt att synkronisera data mellan lokal lagring, MangoDB, cookies, sessioner och URL-parametrar. Låt oss kolla hur man skapar en chattapp i realtid med Ruby och HTML:
# Skapa en beständig datamodell. Detta lagras i MongoDB. klass ChatMessage < Volt::Modell slutVisa kod:
<:Kroppen>Fullständigt stöd för HTTP-ändpunkter Volt är inte bara för realtidsramverk. Det tillhandahåller också arbetsflöden för traditionell HTTP-applikationsutveckling. Kolla in ett exempel från GitHub:{{ _chat_messages.each do |msg| }}
{{ msg._text }}
{{ slutet }}
#-rutter för HTTP-slutpunkt får '/simple_http', controller: 'simple_http', action: 'index' får '/simple_http/store', controller: 'simple_http', action: 'show' post '/simple_http/upload', controller : 'simple_http', action: 'ladda upp' # Exempel på styrenhetsklass SimpleHttpController < Volt::HttpController def index render text: 'This is just some text' end def show render text: ”Du hade mig på ” ”#{store._simple_http_tests .first._name}” end def uploaded = params[:file][:tempfile] File.open('tmp/uploaded_file', 'wb') do |f| f.write(uploaded.read) end render text: 'Tack för uppladdningen' end endKälla: Datamelon
Prenumerera för de senaste uppdateringarna
relaterade inlägg