# Can I build webpages and especially dashboards in Julia

**URL:** <https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913>\
**Category:** General Usage\
**Created:** [May 15, 2018, 3:41pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913 "2018-05-15T15:41:24Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [May 15, 2018, 3:41pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/1 "2018-05-15T15:41:24Z")

</div>

I have no prior knowledge of the language yet I have heard a lot of good things about the language. but before I want to start it I want to know can I build web pages and dashboards in Julia.

If so what library should I learn.

---

<div class="post-metadata">

**Author:** ![rdeits](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rdeits/32/286_2.png) [@rdeits](https://discourse.julialang.org/u/rdeits)\
**Post date:** [May 15, 2018, 4:07pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/2 "2018-05-15T16:07:19Z")

</div>

Yes, definitely. There are a variety of web frameworks, but you might find [Genie.jl](https://github.com/essenciary/Genie.jl) or [Mux.jl](https://github.com/JuliaWeb/Mux.jl) useful.

[WebIO.jl](https://github.com/JuliaGizmos/WebIO.jl) also provides useful high-level tools for communications between browsers and Julia, and it works with Jupyter, Mux, and Blink (an electron wrapper) out of the box.

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [May 16, 2018, 5:59am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/3 "2018-05-16T05:59:49Z")

</div>

See some examples using WebIO at  
[https://github.com/lancebeet/julia-scripts](https://github.com/lancebeet/julia-scripts)

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [May 16, 2018, 11:44am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/4 "2018-05-16T11:44:55Z")

</div>

You can definitely use Genie to build an interactive dashboard - I built a simple one for JuliaCon last year:

> **[GitHub - essenciary/genie-demo-tweet-stats: Demo app for Genie, the highly...](https://github.com/essenciary/genie-demo-tweet-stats)**
>
> Demo app for Genie, the highly productive Julia web framework - GitHub - essenciary/genie-demo-tweet-stats: Demo app for Genie, the highly productive Julia web framework

[![](https://global.discourse-cdn.com/julialang/original/3X/c/9/c946d16af4b1540b8dd6062b80dfbe46977e27e9.jpeg "JuliaCon 2017 | Full Stack Web Development with Genie.jl | Adrian Salceanu") ](https://www.youtube.com/watch?v=b0r5Wqwp4pk)

That being said though, Genie is meant for professional web development: it makes it easy to, but it still requires writing both the backend (Julia) and the frontend (HTML, CSS, JS). If you have experience developing with web frameworks like Rails, Django, Express, etc you’ll feel right at home.

A UI layer for Genie, in the style of Shiny and Dash, is on the radar.

---

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [May 16, 2018, 1:54pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/5 "2018-05-16T13:54:57Z")

</div>

Also, check out this similar thread (from last month):

> [@Make a webapp framework/ecosystem as awesome as R's Shiny: a challenge to Julia's community](https://discourse.julialang.org/t/make-a-webapp-framework-ecosystem-as-awesome-as-rs-shiny-a-challenge-to-julias-community/9533/24):
>
> Ok, so no more bullshit! I actually made a Julia dash app relatively quickly. See: [Julia Dash Binder – Tetris Challenge](https://mybinder.org/v2/gh/djsegal/julia-dash/master?urlpath=apps%2FJulia%20Dash%20Binder.ipynb) You should now truly be in a good spot for forking this [project](https://github.com/djsegal/julia-dash) and making your own. As an aside, I think Julia would greatly benefit from package developers adopting a binder standard. Exploring a package’s functionality without downloading it is usually one of the few perks reserved for javascript.

* * *

_However, the main argument against a binder dash app would be the slow boot time_

---

<div class="post-metadata">

**Author:** ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)\
**Post date:** [June 25, 2018, 5:05pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/6 "2018-06-25T17:05:06Z")

</div>

I’ve started playing around with Binder + AppMode + WebIO and it’s actually very cool, thanks a lot for the example repo!

To understand the potential of this approach, I was curious to understand one thing: how easy it is to upload datasets to Binder? Say I make a notebook that has a file input widget, how easy would it be to set up a callback that uploads the data the user has locally to binder? With InteractBase there’s already a file input widget and I can easily add a javascript callback, but am unsure what that would look like.

---

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [June 25, 2018, 6:54pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/7 "2018-06-25T18:54:16Z")

</div>

Glad it helped!

@shashi do you have a quick answer to this before I look into it?

Also, do we know if InteractNext.jl works on binder yet?

---

<div class="post-metadata">

**Author:** ![piever](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/piever/32/1815_2.png) [@piever](https://discourse.julialang.org/u/piever)\
**Post date:** [June 25, 2018, 7:16pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/8 "2018-06-25T19:16:22Z")

</div>

I’m in the process of testing [InteractBase](https://discourse.julialang.org/t/ann-interactbase-a-redesign-of-interact-to-create-and-style-web-apps-in-julia/11471) on binder (the new version of InteractNext). It had some set up issues due to precompilation but it should be fixed with the (unmerged) latest release. I’ll let you know whether it works after the packages are released.

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [June 28, 2018, 9:20am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/9 "2018-06-28T09:20:09Z")

</div>

Is there any gitbook or any blog or anything where I can learn a step by step approach to this framework.

I would like to know more about it. the website is more like a dictionary you need to know what you are trying to search. I am trying to learn it as a beginner. What should I do?

please do reply…

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [June 28, 2018, 9:56am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/10 "2018-06-28T09:56:54Z")

</div>

@vikram-rawat I’m sorry, yes, I’m aware of the lacking documentation. The codebase has been a moving target with a lot of work going into new features and compatibility with latest Julia versions and changing and evolving dependencies.

Now it’s still in a state of heavy development due to migrating to Julia v0.7 and the HTTP stack (web server) - things can change and there can be bugs so definitely not beginner territory for the next couple of months.

Once this migration is complete though, the codebase will be stable until Julia 2.0. This will allow me to focus on user-facing work like documentation, guides, simple hosting, integration with UI libraries for building dashboards, Jupyter/IJulia workflows, etc. A realistic timeframe for these is more or less “the end of 2018”.

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [June 28, 2018, 10:10am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/11 "2018-06-28T10:10:31Z")

</div>

Thanks for such a quick response. That means I should wait for around an year to come back for a well documented MVC framework right?

Just in case it would be better if you could record a few beginner level youtube videos which won’t take too long but would get people like me get going who do not know anything about webpages (FYI i am from r background).

Thanks again. hope to see it flourish.

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [June 28, 2018, 10:25am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/12 "2018-06-28T10:25:41Z")

</div>

More like 6 months if things go by plan.

But maybe you can tell us what are you trying to achieve. Genie is indeed a full MVC framework which focuses on professional web app development. If you don’t need that, it could be that lighter Julia alternatives already exist - there are quite a few packages in the web development space.

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [June 28, 2018, 10:39am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/13 "2018-06-28T10:39:24Z")

</div>

I know shiny very well already. So for now I don’t need anything else. but R doesn’t have an MVC framework where anyone could build a multipage website easily. I am just trying to learn basic webapps in another language. Don’t want to go to python because it has same problems as R interpreted and everything.

So I was looking for alternative. I don’t have any usecase in mind. But I just want to learn a language where I could do almost everything if desire. that’s it.

Best of luck for your project. I will keep an eye on it.  
👏👏👏👏👏

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [August 25, 2018, 7:19am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/14 "2018-08-25T07:19:19Z")

</div>

I still have my fingers crossed for your documentation to come. Wouldn’t it be better if you ask anyone from the community to write document.

Please whenever it’s ready don’t exclude the documentation part.

😀😀😀😀

Wish you Luck

---

<div class="post-metadata">

**Author:** ![essenciary](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/essenciary/32/210469_2.png) [@essenciary](https://discourse.julialang.org/u/essenciary)\
**Post date:** [August 25, 2018, 9:40am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/15 "2018-08-25T09:40:19Z")

</div>

@vikram-rawat Thank you 🙂 Made good progress so far, a lot of work under the hood. Things are much better now, after the release of v0.7 and 1.0 as the ecosystem is catching up. Also, the new Pkg system is now mature enough so there’s a strong base to build upon. At the same time, switching over to HTTP.jl was a great step but a lot of work.

I’m now mostly going over all the modules and writing tests – once everything works and is tested I’ll move on to documentation and package publishing. Getting there 🙂

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [August 28, 2018, 4:04pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/16 "2018-08-28T16:04:34Z")

</div>

Way to go

Good luck buddy

Just make sure any dumb non programmer like me should be able to understand it. (Documentation).

😀😍

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [June 12, 2019, 5:32am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/17 "2019-06-12T05:32:56Z")

</div>

Now there is voila from jupyter

> **[And voilà!](https://blog.jupyter.org/and-voil%C3%A0-f6a2c08a4a93)**
>
> … from Jupyter notebooks to standalone applications and dashboards

---

<div class="post-metadata">

**Author:** ![vikram-rawat](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/vikram-rawat/32/2482_2.png) [@vikram-rawat](https://discourse.julialang.org/u/vikram-rawat)\
**Post date:** [July 6, 2019, 2:41am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/18 "2019-07-06T02:41:04Z")

</div>

Not exactly what I am looking for. But now I have moved to golang gin gonic. It’s fast and ready for production.

I think I have waited long enough to learn a new language.

---

<div class="post-metadata">

**Author:** ![arumugamav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/arumugamav/32/7654_2.png) [@arumugamav](https://discourse.julialang.org/u/arumugamav)\
**Post date:** [August 3, 2019, 7:05am UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/19 "2019-08-03T07:05:15Z")

</div>

An example for secured web app in genie, please!

---

<div class="post-metadata">

**Author:** ![hamoser](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hamoser/32/2207_2.png) [@hamoser](https://discourse.julialang.org/u/hamoser)\
**Post date:** [August 3, 2019, 9:05pm UTC](https://discourse.julialang.org/t/can-i-build-webpages-and-especially-dashboards-in-julia/10913/20 "2019-08-03T21:05:47Z")

</div>

Yes, that would be nice. And if you could throw in GraphQL/React or ReasonReact example it would be perfect (at least for me)!
