Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Learn Elm or Elixir First (or Both Simultaneously) ? #69

Closed
nelsonic opened this issue Nov 21, 2018 · 3 comments
Closed

Learn Elm or Elixir First (or Both Simultaneously) ? #69

nelsonic opened this issue Nov 21, 2018 · 3 comments
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality question A question needs to be answered before progress can be made on this issue technical A technical issue that requires understanding of the code, infrastructure or dependencies

Comments

@nelsonic
Copy link
Member

In light of the fact that the "PETE" stack having Two Programming Languages,
some people feel "stuck" with the question: "which one should I learn first?"

This is a good question and I feel it's worthy of having a detailed discussion to help people understand that there isn't a "right" or "wrong" answer; only the answer that "works" for you.

Both Elm and Elixir are "complete" languages that allow us to build entire apps.
I would recommend that people get a "taste" for both languages but depending on the type of app you are building, pick one to focus on. For example, I am building an app that relies on "Time" in the browser to display a clock in the browser, therefore Elm is my only option1. And that is the same for all Apps that require a "rich" user experience.

Focus on Elm and build a rich user experience.
If you need to persist data, post a comment below and I will help you get started!

1Note: Yes, I know this is going to be possible in "Phoenix LiveView" #68 but until that is released as "Alpha" I have to use a front-end tech for building my client apps. Also, "LiveView" will require server-side re-rendering, I want the app I'm currently building to be an "offline first" PWA.

@nelsonic nelsonic added enhancement New feature or enhancement of existing functionality question A question needs to be answered before progress can be made on this issue discuss Share your constructive thoughts on how to make progress with this issue technical A technical issue that requires understanding of the code, infrastructure or dependencies labels Nov 21, 2018
@sigu
Copy link

sigu commented Jan 17, 2019

Does elm allow someone to have PWA on the same app?

@nelsonic
Copy link
Member Author

@sigu good question. ❓
For now, there is no official way of doing server-side rendering with Elm.
So any App written in Elm is a client-side only App, i.e. Not a Progressive (Server-side Rendered) and client-side enhanced App.
This is why we use Elixir for our Server-side programming language (all our apps are rendered on the server) and then enhanced on the client.
In some cases we build our "backend" as an API and do all rendering on the Client,
but we prefer to build PWAs because sadly the client (browser) is not 100% consistent.
We still encounter users with Internet Explorer or JavaScript disabled.

@nelsonic
Copy link
Member Author

To simplify our stack, we've (reluctantly) removed Elm and instead are using LiveView as part of PETAL #87

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discuss Share your constructive thoughts on how to make progress with this issue enhancement New feature or enhancement of existing functionality question A question needs to be answered before progress can be made on this issue technical A technical issue that requires understanding of the code, infrastructure or dependencies
Projects
None yet
Development

No branches or pull requests

2 participants