To get it out of the way: Yes this approach implies lock-in to a specific programming language and framework, even if it's not JavaScript; although the approach could theoretically be copied to...
To get it out of the way: Yes this approach implies lock-in to a specific programming language and framework, even if it's not JavaScript; although the approach could theoretically be copied to other languages and frameworks. And no, it doesn't allow you to do everything you could do with a JavaScript client-side framework, such as offline webapps which they mention in the article.
For people already using Phoenix Framework, this seems pretty amazing for reducing the amount of code needed to write common client-server interactions, while also decreasing the amount of data sent over the wire thanks to intelligent diffs.
That is important to note. I do like their table at the bottom showing how lightweight this solution is on the client side, compared to some of the popular JS frameworks. 29K versus Vue's 88K,...
That is important to note. I do like their table at the bottom showing how lightweight this solution is on the client side, compared to some of the popular JS frameworks. 29K versus Vue's 88K, React's 112K, Ember's 468K.
To get it out of the way: Yes this approach implies lock-in to a specific programming language and framework, even if it's not JavaScript; although the approach could theoretically be copied to other languages and frameworks. And no, it doesn't allow you to do everything you could do with a JavaScript client-side framework, such as offline webapps which they mention in the article.
For people already using Phoenix Framework, this seems pretty amazing for reducing the amount of code needed to write common client-server interactions, while also decreasing the amount of data sent over the wire thanks to intelligent diffs.
No matter what you choose you will have lock-in to the framework or language you use.
It should be noted that this still requires browsers to run javascript. You only use their one JS library to interact with the websocket, though.
That is important to note. I do like their table at the bottom showing how lightweight this solution is on the client side, compared to some of the popular JS frameworks. 29K versus Vue's 88K, React's 112K, Ember's 468K.