top | item 19184947

(no title)

bzalasky | 7 years ago

The answer to whether a single-page app is appropriate for a given project needs to consider product requirements, team structure and available resources.

Libraries like React are awesome for breaking down complex (or even not so complex) UIs into story sized chunks that can be tackled by different engineers or even different teams. This is one of the biggest reasons to consider using them, IMO.

Even in the case of relatively unremarkable CRUD application, if the backend is split across multiple services and teams it may be entirely reasonable to choose to build a SPA frontend with a dedicated team.

On the other hand, if you're building a Rails app with a small team, and most engineers are working full-stack out of necessity, a SPA may not be appropriate.

As companies grow, I've found roles tend to become more specialized. Your decision to build a Rails web app early on could be considered legacy cruft (by some) down the road because it can be difficult to break down and deliver a feature across the full stack if you're not accustomed to building web apps that way.

There are tradeoffs to all of these approaches (including the hybrid approach). Ultimately, you need to do what's what right for your product and team(s), and make your technology choices intentional.

discuss

order

onion2k|7 years ago

The answer to whether a single-page app is appropriate for a given project needs to consider product requirements, team structure and available resources.

And the users.

bzalasky|7 years ago

Hopefully, users have been considered in the product requirements, but yes, I wholeheartedly agree.

nabla9|7 years ago

If the team structure is the problem, you should disband the team and rearrange the structure so that it produces the result what you want. Trying to fit your product to the existing organization is not a good idea.

Conway's law: "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations."

quickthrower2|7 years ago

In theory, but you'd need Steve Jobs or Elon Musk level of clout to get that to happen. You'd need to be at the top of the organisation and pulling the puppet strings. Might be OK in a startup, but unlikely in a medium to large sized firm.

There will be people who need to make you fail or they are out of a job - they'll care more about keeping their job and paying their mortgage than you do about SPA architecture (unless you are at the top and have the vision as to why what you are doing matters.).