|
You are not going insane.
modified 20-Oct-19 21:02pm.
|
|
|
|
|
These feelings of being overwhelmed by the plethora of JS libraries are normal and will pass.
They pass because you will learn to ignore a lot of the noise.
I think the main thing to keep in mind is :
Quote: Developers need to make conscious decisions about the frameworks they depend on
With JS frameworks, we often find that someone has just piled on another library.
Also, many newbie devs learn some JS think it is enough and then want JS everywhere (ala Node).
That is the old, "If all I got is a hammer..." mentality.
JS Waxy Build-up
Some of the JS waxy build-up does actually make sense.
Keep in mind we need a library for :
UI (controls etc) : Bootstrap
DOM Manipulation : jQuery
Code Organization / MVC / Classic OOP : Angular, Backbone, etc.
Anti-Desktop Days
You just don't see those libraries (as much) if you're a Windows dev because they are automatically added for you. Really take a look at the designer code to your winforms some time. Or take a close look at what you get from user32.dll sometime.
You get a lot of stuff in there that is built-in.
MVC Framework :Separation of Concerns
The reason we choose another JS framework is to get some separation of concerns like we get in AngularJS. This is a way of organizing your code.
However, you can get that from ASP.NET MVC and when you choose ASP.NET MVC you will get all the other things (bootstrap, jQuery, etc) also. Plus you get the Razor view engine which renders your code to nice HTML on the user end.
And that's my final question which I think ifyou really think about it, it may drive you toward an answer.
Why not just simply choose ASP.NET MVC dev via Visual Studio Community 2015?
I mean you get pretty much everything you need from client side to server side and the server code is the nice C# that you have come to love (I know I have).
Yes, it does mean you have to understand Bootstrap, a bit of javascript (jquery) and C# and HTML but you can learn them relatively easily and do just about everything you want.
I just don't know why the matter hasn't been settled and ASP.NET MVC hasn't been considered the big winner. And I've done quite a bit of Angular and various other JS. Take a look at my articles where I do some pure JS.
Great discussion.
modified 28-Jan-17 11:30am.
|
|
|
|
|
Very eloquent reply; perhaps we are all slaves building the Tower of Babel from what settles out of the dust from the clashes of the industry titans struggling for world-web-domination: Google, Microsoft, Apple; the least common denominator residue ... like JavaScript ... that they tolerate (like Swiss neutrality ?) no matter how technically flawed.
thanks, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
Thanks for reading and replying.
That is an interesting take on it too...that JavaScript is a neutral land away from the corporate strongholds.
I never thought of it that way before. Interesting.
|
|
|
|
|
Why not asp.mvc? Well, basically because of Razor. It's not a standard.
And the fact that it's still windows only, while a lot of web development is done on Linux and Mac.
|
|
|
|
|
With .net core you have asp.net mvc on on linux and mac. With a rel. decent IDE (VS 2015/17 Code). MS is really pushing that. One of many examples:
|
|
|
|
|
It's just starting. They still have a long way to go.
|
|
|
|
|
Jeroen_R wrote: And the fact that it's still windows only, while a lot of web development is done on Linux and Mac.
That's a very good point and I don't disagree with you.
It's interesting to me that people are doing dev work on non-Windows platforms simply because the Windows tooling was so strong for a number of years for desktop when desktop kind of was all there was.
Also, Razor is non-standard but it's a fairly nice rendering engine and it's all backend.
Is there some comparable backend rendering engine on Linux? Maybe Java Spring type of thing or something?
Just curious.
Also, I wonder what % of devs on non-windows platforms is? I suppose Linux and Mac together is at least 50%, right? Interesting.
|
|
|
|
|
Razor is nice, when you're using C# (or VB) as your backend language. But, nowadays, a lot of backend development is done in Node (JS) or in one of the JVM languages. And there are still a lot of Python (django), Ruby (Rails) and php sites too. Also, I don't think razor supports GraphQL, which might just be the next step for backend protocol.
When I go to angular conferences here in Europe, I estimate that slightly more than 50% is on Mac. When I see pictures from the states, it's more like 80%
|
|
|
|
|
|
Well, when you add the 3 versions of windows, it's still the biggest group. But it's far from the monopoly it once had. And that's for all developers, not just web devs, who have a bigger non-windows bias.
|
|
|
|
|
Don't worry, you're fine. Only an insane person would not feel the pain and frustration of working with JavaScript these days.
Everyone talks about how wonderful the democratization of open source is because it has allowed a flood of participation. On the whole, I think the benefits have far outweighed the negatives.
Unfortunately, JavaScript is the poster child for that double-edged sword and is suffering under the weight of its own success. My favorite example is also NPM bloat and how fragile it is. Change one dependency and you're likely to fall into a world of hurt.
Always remember, nothing is free, especially OSS.
|
|
|
|
|
I couldn't agree more. It's ridiculous.
We're philosophical about power outages here. A.C. come, A.C. go.
|
|
|
|
|
Yeah, I felt the same too My strategy here is to have a deep knowledge and master plain Javascript before learning any of these libraries. Javascript is different than some other languages like C#, Java...at first I hated Javascript because I always felt like struggling, but now I love it. Once you master it and learn how things work under the hood (prototypal inheritance, first class functions, closures...) you probably can use plain Javascript for the most of your your code or even create your own JS libraries.
Just my two cents
|
|
|
|
|
and after going thru all of this, the end boss (browser compatibility) is waiting for you
pure madness, killing time and nerves, and no-one pays for this except for the devs
|
|
|
|
|
You are not the only one.. I feel the same. Maybe that's some kind of test..
|
|
|
|
|
Why don't you use a simple JS? You don't even need jQuery! Nothing is better than a simple "document.getElementById".
|
|
|
|
|
It's all quite easy, really.
You simply start by installing the thing so you can calibrate the other thing.
After that it's simply a matter of starting the whatchamacallit so you can use the doohickey.
Of course you should think about updating the parameters so you can jingle the mumble.
You may need the yackity depending on your smackity.
Now start up the bibbity giving it a babbity and you will find it just works.
Any questions?
|
|
|
|
|
You did not mention ECMAScript 6 so far. That's where the trouble starts finally. There are lots and lots of syntactic sugar where my favorite online book says: This is equivalent to... You don't have to use this yourself but if you read someone elses code and you meet things like ...myObject or ´${ROOT_URL}/foo' there is no workaround. You have to once again to look up this strange phrase.
|
|
|
|
|
|
I, like many I suspect, have moved away from JS as there seems to be no direction to the ways of doing things.
I have been a corporate dev for the last 20+ years and have realized that when developing for a company (any middle sized to large company) the constancy and quality of the code matters. This relates to what devs are allowed to use and bringing in external libraries/code too.
I have worked in tightly regulated industries in the past (and probably the future too) when the only thing that is not regulated is the (re) use of other peoples code (which cannot be verified as bug free, consistency nor fir-for-purpose) and this has had me in fierce arguments with many technical and non-technical people.
<rant>
I get to the point that I cannot say that the software I deliver is bug free as I cannot (and will not) guarantee that dependencies are likewise.
Moving away from JS just means that there are (currently) fewer options, but that is rapidly changing.
Don't get me wrong, as like any dev worth their salt, I am inherently lazy. I don't want to reinvent the wheel (or MVC or EF or WPF or HTML_, but when the quality is compromised by use some else'es home project (which may or may not be flaky) in your 24/7 systems that's the end. I really don't have time to vet all the code that people bring in to the system, and the maintenance nightmare (and possibly regulatory constraints).
It gets worse when your build systems are designed to update external code (ie unverified) when a build is done.
You can write all the tests in the world to mitigate this behavior, but so long as an external dev doesn't break existing functionality (for good or bad) you will never know if those external modules are leaking (sensitive) data or not.
|
|
|
|
|
You are learning Grass-Hopper...
I have been writing about these issues in the Microsoft Community for years and everyone has seemingly gone their own way. Yet others have sounded the alarms over this very issue as well.
The industry has created a "Tower of Babel" for the sake of expediency and the illusion of productivity to satisfy insane deadlines created by incompetent management.
We have the Internet to blame also as it allows everyone to pile their own two-cents in without any restraint.
Now we have a community that is quite a mess... And the productivity yields are hardly any better than years ago when things were much simpler to create. Of course today the emphasis is on the coolest tools to use with the latest jargon and not the creation of quality applications. And how could anyone create quality applications with so many tools that have not really been tested thoroughly for their own levels of quality.
We should all simply go back to ASP.NT WebForms as the issues that MVC and JavaScript claimed to resolve have only created new ones...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
haha. good point. those owful days I had to help to my wife learn web development I felt exactly the same
|
|
|
|
|
I haven't been hard drive shopping in over a year and I am curious when these little gems hit the market. I would also like to see if anybody has used them yet and hear what their thoughts are.
if (Object.DividedByZero == true) { Universe.Implode(); }
Meus ratio ex fortis machina. Simplicitatis de formae ac munus. -Foothill, 2016
|
|
|
|
|
I would say, try it In six month the next hipe is ready to retry
modified 19-Jan-21 21:04pm.
|
|
|
|