Gareth Ari Aye
2017-10-10 19:06:00 UTC
Hi Elm Discuss!
My name is Ari and I'm a graduate student in ML at Columbia University.
Last year I created https://latexbase.com to make it easier for students
like me to experiment with LaTeX. As far as applications that run in the
browser go, LaTeX Base is quite complex (and 95% of the complexity lives
client-side). For example, it uses
* emscripten to cross-compile a native LaTeX-to-pdf typesetter to asm.js
* web workers to decouple LaTeX compilation from the main ui thread
* service workers to power offline editing
* ace editor for source editing
* pdfjs for pdf rendering
* react and redux for managing components and application state
* browser APIs such as TypedArray and TextDecoder for handling binary data
for file uploads, downloads, cloud sync, etc
* localForage to persist some application data client-side
LaTeX Base now has a much larger userbase than I anticipated and I'm
looking to improve user experience by reducing the number of crashes and js
bugs users run into out in the wild. Elm seems like a great choice, but I'm
concerned about the js interop story since LaTeX Base has so many hard
dependencies on newer platform APIs and large js libraries (like ace,
pdfjs, and localForage).
Does anyone have experiences to share around using Elm in the context of a
great number of complex platform and js dependencies? How involved would it
be to abstract these non-elm dependencies behind ports? Is there a tool
analogous to caniuse.com that would let me easily figure out which platform
APIs have already been packaged up nicely for elm usage?
Normally I would just start coding and see where I get but came across
Evan's talk from Elm conf last year that suggested elm-discuss as a
starting point :). Would appreciate hearing any suggestions or tips you all
have to share.
Best,
Ari
@lambdabaa <https://twitter.com/lambdabaa>
My name is Ari and I'm a graduate student in ML at Columbia University.
Last year I created https://latexbase.com to make it easier for students
like me to experiment with LaTeX. As far as applications that run in the
browser go, LaTeX Base is quite complex (and 95% of the complexity lives
client-side). For example, it uses
* emscripten to cross-compile a native LaTeX-to-pdf typesetter to asm.js
* web workers to decouple LaTeX compilation from the main ui thread
* service workers to power offline editing
* ace editor for source editing
* pdfjs for pdf rendering
* react and redux for managing components and application state
* browser APIs such as TypedArray and TextDecoder for handling binary data
for file uploads, downloads, cloud sync, etc
* localForage to persist some application data client-side
LaTeX Base now has a much larger userbase than I anticipated and I'm
looking to improve user experience by reducing the number of crashes and js
bugs users run into out in the wild. Elm seems like a great choice, but I'm
concerned about the js interop story since LaTeX Base has so many hard
dependencies on newer platform APIs and large js libraries (like ace,
pdfjs, and localForage).
Does anyone have experiences to share around using Elm in the context of a
great number of complex platform and js dependencies? How involved would it
be to abstract these non-elm dependencies behind ports? Is there a tool
analogous to caniuse.com that would let me easily figure out which platform
APIs have already been packaged up nicely for elm usage?
Normally I would just start coding and see where I get but came across
Evan's talk from Elm conf last year that suggested elm-discuss as a
starting point :). Would appreciate hearing any suggestions or tips you all
have to share.
Best,
Ari
@lambdabaa <https://twitter.com/lambdabaa>
--
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "Elm Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elm-discuss+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.