Giter Club home page Giter Club logo

Comments (5)

davidanthoff avatar davidanthoff commented on August 25, 2024 1

If this is going to be done, shouldn't it be separate from juliaup?

Yes, at least initially I definitely think so. If something emerges that is super reliable and feature complete etc I could imagine that we bundle it down the road with the stuff here, but I'm more thinking years than months ;)

I think architecturally what we need is to expand the API that we have in Juliaup already to cover all the cases that a UI needs, and then the UI can use that under the hood to implement the actual functionality. VS Code could then also expand its integration with Juliaup via the same API (it already uses the current, pretty meager API to find Julia versions).

from juliaup.

diversable avatar diversable commented on August 25, 2024

Is there still interest in this issue? If so, I could look into using Tauri (https://tauri.app) to implement a simple GUI for managing julia versions w/ juliaup...

from juliaup.

StefanKarpinski avatar StefanKarpinski commented on August 25, 2024

If this is going to be done, shouldn't it be separate from juliaup? The command line tool seems like it should be as simple and reliable as possible, which is very much at odds with having a GUI.

from juliaup.

diversable avatar diversable commented on August 25, 2024

I've already been experimenting with adding a GUI using a separate repo, as you suggest. It's still extremely experimental - I'm having some issues w/ Tauri spinning up a Rust embedded Julia runtime using Jlrs, which provides access to the Julia C API - but I'll get that figured out eventually (I need to sort that out with the Tauri dev team soon, 'cause it works fine as a plain Rust CLI).

My current line of thinking is to create a GUI that can both install a version of Julia using juliaup, as well as provide a GUI + much simplified cmd line interface sub-commands for Pkg.jl, PkgTemplates, & PkgCompiler as well (Tauri enables making GUI's, and can make a CLI for your app too). I'd like Julia users to have one simple, visual & non-repl-based cli tool to 1) install julia, 2) set up a project & add dependencies, and 3) prepare to deploy their finished project.

Features would include:

  • install Julia versions & switch between them (GUI + cmd line)
  • generate new packages, which could either be a new binary project (generate default files that make creating a julia binary with PkgCompiler dead simple) or a new library-style package (drawing from some pre-existing PkgTemplates)
  • add, update, delete, and list packages in projects (+ other basic commands as necessary) (using commands from Pkg.jl)
  • open the package / project in VSCode
  • compile the user's binary or publish their package

I'm not sure if I'll be able to convince the necessary Julia package authors to cooperate to make the required changes to enable the GUI functionality, but I'd like to try!

I think that using Julia as a person's first introduction to programming would be an excellent use case for the Julia language community to serve better, but the tooling and the language docs are not really set up for the 'complete beginner' right now (if your primary goal with Julia is anything other than interactive repl data science use). If beginner-level scripting, web dev, and app dev are your main goals, then an editor like VSCode is easier to work with (imho).

I'm hoping this GUI project (which I'm tentatively calling "gaston" - as in Gaston Julia) could help new users more easily navigate Julia's tooling & allow beginners to focus on the code in the editor (and primarily use the repl for testing code and working with data in data science workflows). Basically, I'm shooting for the equivalent of Rust-lang's rustup and cargo, but in an all-in-one GUI + cmd-line app.

Thoughts? Suggestions? Recommendations? Should I pursue a different hobby project, or do you think there would be a desire for a tool like this?

from juliaup.

uncomfyhalomacro avatar uncomfyhalomacro commented on August 25, 2024

As I am exploring some issues here and there, I noticed this. I think this is a good idea for new users (or some users) that do not like to setup/manage/update a project or a julia version through the CLI. It's worth noting there are a lot of possible GUI frameworks we can use in Rust.

  • gtk-rs
  • iced-rs
  • tauri
  • slint

All of these are platform agnostic. Slint and tauri seems promising though.

from juliaup.

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.