Udash فریمورکی برای زبان اسکالا است که دولوپرها با استفاده از آن خواهند توانست دست به ساخت وب اپلیکیشن بزنند. همچنین این فریمورک به صورت پیشفرض از یک سیستم Remote Procedure Call یا به اختصار RPC برخوردار است که به منزلهٔ پروتکلی است که با استفاده از آن و از طریق WebSocket، وب اپلیکیشن قادر خواهد بود تا به دیگر سرویسها متصل گردد.
آشنایی با قابلیتهای فریمورک Udash
این فریمورک برای آنکه بتواند فرایند توسعه را سرعت بخشد، یکسری قابلیتها را در اختیار دولوپرها گذاشته است که در ادامه برخی از شاخصترین آنها را برخواهیم شمرد (لازم به ذکر است هر IDE که زبان اسکالا را ساپورت کند، این فریمورک را نیز ساپورت کرده و نیاز به نصب هیچگونه پلاگین خاصی نیست).
Udash با ادغام لایبرریهای Scalatags و ScalaCSS، لایهای به اصطلاح Type-safe روی کدهای CSS ،HTML و JS اعمال میکند که از آن طریق دولوپر به سادگی قادر خواهد بود تا دیتای مد نظر خود را به DOM منتقل کند و این در حالی است که رابط کاربری به صورت خودکار با دیتا مدل سینک خواهد شد (همچنین به سادگی میتوان از این فریمورک در کنار Bootstrap یا jQuery استفاده کرد).
با استفاده از این فریمورک، گرچه کدهای اسکالا به جاوااسکریپت کامپایل میشوند، اما این در حالی است که دولوپر هیچ نیازی به مدیریت کدهای جاوااسکریپت ندارد (برای آشنایی بیشتر با زبان اسکالا، به مقالهٔ آشنایی با زبان برنامهنویسی Scala مراجعه نمایید).
ایجاد Hello World با استفاده از Udash
برای آشنایی با سینتکس این فریمورک، در ادامه قصد داریم برنامهٔ سادهٔ Hello World را با این فریمورک کدنویسی کنیم:
import io.udash._
import io.udash.css.CssView._
import io.udash.bootstrap._
import io.udash.bootstrap.alert._
import io.udash.bootstrap.button._
import io.udash.bootstrap.form._
import io.udash.bootstrap.modal._
import io.udash.bootstrap.utils._
import org.scalajs.dom
val name = Property("Udash")
UdashJumbotron(
div(BootstrapStyles.container)(
UdashBootstrap.loadBootstrapStyles(),
h1("Welcome to Udash!"),
UdashForm(
UdashForm.textInput()("Type your name: ")(name),
UdashAlert.success("Hello, ", b(bind(name)), "!").render
).render
)
).render
همچنین لازم به ذکر است که توسعهدهندگان Udash قابلیت طراحی سایتهای چندزبانه را در این فریمورک #اپنسورس و رایگان فراهم کردهاند.