GithubHelp home page GithubHelp logo

Comments (6)

waralex avatar waralex commented on July 3, 2024

At master:

run_server(app[, "0.0.0.0", 8080, debug=true])

make_handler still exists, but removed from the public api

from dash.jl.

rpkyle avatar rpkyle commented on July 3, 2024

At master:

run_server(app[, "0.0.0.0", 8080, debug=true])

make_handler still exists, but removed from the public api

Since we've gone ahead with providing app.layout =, is it possible to provide a similar interface here? For example:

app.run_server("0.0.0.0", 8080, debug=true)

This would arguably be more consistent with both app.layout as well as the Python and R interface.

from dash.jl.

waralex avatar waralex commented on July 3, 2024

Since we've gone ahead with providing app.layout =, is it possible to provide a similar interface here?

It's not similar. app.layout = .. is setting the property, app.run_server is the method call. Julia doesn't have methods encapsulated with structures, i.e. there are no classes that you are trying to see :) - this is one of the key design elements of this language. In fact, app. layout = ... is a strange solution from Julia's point of view too. It is much more logical to use ' layout!()`

app.run_server("0.0.0.0", 8080, debug=true)

It looks like "let's write Python on Julia". This, of course, is possible, because Julia is much more powerful and flexible than Python, but we have a different task, don't we?

from dash.jl.

rpkyle avatar rpkyle commented on July 3, 2024

Since we've gone ahead with providing app.layout =, is it possible to provide a similar interface here?

It's not similar. app.layout = .. is setting the property, app.run_server is the method call. Julia doesn't have methods encapsulated with structures, i.e. there are no classes that you are trying to see :) - this is one of the key design elements of this language. In fact, app. layout = ... is a strange solution from Julia's point of view too. It is much more logical to use ' layout!()`

app.run_server("0.0.0.0", 8080, debug=true)

It looks like "let's write Python on Julia". This, of course, is possible, because Julia is much more powerful and flexible than Python, but we have a different task, don't we?

A similar situation has occurred when using R as well -- the syntax for app$callback in R passes the callback function in as an argument, since base R lacks decorator methods (not counting the tinsel package), while Python supports them.

I think you're correct that we want to avoid providing Julia users an interface that will appear entirely alien to them, even if it means that the syntax is even more distinct from the original implementation than the one R currently provides.

If run_server(app[, "0.0.0.0", 8080, debug=true]) is most intuitive for Julia users, I'd be inclined to go with that, even if it looks strange to a more experienced Dash user/developer.

I'm curious if @alexcjohnson or @chriddyp have other thoughts.

from dash.jl.

waralex avatar waralex commented on July 3, 2024

If a Dash user starts using it in Julia, they will need to master Julia anyway. Even if the Dash api is 1 in 1 like in Python, it needs to learn the principles and ideology of Julia in order to work with the data that is used in the dashboard, for example. And if Dash is different from Julia's standards for being like in Python, it will be much more of a hindrance than a help

from dash.jl.

rpkyle avatar rpkyle commented on July 3, 2024

Thanks for adding run_server, this looks great as-is. I'm going to close this issue, since I think we're all set here. 💃

from dash.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.