VueJS.jl is a Julia package that facilitates the creation of reactive, interactive web applications by leveraging the Vue.js (v3) framework directly from Julia. It allows you to combine the flexibility and simplicity of Vue.js with the computational power of Julia, making it an excellent tool for building dynamic web applications with ease. It uses Vuetify (v3) as main Vue Framework, but also leverages on Echarts through Julia Namtso package and others. The main philosofy is to pass through to the frameworks all of the introduced arguments with several automations and special cases.
The package can be installed with Julia's package manager,
either by using the Pkg REPL mode (press ]
to enter):
pkg> add VueJS
or by using Pkg functions
julia> using Pkg; Pkg.add("VueJS")
See Documentation (that is created using VueJS!) for additional examples.
using HTTP,VueJS,Sockets
function home(req::HTTP.Request)
@el(slider,"v-slider",value=20,label="Use Slider",cols=4)
@el(sel,"v-select",items=["red","green","blue"],label="Select Color",value="red")
@el(chip,"v-chip",text-color="white",
binds=Dict("content"=>"slider.value","color"=>"sel.value"))
tx=html("h2","{{slider.value}}")
return response(page([slider,sel,[chip,tx]]))
end
const ROUTER = HTTP.Router()
HTTP.@register!(ROUTER, "GET", "/home", home)
HTTP.serve(ROUTER,Sockets.getipaddr(), 80)