The frontend for certain exposed functionality (getting input, showing a selector widget etc.) is provided via Juno.jl, which is a much more lightweight (and pure Julia) dependency.
For documentation on how the communication between client and server is handled, head on over to the developer documentation at atom-julia-client.
Note for developers
If any method signature has been added/changed after you modify the code base, it's better to add test cases against it and then update the precompilation file using SnoopCompile.jl against the test script, so that we can obtain better first time invocation of those methods.
To update the precompilation file, you just need to run the following command:
at the root of this package directory
λ julia --project=. --color=yes scripts/generate_precompile.jl