Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish Front-end Architecture definintion #5

Open
micahgodbolt opened this issue Oct 18, 2014 · 4 comments
Open

Finish Front-end Architecture definintion #5

micahgodbolt opened this issue Oct 18, 2014 · 4 comments

Comments

@micahgodbolt
Copy link
Owner

Current definition is:

Front-end Architecture is a collection
of tools and processes that aims to improve the quality of our front-end code while creating a more efficient and sustainable workflow.

This is really just a working definition. I'd love to keep iterating and try to get it as concise, and complete as possible.

@kevinwhoffman
Copy link

I was looking at Wikipedia's definition of traditional architecture:

Architecture is both the process and the product of planning, designing, and constructing buildings and other physical structures.

I like that the product (architecture) is presented as the result of action (planning, designing, constructing). The current FEA definition lacks action and simply defines FEA as tools and processes. I would argue that the humans behind the tools and processes are just as important. By referencing actions, you can introduce that human element that I think is missing at the moment.

@jvandenrym
Copy link
Contributor

I think a FEA is more a mixture of architecture and engineering in analogy with architect engineers. A FEA builds the design and construction. An architect is more a designer of constructions not the actual builder.
One of the goals of FEA not mentioned is also about facilitating tools and putting processes in place that any new FEA that joins your team or FEA teams as such can start using the architecture at hand straight away instead of everyone doing it their way (Of course coding style can differ a little now and then). It saves time and increases efficiency. Above all your work place will be more enjoyable. It alleviates communication issues of collaborative efforts between FE developers and FE developers with co-workers like UI designers and back-end devs, product managers, ...

@andrewrota
Copy link

I've always understand software architecture as encompassing the overall structure of the system or application. Tools and processes are part of that (an important part!), but so is the high-level design patterns of the system. For front-end architecture, this might mean deciding where rendering is happening in your application, how assets are structured and loaded (JS, CSS, images, fonts, etc.), how UI modules communicate with each other, etc. And of course, the tools/processes/workflow to go along with and support those decisions.

@joshuacc
Copy link

joshuacc commented Sep 7, 2015

Hope I'm not too late to contribute to the discussion. 😄

I would tend to define Front-end Architecture in as:

  1. The organization and arrangement of Front-end UI components and their interactions with each other in a software system. (Everything has an architecture even if it wasn't explicitly architected.)
  2. The discipline dedicated to creating the above in a rational and cohesive manner that maximizes business and technical value.

The tools and processes are means to achieve the goals of (2), but they aren't what Front-end Architecture is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants