TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How do you split work on web apps?

6 点作者 Nurdok超过 11 年前
About a year ago at my workplace we decided to get into developing a web app for internal use (as part of a more intricate system which is irrelevant to this question). No one really had experience in web development, so probably some of our decisions were wrong, but all in all we&#x27;ve had success with the tool we were developing. Since we did have experience developing in Python, we chose Django as our platform.<p>My question is about &quot;who does what&quot;. The way we split our work was: there is one team which handles all the Python code - which means all the Django urls, views and models, as well as the actual backend to handle asynchronous task execution (something a bit like Celery). A different team (more precisely, a single person in a different development group - but this is just implementation) is responsible for the templates (data binding), javascript, design, HTML, CSS, etc.<p>We have been working like this, as I said, for about a year now. I&#x27;m starting to think that maybe the line of responsibilities between the two teams is wrong. The reason is that there&#x27;s a pretty big overhead whenever we need to interact - which is a lot. For example, when we add a new table and we want to display it, we need to let the &quot;frontend guy&quot; know what the url would be and what it would contain. Then we need to integrate out work to see if everything&#x27;s alright. Sometimes we didn&#x27;t pass enough context to the template to make it work and there&#x27;s a slow ping-pong of information between us.<p>So my question is this - what is the accustomed way to split work on web apps? Who takes care of the different modules - models, views, urls, templates, design, user experience, HTML, CSS, javascript? I&#x27;d love to know how YOU do it.

2 条评论

pedalpete超过 11 年前
I&#x27;m not sure if this is helpful, but as a full stack-developer, I still work in a similar structure to the way you&#x27;ve described.<p>Essentially you&#x27;re talking about two sides of development. Front-end vs. Back-end, and yes, it is very common to split up work like that. I&#x27;ve never heard anybody describe &#x27;modules&#x27; as &#x27;models&#x27;,&#x27;views&#x27;,&#x27;urls&#x27;, etc. etc. though.<p>A back-end dev, team, or when doing back-end work, you&#x27;re focused on the server side architecture and code. That would include your models, views, controllers, routes, database, etc.<p>A front-end dev can then take these end-points (routes or URLS) and build the templates, and front-end experience (HTML, CSS, Javascript).<p>I think the problem you may be having is in how you&#x27;re defining what you&#x27;re working on. You say specifically &#x27;when we add a new table&#x27;, but a front-end guy isn&#x27;t going to know what to do with a &#x27;table&#x27;. That is back-end. Both teams should be focusing on the feature or capability you are providing, not the technical structure. So rather than saying to the front-end guy &#x27;we added a table and need a view into that table&#x27;, you may have more success saying &#x27;we want to show how weather patterns affect our shipping rates&#x27; or whatever it is the table does. Then the front-end guy can take your URL and from a user-perspective build a solution which solves the problem.<p>Another thing to consider is that design and user experience is not part of Front-end development. You may have a front-end dev who is good at UX and design, but if so, you&#x27;ll be very fortunate. Some Front-end devs can do design, but not all. So you may want to make sure that before the Front-end (or even Back-end) guys get coding, they have the design of what they are building. That may help both sides come to the best solution quickest.
bwh2超过 11 年前
Diving into frontend vs. backend is very common and in my experience, a successful strategy. But within reason. To use your example, your backend developers should be able to code an HTML table.