5 ms·
I have yet to do anything on my webapp that uses a JS framework (the minimal interactivity is raw JS and at most a touch of jQuery) precisely because I've yet t
by photojosh 9y ago
I have yet to do anything on my webapp that uses a JS framework (the minimal interactivity is raw JS and at most a touch of jQuery) precisely because I've yet to see a framework that I was somewhat confident would be relatively stable over the long term, say 10 years?
Something like "COBOL for the web" would be ideal. But if I were starting now I wouldn't choose Angular 1.x, would I? Any recommendations.
- carc1n0gen 9y agoI would. But that's only because it's what I've used at work for 2 years and I'm very confident with it now
- adjkant 9y agoAngular 1 has its flaws but I've found it to be pretty stable, has developed some pretty consistent paradigms, and gets certain jobs done well. Don't put the round peg in a square hole, but I think it serves many web apps well, particularly if you're going the SPA route and don't care too much about things like viewing without javascript or ultra fast load times. I used it first in a personal project, then in a job, and have used it after in a personal project. I think that says it's at least not the worst. I've wanted to look into Vue and React for some time but I'm mostly a back end developer. Angular is getting the job done to the point that I haven't been forced to switch.
- photojosh 9y agoMy position exactly: backend developer who only wants to do the minimum on the frontend. But for the next stage of the system (rich media streaming), it will require a whole lot more interactivity on the front end and the time has come to decide on something! I'm leaning towards Vue because it seems easier to grok as a solo developer while still having plenty of power and support... but I'm indecisive!
- adjkant 9y agoThe cases for each personally: Vue - It's been described as "Angular 1 without the flaws" before to me. I think it'd probably be the easiest transition. It also seems to have the advantage of being able to be sprinkled in lightly or heavily, dealers choice. React - As someone who loves functional programming, Redux immediately clicked for me, and I do enjoy that idea of state. However, it seems like a lot more work to learn it coming from Angular 1 for someone who is doing the minimum front-end and when it comes to any serious project will be working with a true front end developer. I'm just hearing of Moon obviously but I'll be keeping an eye out for the name when I am forced to switch from Angular 1.
- 52-6F-62 9y agoAs somebody who does a mix of front end and back end fairly regularly, I think you're pretty on the nose here. If I can extend a little further, React is favoured (outside of the potential as a state machine) as the front-runner in isomorphic front-end apps. Of course there are also some lighter-weight similar frameworks like InfernoJS, and Preact, but React is certainly the one with the largest community and more robust support. If you're looking for mainly UI event handling, 2 way binding, etc, Vue is extremely capable and will probably keep your fingers (and maybe mind) a little cleaner. It can take a lot of the load and repetitive work out of developing that end. If you're looking to build out a UI with a large number of repeating elements, again state-handling, then I have to say I love working with React. It even caused me to change my way of thinking toward building out framework-less front end applications. Another plus with React is the large number of pre-built UI design frameworks and components that you can simply drop in everywhere and modify to the extent you really need to, if at all. As for media streaming, HLS.js (https://github.com/video-dev/hls.js https://github.com/video-dev/hls.js) is a dream tool! There are some tricky bits to figure out that aren't documented overly well (like where the ID3 data is hiding amongst a single Uint8 array that has to be encoded and spliced), but the demuxer works like a dream without a heavy load increase and the event system is easy enough to work through. That is if you're building out your own custom player. I work at a media company and had to build out a custom player to diagnose some issues with stream metadata coming from a number of radio stations through a series of nodes (with no streaming media experience at that level previously) and I was able to get it up and running inside of a day or two.
- CuriousSkeptic 9y agoBest advice is probably to prepare for a lot of front end. Doing "the minimum" takes considerable skill and experience. Angular 1 or 2 makes some things simple by providing a proper "framework" in the place-logic-here sense. OTOH it can also be constraining because anything not matching that framework will be almost impossible to force in. And when things gets a little more advanced than the todo-app you suddenly have to learn lots of complex parts of the framework at once. React falls on the other end. Things stay relatively simple from todo and up, so easy to grow with. But there is no framework and no real consensus, so you need to evaluate a lot of debates and variations on how to approach things to move forward, this can require a lot more experience.
- jhall1468 9y agoA web app beyond trivial has to have a framework, if you don't use one than you built one and are now maintaining both the app and the framework. I wouldn't call an app with "minimal interactivity" an app, anymore than I'd call a newspaper interactive reading material.
- photojosh 9y agoMy system is a number of independent components that are each individually simple enough to not require a framework, and don't share any common code. It's only a few hundred lines of JS and jQuery. One of the components is a keypad and display for a judge to enter scores... basically a web-connected traditional calculator in its design. :) So "minimally interactive" is probably a poor description on my part; it's nothing but interactions, just really simple ones.