Hacker News new | ask | show | jobs
by mimo84 4215 days ago
Where I work we decided to avoid using libraries and frameworks, because decisions taken at that level was do not give us the flexibility to deal with the problems that we face. The main issues we found were:

1. Change of behaviour between versions, (e.g. the way a frameworks integrate with a page)

2. Reliance on functionality being supported into the future

3. Customer expectations

4. Browser support

That said, it is true that a frameworks gives you the ability to put together an app in a few weeks. However, when you know that what deal with with something that needs to be maintained for years than knowing what does each piece of your code is far more important.

1 comments

It's possible to do the same with a framework - it is also likely that frameworks and various libraries will be more performant and account for cross-browser issues. For example, I am not going to handcode JS logic with generating SVG for a graph - I'm going to use d3.
Well, sort of. It's possible if you're willing to take on maintenance of that library if/when they abandon it, and be able to dive into the guts to track down bugs or weird behaviour.

As a good example, we're on the verge of ditching JQuery.

Here's the rub though - code will not (likely) live forever. That's just the reality of software engineering.

I always have to dive into the guts of a library to figure out bugs regardless - I feel like that's essential for a software engineer to become well versed in, regardless of whether the work is in frontend or backend.

The cost of not producing at a fast enough rate is something almost no business can afford, especially in the startup world. The speed at which companies have to move are always on full thrust because if they don't move fast enough, then it costs sales, reputation, and gives competitors more of an opportunity for market entry.

Homerolling your own framework/library can be a dangerous operation, and you lose the benefits of the lessons that others have learned in maintaining open source frameworks/libraries.

> Here's the rub though - code will not (likely) live forever. That's just the reality of software engineering.

Yes. Only the code you wish wouldn't!

(seriously. I'm maintaining complex logic in ant. AUGH MY EYES)