Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "framework limitations"
-
‘Hey let’s use bootstrap’
‘Hey let’s make it pixel perfect to this design’
‘Hey, lets completely ignore bootstrap when designing’
‘Hey lets pile it all on dev while he fights this framework for 8 hours a day instead of working to bootstraps limitations’
I wish people would just accept that if you use bootstrap, you have to let a pixel here or there go for the sake of responsiveness.8 -
FUCKING MOZILLA!
>Quantum
>over9999 times faster
-Ughm, okay, but what is the trick?..
-THE TRICK IS THAT NONE OF YOUR FAVORITE ADDONS WILL WORK!!!
Seriously this is fucking insane! Several of my addons which were essential for me to stay sane is gone and I don't even know how to live without them. And all this bullshit is happening because these idiots in Mozilla decided to enforce use of WebExtensions. For ones who unaware, WebExtensions is much, much poorer framework and many cool addons simply unable to work under WebExtensions because of its limitations.
Are you the one who loved the speed and joy of using mouse gestures? GUESS WHAT — IT'S GONE.
Maybe you made your browsing activity super efficient with use of the “Tab Groups” addon that used to allow you to group your browser sessions? SAY BYE-BYE TO IT!
And many more!
Most importantly, I cannot understand why would a company enforce use of a framework that will decrease functionality of a product.
Anyway, it seems like Firefox is not a browser for addon enthusiasts like me anymore; got to find a new one, any recommendations?11 -
Salesforce lightning web components have such bullshit limitations that they claim is because of security but it's just because it's overengineered garbage.
Want to use web components? Nope.
Want to pass in a value to a function in a click listener expression? Nope.
Want to use scss? Nope, compile it to css yourself.
Want to use the fucking document object? Guess what it's overridden except for very specific third party frameworks.
Who in the fuck thought it was a good idea to override the document object? Your app isn't more secure, literally the entire internet uses the document object and it still becomes available in runtime anyway so what the fuck??
LWC is the biggest garbage I've ever seen, you know a framework's a big red flag when there are developers solely for the framework.
There is a new security release coming out that apparently removes some of these nuances (understatement) so there might be some light at the end of the tunnel.4 -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
I was so bored with work in the end. It was more administration than programming. So, i kinda quitted full application development. The thing is, it's expected that you use some existing framework. First of all - they never work how you want and the programming part of your work is mainly solving the limitations the framework brings without hacking too much. You keep within the boundaries of the framework. Besides that - since all fun stuff is already done by the framework builders all you have to do left is kinda administration. Field here, field there, rest call here. Extremely boring. When you've setup the base good, there's no challenge anymore, just producing windows and input forms.
Now, a few days ago, I started to make a clone of rocket chat. I use minimalist http framework (aiohttp) and you have to build most features yourself on top. Same for the ORM, i use dataset which does schema synchronisation for you but doesn't come with models. So i made a complete model / mapper entity framework on top of that. I made one single validation system that applies on models, forms and frontend validation. There's only one truth of valid data. Within the models, services, mappers and forms there's always the services variable available making it possible to fetch any data from any object. Never weird exceptions has to be done to get data. The implemented global LRU cache system is super in auto synchronizing the objects, don't have to do anything manually.
Finally software development of a full product is fun again. If you know how to do it - making your own framework is way easier than an existing one. On top of that, it's more advanced. I do understand that frameworks are aiming to be a bit minimal to be multi purpose, but with that attitude in mind, they still achieve to make it annoying as fuck.
Regarding time, it's just a few days of development. That's nothing for something that does exactly what you want. We have to drop the use-a-framework-because-it-is-stupid-to-do-yourself mentality. We should be programmers again! Not administrators! It's not weird that chatGPT can do so much of our jobs, our projects became lame.7 -
If somebody needs a project idea how about a really dumb JS Framework that allows you do basic DOM Manipulation, just like jQuery, directly in the elements class attribute.
For example this is how a document could look like:
<body class="init-hide-id-otherElement">
<button class="onclick-show-id-otherElement">
<h1 id="otherElement">Hello</h2>
</body>
What this does is first, at the body's init-* class, it hides the element with id otherElement at page load. Then, when you click the button, the element with id otherElement gets shown. Instead of *-id-* you could also use *-class-* which selects a class.
Basically the syntax is:
<event>-<action>-<id/class>-<the elements id/class>
Of course this has a lot of limitations, for example the selectors are very limited, but it would still be very cool!3 -
The one in which I am rn is the reason why so many people dislike php, jquery and Java on the server.
Then previous to this one, classic ASP for the web interface and our desktop components were delphi (OLD ass delphi)
Mind you, these are all tech stacks that I do like (php, java and O Pascal in particular) but really dislike in:
php: we have just your standard procedural spaghetti php on some old ass shit.
Classic ASP: Same as with php, no proper structure, made more apparent by the intense limitations of VBScript, I did enjoy the language tho, had it evolved better It would have been more tolerable, but the hoops i had to take to build a propee API in it....boooooy that shit was an eye opener.
Delphi: Not bad in itself, but the original dev had a shit notion about how architecture should work.....or what architecture is for that matter.
The Java one: this shit was coded when Spring was already an alternative to just fucking around with JSP, or any other framework for that fucking matter. Dude tried....TRIED to implement design patterns in it and it failed on every single fucking component. Worst of all, it was coded in such a shit way that during certain...err...conditions, the bottleneck proved too massive of an ubdertaking and the app chokes and needs to be restarted ... constantly
their use cases for jquery are not bad, but loading all of jquery for the shit they mostly do could have been easily done with just standard vanilla JS.
I got more, but thede are just from the top of my head
I love php, mind you, but shit like this makes me see why some people GREATLY dislikes it.
I alsp have some old web forms in c# and vb net that I loathe, funny enough the code for thise in vb.net is more elegant, almost as if it were from a different developer.3 -
So I'm in a situation where I have to send a big set of data (from a numerous set of profile), but I can't because the framework used has been thought for sending few data (from an only profile) and then get a timeout.
I should take it as a challenge, a hard one but a challenge. Gonna be funny (and tiring too I guess)1