Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Page 1 of 2 12 LastLast
Results 1 to 15 of 19
  1. #1
    Regular Coder
    Join Date
    Sep 2013
    Location
    Houston
    Posts
    119
    Thanks
    5
    Thanked 21 Times in 21 Posts

    General Discussion on Frameworks.

    I was hoping to keep the conversation going here since it was requested we didn't run the jQuery question awry. I do find the perspectives of other programmers out there very valuable when it comes to understanding the situation of our ecosystem as a whole.

    So it was first postulated that jQuery is just a bloated dying framework. Here is an article that I think addresses some of the current strengths and weaknesses of jQuery along with some insight in the direction of the open source community behind it in the future.
    Why It Is Good Idea To Learn JavaScript And jQuery?

    Second information about React posted was:

    I've been dealing with a few things built with react.js, and everything I've dealt with leaves me wanting to punch someone in the face! It reeks so badly of "HTML, what's that?", "DOM, what's that do?" and "CSS, what's that do?" that the bloated idiotic MESSES it vomits up are little more than telling visitors or users of anything built with it to go **** themselves from an accessibility or usability standpoint; much less a speed, efficiency or simplicity of maintenance standpoint.
    I'm very sorry to hear your experiences with react have been so rough. It sounds like you have been maintaining what I call the spaghetti code versions of react. Some people get confused and see jsx and think "Cool I can put my html, styles, and JS all in ONE file!" Which leads to a horrible mess I won't disagree with you there, but using the right systems with react can be extremely powerful and very fast, because you are harnessing the power of the shadow dom and dom diffing that they have implemented since the web browsers still haven't all agreed on a working spec for this.

    Really react can be extremely clean if you don't use inline styles and instead lean towards a well built html class system and use sass to build effective dry css rules. This keeps the style part out of your JSX. Next step is to follow a paradigm like relay or redux which keeps your entire UI state in one place making your entire UI very less bug prone.

    Other good practices are to make stateless components which are static html as much as possible and then keeping components with changing state in es6 classes and using some form of store for your state. Another very useful tool is graphQL which allows you to keep your component data segmented to it and each component can easily understand how to talk to your backend DB in a very manageable way.

    Most of the things you guys said I can agree with that building things incorrectly are going to make a huge amount of technical debt, and it doesn't matter what framework or vanilla js if you aren't designing your application using principles of software design you are going to end up in a mess.

    I'd like to close with posing a question on what your perspective on Meteor is?
    if(poster === Lesshardtofind){
    output = !certified;
    }

  2. #2
    The fat guy next door VIPStephan's Avatar
    Join Date
    Jan 2006
    Location
    Halle (Saale), Germany
    Posts
    9,808
    Thanks
    6
    Thanked 1,159 Times in 1,130 Posts
    I haven’t looked into the react library but I’ve had to deal with Angular before – the impression I got out of it is that these libraries (as well as CSS preprocessors) are very much a software programmer’s approach to web development. Now, it’s probably a huge matter of debate whether HTML should be abused to construct application user interfaces in the first place. Angular and react (and CSS preprocessors) might have its place in certain circumstances (I’ve heard of “real” (desktop) applications being created with/powered by JS) but they are often misused for simple functionality on regular websites (i. e. not “applications”) where terms like semantics and accessibility are very important, yet often neglected.

    That said, I have the feeling that many frameworks/libraries are trying to solve problems that don’t actually exist in the first place.

  3. #3
    Regular Coder
    Join Date
    Sep 2013
    Location
    Houston
    Posts
    119
    Thanks
    5
    Thanked 21 Times in 21 Posts
    Angular and react (and CSS preprocessors) might have its place in certain circumstances (I’ve heard of “real” (desktop) applications being created with/powered by JS) but they are often misused for simple functionality on regular websites (i. e. not “applications”) where terms like semantics and accessibility are very important, yet often neglected.
    I can see this is where my perspective is disconnected from that I've heard on this board about frameworks. The context of my work is to build mobile applications in JS and large scale web applications in JS as well. To build the scale and functionality of apps within a 3-6 month time period like we do would be absolutely impossible building it in vanilla JS from the ground up everytime.

    Logically there are a very numerous number of working parts in common to every large scale application that it would be just insane to rebuild all these parts each time again. Frameworks are our choice to manage that. Build within a solid foundation of a framework that has a open source community that has goals aligned with ours and we can all help each other build a better interface and quicker process for the increasingly complex levels of expectations from larger corporations these days.

    I do agree with your point that is can be misused. If you have a 5-10 page 90% static website then building within a framework CAN increase your productivity, but it is probably overkill. That being said I can't think of a single large professional website that ISN"T built on a framework of some kind these days. Whether its php based: drupal, wordpress, joomla, symphony, or JS based: angular, meteor, ember, react, express, node, jQuery the community as a whole is largely migrating towards framework based architectures for a few reason's.

    The required manpower to build these sites in pure html, css, and JS is beyond what companies can afford, and 50-60% of programmers won't be able to build a large scale product without an underlying framework that abstracts it without ending up with TONs of bugs.

    With seeing the commercial development community moving more and more towards frameworks I just found it very curious why the subject of frameworks in a frameworks section of the forum could illicit so much disdain.

    Edit:

    Now, it’s probably a huge matter of debate whether HTML should be abused to construct application user interfaces in the first place.
    I can 100% agree with you here HTML was written as a language to present technical documents it is in no way built or meant to be a language for these large scale applications.

    Unfortunately with a growing number of devices to support these days while the web is continuing to standardize and converge its just flat out cheaper to build a product in web languages and then use a tool like cordova to export to phones/tablets or a tool like electron to export it as a desktop application. Otherwise you can be looking at building the same thing in win32 with c++, then objective C or swift with a total different driver set, and then again in Java.

    The web provides a medium that I am not sure we will see another solution for this problem that is better for many years, because people aren't even asking enough "Is this really the right solution?"
    Last edited by Lesshardtofind; 02-25-2016 at 03:13 AM.
    if(poster === Lesshardtofind){
    output = !certified;
    }

  4. #4
    Regular Coder
    Join Date
    Feb 2016
    Location
    Keene, NH
    Posts
    311
    Thanks
    0
    Thanked 42 Times in 40 Posts
    Well, since you were quoting me, I'm assuming this is mostly directed at me.

    From my perspective frameworks -- all of them -- are an utter and complete waste of time, effort, and create extra work for no legitimate reason other than a complete and utter lack of knowledge on how to use HTML, CSS, or JavaScript properly. EVERY claim I've seen in support of them holds water like a steel sieve (I hear that's the best kind... of sieve), and I've NEVER seen ANYTHING built with them where my advice would not me "Pitch that disaster in the trash and start over!"

    This is PARTICULARLY TRUE client-side. jQuery and Bootcrap in particular are just so mind-numbingly idiotic and broken it is inconceivable how anyone could be -- excuse me for getting insulting on this -- DUMB ENOUGH to consider them to offer ANYTHING of value. It only lowers my already ridiculously low opinion of the mental (much less testicular) fortitude of Joe Sixpack and Susie Sunshine. (Where's John Q. Public when we need him?)

    I fail to see how using pure HTML, CSS or JavaScript magically requires "more manpower". Frameworks more to learn, created pointless redundancies, results in writing two or three times the needed markup, defeats the entire reason CSS even exists, and without even counting the size of the framework against it usually results in the same if not more overall code needing to be written by the developers. How in blazes is that faster or easier?!? It's ALMOST as stupid as running a "template engine" like smarty on top of PHP, which is itself ALREADY a freaking template engine!

    ... and that's BEFORE we start talking about how things like HTML/CSS frameworks piss on separation of presentation from content from so on-high you'd think the Almighty just got back from a kegger, ignore the reasons HTML and CSS are separate entities in the first place, and how by their very existence a whole generation of nubes is being duped into using them as copypasta without learning the underlying languages first. Sadly this leaves them woefully ill-equipped to deal with if anything goes wrong, if it doesn't do what they want done, or to even form an informed opinion on the topic! ... and as such doomed to failure before they even have a chance to start!

    I am SICK TO DEATH of seeing site after site wasting a 500 to 900k of scripttardery, 200 to 500k of CSS, and 100k or more HTML -- spanning four to eight DOZEN files -- on delivering less than 5k of plaintext and a dozen actual content images; projects that not counting the content size against it I'd never allow the base template to exceed 72k in 3 files (assuming only a screen media stylesheet)... and that would INCLUDE the complete CSS for the entire SITE as a monolithic sheet! (to keep handshaking under control)

    Mind you that's not counting social media plugins or commenting systems against it, since you often have little control over the rubbish those try to saddle you with.

    Well over two thirds of that not even being the frameworks, but the ineptly developed rubbish, insecure and needlessly convoluted practices the frameworks actively seem to encourage!

    ... and near as I can tell, only ignorance and ineptitude can account for why ANYONE sees a legitimate advantage to using these broken, buggy, dumbass frameworks that just make you work harder, not smarter. NONE of the claims about it being easier, or simplifying working with others, or requiring you to write less code seems bear up under even the slightest scrutiny -- but you DARE to say any of the things I just said and be prepared to be on the defensive against ad-hominem attacks, strawman fallacies, and people shoving both fingers in their ears to go "la-la-la-la" like a second rate Vancome lady. Shya, you know what? Uh-uh.

    Of course as someone who's actually studied marketing and advertising, having worked for a time in both fields I fully recognize much of the reason people so willingly yum it up; the classical propaganda techniques! Specifically transfer, glittering generalities, bandwagon, card stacking, and testimonial.

    Me, I go right for the plain folks and name calling... ooh hey, that makes all seven!

    Just remember, simply because the lemmings are charging off the edge of a cliff doesnae mean you need to follow them. Kim Lardassian, Kanye West, Justin Beiber and Miley Cyrus are popular, doesn't actually make them talented or good.

    I suspect that on top of the ignorance of the developers who use it by choice, you have the poor sods forced into using it by bosses who don't know enough on the topic to be making those sorts of decisions -- likely because they only know of Bootstrap or jQuery because they saw the name mentioned in Forbes... and as I often say getting IT advice from the pages of Forbes is like trying to get financial advice from the pages of Popular Electronics.

    Frameworks, PARTICULARLY when it comes the front end, are a tissue of lies... a wet, sopping, flimsy tissue easily ripped apart by the slightest breeze. More so when you consider the giant middle finger most of them give to accessibility norms such as those outlined in the WCAG, or the usability studies by people who know what they are talking about like the Neilsen Norman Group.

    Though usually when pressed most of the people supporting the use of frameworks go "WCAG, what's that?" -- or if they don't, their work sure as shine-ola screams it so loud it's a good thing the people needing it are likely already hearing impaired; as if they weren't already, they are now!

    But really, PROVE ME WRONG!!! Link to something, ANYTHING built with bootstrap, jQuery or any of these other frameworks that isn't a bloated, slow loading train wreck using many times more code than needed NOT counting the framework against it, whilst basically telling every single user with accessibility needs to go perform an anatomically impossible act upon oneself! Much less bothers with ACTUAL semantic markup, logical document structure, separation of presentation from content (an impossibility for bootcrap mouth-breathers), or any of the dozens of other good practices that mean leaner, faster, more accessible, easier to maintain and develop websites!

    Every time I ask that, I get a shuffling of feet, personal attacks, or a head in the sand artful dodging of the request because even the people making up lame excuses and even lamer defenses of the practice actually realize deep down that I'm right -- but just like foodies, anti-vaxxers, creationists, and other pseudo-science quacks they'll move the goalpost or avoid the topic entirely if you so much as dare to paint their fairy tale BS is, well... precisely that. Classical psychological failings of confirmation bias and cognitive dissonance.

    It really makes me wonder what type of flavor-aid they intend to serve at the end of the journey... or is it Yogurt to take us up to the aliens... no, it's another 45 years before Haley's comet comes back.

    Seriously, the supporters of these frameworks border on being cultists in their behaviors, particularly with the nonsensical gibberish unfounded claims they make about "easier", "simpler", "faster" or any other alleged advantage that simply does not exist. I often feel on this topic like I'm walking into a gathering of fundamentalist evangelicals to extol the virtues of organic chemistry and biological processes.

    I shine the light, and all I see is the vast expanse stretching out before me.

    ... and I get banned thanks to protests from the namby pamby "if you can't say anything nice" everyone needs to behave like "Stepford Wives" crowd in 3... 2...
    Last edited by deathshadow; 02-25-2016 at 05:20 AM.

  5. #5
    Regular Coder
    Join Date
    Feb 2016
    Location
    Keene, NH
    Posts
    311
    Thanks
    0
    Thanked 42 Times in 40 Posts
    oops, almost forgot your final question... Meteor.

    The website ALONE is such a laundry list of how not to build a website, it's doubtful if you hadn't asked I'd have made it past that point to even look at their product. The endless mix of marketspeak and soft-sell is a turnoff as well making it hard to find anything resembling concrete information about what it ACTUALLY does or even how it works from the site. On that count ALONE it is an epic fail on the part of their development team, again reeking of "WCAG, what's that?!?"

    That attempts to look at things like the case studies involves PDF's only further makes me think "inept nonsense" again before I even GET to the damned product. Since NONE of those PDF contains actual information and are nothing more than "fluff and gloss" testimonial crap, it reeks of being a giant scam run by marketing types who probably used to work for SCO.

    Going through their tutorial it's the typical bloatware template crap, utter and complete ignorance on how to create a form properly much less handle one in a sane and accessible manner, encouraging the use of endless pointless classes for nothing... Entirely what I expect from some sleazy off the shelf slap it together any old way "solution".

    Admittedly whenever I see these {$@$%@#ASDFASD} templating systems with the magical cryptic scripting style shorttag crap, I get lost. STUNNING example of needlessly pointlessly cryptic in a manner that in order for that to be parsed, it has to be wasting SO much processing time on it you'd be better off just doing the logic from scratch on the DOM. EVEN if it was more code, it would be a LOT clearer than that template gibberish.

    In case I hadn't mentioned, there's a reason I HATE smarty

    I'd sooner suck the business end of a chemical thermal expansion led pellet projector than use that on a project.

    Though admittedly, I'm not exactly a fan of web crapplets or programs built with web technologies as a USER. They piss me off for being slow, sucking on system performance, chewing on RAM like candy, and being a giant middle finger to accessibility.

    About the only advantage is the code once use anywhere, and that's NOT as big an advantage as people seem to think as much like one size fits all underwear, it usually doesn't... well, unless you like singing soprano.

    Also whoever wrote that API documentation needs a good swift kick in the groin... and really if you need to dick around on the command line that much just to build a web application, there's probably something wrong with it.

    ... and that's coming from someone who used to hand assemble RCA 1802 machine language and enter it 8 bits at a time on toggle switches and still writes new games for DOS - I'm no stranger to CLI's.
    Last edited by deathshadow; 02-25-2016 at 06:16 AM.

  6. #6
    Regular Coder
    Join Date
    Sep 2013
    Location
    Houston
    Posts
    119
    Thanks
    5
    Thanked 21 Times in 21 Posts
    Interesting. I work in terminals 100% of my workflow, vim for editing on a top screensplit with bottom left split terminal running my server and bottom right terminal handling my git flow. You presented an amazing amount of content with very little substance. I guess at this point you may have already had your fair share of this conversation in the past and therefore are unwilling to present a logically thought out backing to your opinion on this. Either way I guess thanks for your time.

    I am trying to take your perspective seriously and was therefore hoping you would present it in a way that didn't seem like a madman's rant. Have you built any large scale apps/websites that are currently deployed?

    Also would be interested in seeing links to websites that you consider well built.

    Edit: I'm so courious I had to ask add another question.

    If not for applications or services ideally what would the web platform be for from your perspective?
    Last edited by Lesshardtofind; 02-25-2016 at 07:31 AM.
    if(poster === Lesshardtofind){
    output = !certified;
    }

  7. #7
    The fat guy next door VIPStephan's Avatar
    Join Date
    Jan 2006
    Location
    Halle (Saale), Germany
    Posts
    9,808
    Thanks
    6
    Thanked 1,159 Times in 1,130 Posts
    I didn’t read everything deathshadow wrote (man, you must have some time on your hands!) but let me chime in anyway:
    I agree insofar with Lesshardtofind that frameworks can increase productivity because you wouldn’t have to write the same stuff over and over again. After all, I think every programmer has some kinds of boilerplate templates they throw in at the beginning of every project. Likewise, libraries like jQuery come with a selector engine that make it easy to traverse the DOM without necessitating to do repeating traversal yourself or rewriting your own selector engine every time.

    I just think that not every framework is right for every project. The folks at Twitter probably had very good reasons to create Bootstrap to make their life easier while working on different components of their project. But then others come with their totally different projects and approach and try to use that framework because how the people at Twitter used it looked so easy. And then it turns around in that instead of adapting the frameworks to their project they are adapting their projects to the frameworks. And they often forget that there might even be simpler ways to accomplish a task or solve a problem that doesn’t involve the framework. And then bad practices are established like, for example, markup for presentational purposes, non-semantic HTML class names (i. e. class names that describe the intended look of an element, not its purpose in the context), and ARIA roles to impose a meaning on elements instead of using their intrinsic semantics.

    It just goes on and on, and for every new problem a certain framework is causing (or not addressing), yet another half-baked workaround is created instead of actually solving the root of the problems. That’s what I meant by “solving problems that don’t actually exist in the first place”.

  8. #8
    Regular Coder
    Join Date
    Feb 2016
    Location
    Keene, NH
    Posts
    311
    Thanks
    0
    Thanked 42 Times in 40 Posts
    Quote Originally Posted by Lesshardtofind View Post
    Interesting. I work in terminals 100% of my workflow, vim for editing on a top screensplit with bottom left split terminal running my server and bottom right terminal handling my git flow.
    Whereas I'm a multiple display multi-window user, where I typically have code boxes on the left displays, browsers open for testing on the center, putty, IM chat and less frequently used things on the right.

    Vi/Vim is one of those editors that just feels backwards to me. The keyboard controls are so painfully convoluted and outright counterintuitive for me that I really feel like if I wanted to torturre myself editing code that way, I'd go back to putting a template around my function keys for wordperfect or screwing around with wordstar commands. ^K^D

    But I've always been that way about *nix in general -- needlessly pointlessly convolted and annoying technological parody of the worst of 1960's practices, that somehow gained traction because RAWRZ Ma Bell... and was for all intents and purposes dead and would have remained dead had Linus not breathed life into concepts that should have been left in the 1980's.

    I wanted to torture myself like that, I'd drag out the Trash-80 Model 16 from my garage and boot up Xenix. As someone who spent a LOT of time sitting at terminals connected to PDP-11's and ASA-400's, I don't understand the desire to make modern hardware less useful than those were when we can do so much better now... at least not for a business/production environment.

    http://... as something to dick arou...for fun, sure!

    Though at the same time -- for everything I just said, with COMPILED languages I prefer to use the command line compiler or create my own shell scripts instead of trying to use garbage train wrecks like make... but if I'm working in an interpreted language for web deployment, there's ZERO reason to get the command line involved. ONLY reason to drop to the command line being to install the server OS in the first place, perform updates/upgrades to the server software, and do sql backups since things like phpMyAdmin drop the ball disastrously at that. You'd almost think it takes longer to backup a real database than the connection limit in most HTTP servers or something.

    I'm no stranger to the command line, but it's really not the right tool for things like code editing in the modern world. But what do I know, I consider colour syntax highlighting to be a blurry illegible mess as if I just popped a sugar cube.

    Quote Originally Posted by Lesshardtofind View Post
    You presented an amazing amount of content with very little substance.
    That's how I feel about all the arguments in favor of frameworks; it's all glittering generalities with no actual meat to it.

    Quote Originally Posted by Lesshardtofind View Post
    Have you built any large scale apps/websites that are currently deployed?
    Currently, no. I had a rather nasty falling out with two employers in a row... the first completely ignored everything I told them and drove themselves into the ground within two months of my quitting, since they didn't realize I was the only thing keeping them afloat... that guy came back hat in hand and I showed him the door.

    The second employer threw a decade worth of work in the trash to go with turdpress -- actually sneaking around behind my back to do so -- and now wonders why their site is a malware ridden disaster where their domain is constantly being added to the malware blackslist that FF and Chrome use to block known threats.

    Of course my calling the IRS and FBI over the owner embezzling money by paying freelancers and online employees off his personal credit card then faking payments on the company accounts for more than people were being paid to pocket the difference... well...

    Though my biggest projects were double-entry accounting systems from the 1990's that are miraculously still in use despite being protected mode DOS applications. Mostly because nothing newer anyone offers does the job the accountants need done, and there's no point wasting money on updating when they can run it from DosBox.

    Good for a joke, my biggest userbase being mortuaries. Don't ask. I've considered updating it, but the biggest joke is that Borland Paradox emulated in DOSBox seems to be FASTER than anything I can do with modern tech -- sad when most of these place's data sets are in the one gig range these days; aka 90 gigs stored in mysql.

    Well, that and if you've ever had groceries checked out with a platform barcode scanner with the integrated scale, the entire underlying codebase for the hardware -- in particular the timing, angular arctangent correction, and so forth? Yeah, that was me. (Though good for chuckles I wrote that code when I was a teenager and the company I did it for ran with it... Difference is I didnt throw a hissy fit about that like Stallman did)

    A host of health problems and a general disgust with the industry as a whole is why I'm SUPPOSED to be retired; I just suck at sitting there with my thumb wedged up my backside doing nothing -- much less sitting back and watching people just give every project out there a golden shower like a litter of incontinent kittens.

    Quote Originally Posted by Lesshardtofind View Post
    Also would be interested in seeing links to websites that you consider well built.
    Whilst having flaws in semantics, and sometimes not having proper graceful degradation -- some of the best sites out there are obvious ones. Google Search (though the rest of their garbage? Not so much) though they've been pissing their own bed the past five or six years, Wikipedia (though the whole no underlines thing still yanks my chain, praise be user.css)...

    ... and my all time favorite at pissing off "designers" who don't know enough about HTML, CSS, or accessibility to be designing a blasted thing -- CRAIGSLIST. At least they use legible colour contrast, EM metric fonts, and get right down to doing what a website exists to do, DELIVER CONTENT without any of the artsy farts BS... though they too seem to be hopping on the scripttard bandwagon for no good reason other than to make the site LESS useful.

    Honestly, RIGHT NOW I have a hard time finding websites that don't piss me off as a USER. To be brutally frank many websites are less useful today than they were 15 years ago... and it's idiocy like frameworks, the fools under the delusion they are "designers", and the people throwing JavaScript at things that shouldn't be scripted who are at fault! To use half the blasted websites out there right now -- THIS ONE INCLUDED -- I have to use stylish to force my own CSS atop it to get usable font sizes without diving for the zoom, override bad design choices, and block things that just get in the blasted way.

    Site's I'd have pointed to as wonderful examples as recently as two years ago are useless, buggy, train wrecks that are always hacked, down, or trying to distribute malware -- much less taken the entire ideas of functionality, usability, and accessibility and decided to use them as toilet wipes.

    Take NNGroup -- the bastion of accessibility and usability studies; paragon in the field, has wet the bed with scripttardery, classes for nothing. That USED to be the first thing I'd point people at. (still is for the CONTENT)

    A LOT of this change coincides with the conversion to HTML 5. People are just yumming it up despite for all intents and purposes the endless pointless redundancies driving development practices back to the WORST of pre HTML 4 strict!

    I feel bad for the people who lack those skills, and just assume that websites have to suck. That SEEMS to be the prevailing attitude right now amongst developers AND users. The users KNOW something is wrong, but they either can't articulate it or just don't realize it can be done better.

    Though also for a lot of things -- front ends in particular -- I see people call things "major projects" needing teams where apart from mass data entry for the actually important stuff -- THE CONTENT -- is stuff I'd consider to be 4 to 6 hours for one person... only needing more if some higher up wants to keep dicking with the "artsy" aspects. (that people call design, and isn't). Usually such second guessing and micromanagement being what usually kills projects before they even have a chance at success.

    A LOT of my most recent work is under NDA as it's government agencies and public utilities in the UK -- MOST of the work I've done there being to rescue them from all these things I'm "ranting like a madman" about since said entities were facing fines and even shutdowns for failing to meet the 2010 "Equality Act". Similar legislation has been introduced in several other countries, which is why all those things I'm complaining about? Yeah, they're getting more and more important -- despite SO many developers basically doing ostrich impersonations about it!

    Though you want examples of what I do? Feel free to look at all the people I've helped for pay and for free the past decade on various forums:
    Index of /for_others/ - CutCodeDown

    Quote Originally Posted by Lesshardtofind View Post
    If not for applications or services ideally what would the web platform be for from your perspective?
    That would hinge on your definition of a web platform. Really I don't think we're making up the hardware difference needed to make this stuff deployable. There are exceptions -- like Vivaldi is decent as something built atop blink using web technologies goes, but it's a browser so using browser tech to build a browser is a bit of a "well DUH!?!"

    To me really web technologies are about delivering content to users and letting users share content. Using it for conventional application construction I'm still not sold on being viable/sustainable despite some valiant efforts. As someone who actually USES software, most of it just pisses me off at this point for being less useful than stuff we had as native applications on Win9x!

    Though to be fair, I say the same thing about Linux as a desktop OS. YMMV. I still consider the PINNACLE of desktop UI design to be Windows 98, and everything since to be a slow slide back down the hill from that high point.

    So much of the stuff being built with web technologies atop things like nw.js and electron (and I AM having a good deal of fun trying those out) are so ridiculously inferior to 30 year old stuff, I often find myself saying to hell with it and tracking down old win9x software so I can feel productive again!

    See "Brackets" -- probably the slowest to load, slowest to use editor of the past two decades, to the point that I can outrun the keyboard buffer on a i7 4770k. Though I am one of those model M elitists so... buckling spring or Golf Tango Foxtrot Oscar. You may notice my posts can be a bit "lengthy" by the standards of the "twitter generation"... that comes from actually being able to *SHOCK* type and having a command of this thing called "language". Perish the thought.

    Metro crapplets or whatever Microsoft is calling them this week are a stunning example of this; where a lot of them are less useful than if I took the time to boot up my Tandy 1000SX under DOS 3.3... because of course an OS called windows that then has applications that only work full-screen is SUCH a step forward in technologies; reducing the usefulness of the OS to what we basically had with Norton's Commander and Sidekick installed.

    Though I see once again, my question goes ignored -- the same way it does EVERY time I ask. Do you have an example of something built with a framework that isn't inept inaccessible rubbish? Or are you not even going to acknowledge that like every other time I bring it up anyplace?

    Since I bet anything you point at, would most likely qualify for at least HALF of my article on the very topic:
    What's Wrong with YOUR Website? - CUTCODEDOWN

    ... and could probably be done in a fraction the code in a FAR simpler manner; assuming it's not riddled with garbage that doesn't belong on websites in the first place as is becoming more and more common.

    As I often say, if you don't know what's wrong with code like this:
    Code:
    <header id="page-header">
            <div id="cart" class="shopping-cart mobile-cart show-for-small-down"></div>
            <div class="row">
                <div id="masthead" class="masthead small-12 medium-7 column">
    Or this:

    Code:
    <p>
    	<button type="button" class="btn btn-lg btn-default">Default</button>
    	<button type="button" class="btn btn-lg btn-primary">Primary</button>
    	<button type="button" class="btn btn-lg btn-success">Success</button>
    	<button type="button" class="btn btn-lg btn-info">Info</button>
    	<button type="button" class="btn btn-lg btn-warning">Warning</button>
    	<button type="button" class="btn btn-lg btn-danger">Danger</button>
    	<button type="button" class="btn btn-lg btn-link">Link</button>
    </p>
    Or even this:

    Code:
         <div class="page-header">
            <h1>Tables</h1>
          </div>
          <div class="row">
            <div class="col-md-6">
              <table class="table">
                <thead>
                  <tr>
                    <th>#</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Username</th>
                  </tr>
                </thead>
    You probably have ZERO business building websites!

    Would you care to explain what's wrong with those, or do I have to do it?

    With outright stupidity and ignorance like that is it any wonder we end up with people vomiting up code like this:

    Code:
    <body id="collection-55e2897ee4b08d388eff6d49"
    class="enable-nav-button nav-button-style-outline nav-button-corner-style-square
    banner-button-style-solid banner-button-corner-style-rounded banner-slideshow-controls-arrows
    meta-priority-category center-entry-title--meta  hide-list-entry-footer
    hide-blog-sidebar center-navigation--info  gallery-design-grid aspect-ratio-auto
    lightbox-style-light gallery-navigation-bullets gallery-info-overlay-show-on-hover
    gallery-aspect-ratio-32-standard gallery-arrow-style-no-background gallery-transitions-fade
    gallery-show-arrows gallery-auto-crop   product-list-titles-under product-list-alignment-center
    product-item-size-11-square product-image-auto-crop product-gallery-size-11-square
    show-product-price show-product-item-nav product-social-sharing   event-thumbnails 
    event-thumbnail-size-32-standard event-date-label event-date-label-time event-list-show-cats
    event-list-date event-list-time event-list-address   event-icalgcal-links  event-excerpts
    event-item-back-link      opentable-style-light newsletter-style-dark small-button-style-solid
    small-button-shape-square medium-button-style-outline medium-button-shape-square
    large-button-style-outline large-button-shape-square button-style-solid button-corner-style-square
    native-currency-code-usd collection-type-index collection-layout-default 
    collection-55e2897ee4b08d388eff6d49 homepage view-list mobile-style-available has-banner-image
    index-page">
    ... and yet nobody seems to have a problem with that? That's not a joke, that's actually taken from a real website! I added carriage returns as the word-wrap wasn't expanding the code-box height properly

    THEN people wonder why my disgust with the industry has gone from disgust to the point of nausea to outright full-on projectile vomiting. So much of this reminds me of the worst of the late '70's and early '80's stuff where I made a good chunk of change as a teen "speeding up" software using a little "compiler" I wrote in UCSD Pascal... that could go through CoBOL and DiBOL files to replace certain "library" calls with more efficient single-line code, and delete ALL the comments. Hey look, I freed up a megabyte of disks space (when a 10 meg hard drive was ten grand and the size of a dishwasher) and your program now runs three times faster!

    I swear the way people are slapping code into their HTML right now, I'm wondering if they're being paid by the K-LoC again!

    ... and get off my *** lawn!!! -- that's a joke. I know I'm an ornery oldfart at this point. It just sucks watching people repeat the same mistakes every decade on the decade. I've seen this before, and I've seen where it leads!
    Last edited by deathshadow; 02-25-2016 at 09:06 AM. Reason: added linefeeds to code block

  9. #9
    Regular Coder
    Join Date
    Feb 2016
    Location
    Keene, NH
    Posts
    311
    Thanks
    0
    Thanked 42 Times in 40 Posts
    Quote Originally Posted by VIPStephan View Post
    I agree insofar with Lesshardtofind that frameworks can increase productivity because you wouldn’t have to write the same stuff over and over again.
    To me that's the distinction between a LIBRARY and a framework. Handy re-usable functions you can pick and choose? I'm ok with that.

    But these "frameworks" go way beyond that. They actually try to change HOW the language works, typically ignore how the langauges hey are applied to are SUPPOSED to work, and you mix in the complete and utter ignorance of accessibility that goes with them, and that's the root of why I don't see a legitimate purpose to them.

    LIKE jQuery's ridiculous "selector before you do ANYTHING" where they don't encourage saving that link -- and that's NOT dealing with the DOM, that's pointing directly at elements BYPASSING the DOM... but most people don't understand the tree/pointer structure of the DOM well enough to use it, much less make rational choices in how they use it. See how concepts like firstChild, parentNode, nextSibling and previousSibling are "too complex" for "normal developers" -- almost starts to sound as stupid as the script kiddies going "don't use 'with'"... which any C or Pascal developer would backhand you for even suggesting.

    Terms like "framework" or "boilerplate" have come to have a really negative connotation to a number of developers, myself included. As I'm always saying they're more work, more code, less control -- so how does that make anything "easier"? I just don't get it.

    I wish I did, as it's annoying looking at how other people think on this and reacting like I would to a follower of Jim Jones or David Koresh.

    Quote Originally Posted by VIPStephan View Post
    And then bad practices are established like, for example, markup for presentational purposes, non-semantic HTML class names (i. e. class names that describe the intended look of an element, not its purpose in the context), and ARIA roles to impose a meaning on elements instead of using their intrinsic semantics.
    Which is pretty much HOW HTML and CSS frameworks WORK. that's exactly what I mean when I talk about completely defeating the point and purpose of the underlying languages.

    Quote Originally Posted by VIPStephan View Post
    That’s what I meant by “solving problems that don’t actually exist in the first place”.
    ... and from where I sit, that's too generous, as I've seen time after time developer after developer site after malfing site where they CREATE problems that shouldn't have existed in the first place.
    Last edited by deathshadow; 02-25-2016 at 09:16 AM.

  10. #10
    Supreme Master coder! abduraooft's Avatar
    Join Date
    Mar 2007
    Location
    N/A
    Posts
    14,996
    Thanks
    164
    Thanked 2,242 Times in 2,229 Posts
    Quote Originally Posted by Lesshardtofind View Post
    Also would be interested in seeing links to websites that you consider well built.
    For me I have one to showcase, camendesign.com, that I admire most.
    Here's his principles camendesign.com/hello and it's well implemented throughout his code/sites.
    camendesign.com/blog/worthing-digital
    HTML5 since 2008;
    No <div>s. No <span>s.
    No classes. No IDs
    (presentational)
    camendesign.com/writing/when_its_better
    By viewing this website, its code is now yours. That’s my gift to you. It might be something that goes into a drawer somewhere and doesn’t ever come out, except for those embarrassing times when I happen to mention it. Or, it could be a great gift, something that really empowers you to do new stuff!

    Just click on the CSS / HTML and PHP links at the bottom of the page and you can look at the source code that makes this website come alive on your screen.
    and more camendesign.com/projects

    ps: sorry, if this post doesn't fit to the flow of this thread.
    The Dream is not what you see in sleep; Dream is the thing which doesn't let you sleep. --(Dr. APJ. Abdul Kalam)

  11. #11
    Regular Coder
    Join Date
    Feb 2016
    Location
    Keene, NH
    Posts
    311
    Thanks
    0
    Thanked 42 Times in 40 Posts
    Quote Originally Posted by abduraooft View Post
    For me I have one to showcase, camendesign.com, that I admire most.
    Ah yes, "Kroc"'s site. Not seen that one in a while; not since he was bragging about it over on OSNews.

    STUNNING example of everything WRONG with using nothing but HTML 5... broken not just in legacy browsers but many allegedly modern HTML 5 supporting ones, woefully ignorant of WCAG norms like legible colour contrasts and accessible font sizes (12px, really?!?), gibberish document structure that's a giant middle finger to users on screen readers, braille readers, etc, etc... and for all the claims of how much "better" it is without DIV, SPAN, classes, much less it outright skipping elements that aren't even supposed to be optional manages to WASTE 6.83k of markup on around 5k's job.

    This ALONE:
    Code:
    <meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=no" />
    Is basically telling mobile users to go plow themselves by DISABLING ZOOM! (seriously, WHY do people do this?!?)

    From there it's got gibberish use of numbered headings in a nonsensical order (which is why it falls apart miserably CSS off), <strong> around things that should NOT be receiving "More emphasis", pointless REL and aria nonsense that's just redundant (or should be redundant) to the tags they are on, paragraphs inside LI for nothing, gibberish run-on sentences doing a list's job...

    It's a cute experiment, but I pity anyone foolish enough to deploy a site like that as anything more than an experiment; again it basically tells anyone with accessibility needs to BOHICA.

    Seriously the illegible black on orange, FIXED WIDTH LAYOUT, and 12px fonts ALONE should be enough to make anyone who knows the first damned thing about web development go "This guy has NO clue what the blazes he is doing!" It is ENTIRELY inline with what I expect from the people who fully embrace ALL of HTML 5, since it reeks of 4 transitional thinking and methodology, attempts to be semantic whilst only making it worse, and offering zero graceful degradation or accessibility.

    But really I just touched upon something else I came to the conclusion of quite some time ago; HTML 5 is NOT meant for anyone who embraced semantic markup or HTML 4 Strict, it's carefully crafted to meet the wants and desires of people who until six or seven years ago were sleazing out HTML 3.2 and the proprietary garbage that filled the interim before 4 came along, and just slapped 4 tranny around it. Now they wrap 5 lip-service around the same bloated, broken, outdated methodologies, but get to slap each-other on the back over how "modern" they are.

    ARTICLE, NAV, SECTION, HEADER, FOOTER, ASIDE... they're just pointless redundancies an attempt to shoe-horn more "meaning" into the markup that doesn't even really need to be there, since professional writing does not have those first FIVE concepts and we still have yet to see a single user agent do ANYTHING meaningful with them! They serve no purpose if you just know how to use h1..h6 and hr properly.

    But a lot of that just comes from the people using them not taking the time to learn what they mean, the same as how so many developers don't know what TH, THEAD, TBODY, CAPTION, LABEL, FIELDSET are, or how B, I, STRONG and EM all have DIFFERENT semantic meanings and the latter two are NOT replacements for the former.

    Something else I've said a few times various places -- when people can't even bother using the existing tags in 4 Strict for their meanings or to create a logical document structure that's accessible and navigable, throwing more tags at it is NOT the answer!
    Last edited by deathshadow; 02-25-2016 at 07:47 PM.

  12. #12
    Master Coder felgall's Avatar
    Join Date
    Sep 2005
    Location
    Sydney, Australia
    Posts
    8,055
    Thanks
    2
    Thanked 808 Times in 797 Posts
    Quote Originally Posted by deathshadow View Post
    To me that's the distinction between a LIBRARY and a framework. Handy re-usable functions you can pick and choose? I'm ok with that.
    I agree - I have a huge collection of JavaScript functions and classes I've written that between them can do way more than jQuery can do and which require a lot less code (sometimes using less code than those using jQuery use even without counting all the code in JQuery itself).

    Quote Originally Posted by deathshadow View Post
    But these "frameworks" go way beyond that. They actually try to change HOW the language works, typically ignore how the langauges hey are applied to are SUPPOSED to work, and you mix in the complete and utter ignorance of accessibility that goes with them, and that's the root of why I don't see a legitimate purpose to them.
    Agree with you there too. The past time I looked at a framework it was a very basic one - not much beyond the most basic HTML for constructing a web page with some really antiquated JavaScript jumbled with it.

    Quote Originally Posted by deathshadow View Post
    See how concepts like firstChild, parentNode, nextSibling and previousSibling are "too complex" for "normal developers" -- almost starts to sound as stupid as the script kiddies going "don't use 'with'"... which any C or Pascal developer would backhand you for even suggesting.
    You mean I shouldn't have included Walk The DOM Node By Node in my JavaScript for beginners class because such basic DOM commands are too complicated? Strange that none of my students have ever had trouble with it.

    Quote Originally Posted by deathshadow View Post
    Terms like "framework" or "boilerplate"
    Boilerplate - I just remembered, that's what the minimalist framework containing the antiquated JavaScript monstrosity was called (I think).

    Actually I see nothing wrong with a company deciding to adopt a standard template for all the code they are creating to comply with but it has to be one that is going to work with the developers and not contain howlers that make the developers job ten times as difficult rather than making it easier. Developing one in-house seems a reasonable option but does mean new members will need some time to learn how it works whereas using a common one that other companies also use means that there is at least the possibility of the new developer already being familiar with it. Perhaps the worst of both worlds is where a common template is being used but patched to remove the howlers and then new developers come in and start creating a worse mess than ever.

    First thing I'd do when checking out someone else's framework would be to view pages that use it with JavaScript turned off.
    Stephen
    Learn Modern JavaScript - http://javascriptexample.net/
    Helping others to solve their computer problem at http://www.felgall.com/

    Don't forget to start your JavaScript code with "use strict"; which makes it easier to find errors in your code.

  13. #13
    The fat guy next door VIPStephan's Avatar
    Join Date
    Jan 2006
    Location
    Halle (Saale), Germany
    Posts
    9,808
    Thanks
    6
    Thanked 1,159 Times in 1,130 Posts
    Quote Originally Posted by felgall View Post
    You mean I shouldn't have included Walk The DOM Node By Node in my JavaScript for beginners class because such basic DOM commands are too complicated? Strange that none of my students have ever had trouble with it.
    Well, it starts with the fact that whitespaces and comments are considered as nodes, too (as far as I remember), so you can’t just casually walk along the DOM and think you can select siblings and/or children because you also have to check for the nodeType. jQuery, to name just one, already takes this hassle away from newcomers, so I see a reason why it’s considered easier to learn.

  14. #14
    Master Coder felgall's Avatar
    Join Date
    Sep 2005
    Location
    Sydney, Australia
    Posts
    8,055
    Thanks
    2
    Thanked 808 Times in 797 Posts
    Quote Originally Posted by VIPStephan View Post
    so I see a reason why it’s considered easier to learn.
    Yes but a certain level of knowledge of JavaScript is a pre-requisite for starting to learn jQuery.

    Also writing a function to handle those things is relatively easy and the dozen of so lines of code to do that is way easier for beginners to understand than the hundreds of lines of code that make up jQuery.

    Unless you know how jQuery works you can't use it properly and I have found that most intermediate level programmers do not know enough JavaScript to use jQuery the way they ought to be using it.

    I lost count years ago of the number of times I saw requests for help with 20 lines of jQuery code that didn't work that could have been done in less than 10 lines without jQuery.

    For those with a hammer everything (screws, bolts, cars, sandwiches etc) look like nails.
    Last edited by felgall; 02-25-2016 at 08:50 PM.
    Stephen
    Learn Modern JavaScript - http://javascriptexample.net/
    Helping others to solve their computer problem at http://www.felgall.com/

    Don't forget to start your JavaScript code with "use strict"; which makes it easier to find errors in your code.

  15. #15
    Regular Coder
    Join Date
    Sep 2013
    Location
    Houston
    Posts
    119
    Thanks
    5
    Thanked 21 Times in 21 Posts
    I have really tried to restrain myself and be civil. I have yet to go on a rant about this topic, but this forum (not everyone) has left me supremely disappointed about the quality of help it can provide.

    I'm sorry to say this, but if you as a programmer don't understand WHY jQuery is powerful then there is still alot of growing to do as a programmer. There is a difference between this feeling of satisfaction when you know that you could implement the same things they do, and understanding that there is no reason to redo the work that someone has already done. It is a very simple concept in the jargon file that when you have figured out a way to do something better and easier you should share this knowledge with the rest of the community of programmers so they don't have to work on the same thing you have already solved (because its boring). This is what makes jQuery and 90% of other frameworks very respectable. It is a cumulation of coders who aren't getting paid who genuinely want to make other developers live's easier by providing an interface in which they can get things done more quickly than they would before.

    I apoligize for calling you out directly Deathshadow but the three websites you named as being good websites are:
    1. Google.com (built on the internal framework known as google web server built internally but still a framework)
    2. Wiki (built on MediaWiki also a interally project but is a framework in itself and is open source)
    3. CraigsList (bult on apache, google plugins/libraries, and your favorite jQuery)

    You have presented the ability to be extremely judgmental about all code that is presented to you and all frameworks mentioned as if you have the ability to write and create something in a shorter amount of time without having to work at it all. You claim this and yet have no production examples of what you do to provide as an example of the right way to do things. Your examples of quality websites all use frameworks to which you proclaim to abhor. You also haven't shown an example of an open source library you have written in which you have recognized this problem, solved it, and provided a way to share this information with the community. There is no value in an opinion without a codebase to support it that makes every other programmer's life easier. I can't iterate this enough that we as programmers should not be doing the same things over and over that is what loops are for.

    JavaScript itself is a framework that is grown over iterations of a living webstandard (just recently became living) that consistently adds more functionality to the ease of a programmer. Es6 has already provided things that you claim to hate such as templating features. It has also finally added imported modules, and promises, that allow for a release from the callback hell that native JavaScript provides (and currently you can't get away from this without a framework or transpiler until it is fully adopted). If we as a whole avoided frameworks then JavaScript itself wouldn't exist we'd still be pounding away with 0s and 1s.

    At some point I cling in my soul to the idea that maybe JUST maybe you don't actually hate frameworks and the idea of creating re-usable code, but the thing you don't like is people using and writing bad code. That I can accept. We all hate bad code. Understanding what you write, how to be dry, and how to be elegant with your code is what drives us. Code is an artform and we all have a sense of self expression that comes from the capability of writing quality code. While this skill in itself starts in infancy and naivety it continually grows with the accompaniment of good mentor's and quality examples within the community. The ability to grow this skill also lies very deeply in a person's own ability to recognize their own shortcomings. The ability to look at a piece of code you already wrote and ask a few questions such as "How can this break?", "What can I do to make this more DRY (do not repeat yourself)", and "How can I leverage this to help other programmers" is an insurmountably quality skill that will continue to grow the community as a whole.

    To the point of frameworks being not only extremely powerful, but absolutely necessary for a career in the industry today I will provide a couple examples. These are all weekday warrior examples and not meant to be the absolute all end to "quality code", but everything here was written in a short amount of time utilizing the power of frameworks. The first example is a brainwave reader. This repository uses the power of node.js, socket.io, express, and cylon.js in order to create a website that will read your brainwaves in realtime and map that them a website. This is a website that reads your thoughts and charts them and the custom code written is around 250 lines of code. Second example is meteor-3d. This was written as a weekend project using materialize, meteor, three.js and it was written in 481 lines of custom code. Last example is virtual reality asteroids. This repo was written using, meteor, threejs, vr-boilerplate, and a custom meteor package I built for streamlining VR websites. The repo itself has 593 lines of custom code that were written by a bunch of people who weren't even familiar with the technology or frameworks (so it could be optimized and reduced by alot) in a 24hr period. The website when built will support ALL VR devices that are about to release this year and have a graceful fallback to desktop without breaking.

    The idea that frameworks are wasted bloat as absolutely asinine in the sense that it creates a system in which you continually reinvent the wheel over and over. Honestly my concern of your approval of what or how I program is very low, but the idea that you actually take these ideas that are 100% not commercially viable in the industry today and try to aggressively enforce them on people who are genuinely coming to this board in an attempt to learn what they could improve is beyond offensive. For god sakes you are flaming frameworks on a sub-forum called JavaScript frameworks. Let go of the anger, hate, and failures that have driven you to this point and realize that when you are on this site it is to genuinely help people get better to a point where their skill set provides a quality contribution to the ecosystem as a whole.

    If you aren't here to help please stick to the JavaScript forum itself where you can actually provide quality advice. I will reiterate to anyone else reading this if you are learning JavaScript, and the web frameworks and the understanding of how they all work is absolutely essential to your ability to be successful in this industry. Once you push hard enough to not only learn them, but the underlying principles of how they work (yes this requires a extensive level of JavaScript and how prototypical inheritance in itself works) you will have the ability to write quality code in any fly-by-night framework that comes up and even find yourself providing contributions to framework ideas themselves within your workplace. Please don't let the anti-framework zealots stop your progression because it will only lead to slowing you down as a programmer.

    Happy coding everyone sorry for being mean, hopefully this is the only time I'm driven to do so.
    if(poster === Lesshardtofind){
    output = !certified;
    }


 

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •