每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg


今日推荐开源项目:《React 内容加载器react-content-loader

推荐理由:这是基于 React 框架的React 组件,它使用SVG创建一个模拟加载内容前端界面。这类似于 Facebook 推出的个性化名片服务 Facebook Cards 的加载器。

应用框架:

特点:

  • 界面可以自定义不同风格,简洁干净明了。

如:Facebook风格

  • 使用较为简单,使用者只需要使用简单代码实时编辑。

开始你的在线编辑

安装:

Using npm:

npm i react-content-loader --save

Using Yarn:

yarn add react-content-loader --save

自定义使用实例:

 // import the component
     import ContentLoader, { Rect, Circle } from 'react-content-loader'
       const MyLoader = () => {
           return (
             <ContentLoader
                 height={140} 
                  speed={1} 
                   primaryColor={'#333'}                                                          secondaryColor={'#999'}  >
                  <Circle x={195} y={30} radius={30} />
                  <Rect x={50} y={80} height={10} radius={5}  width={300} />
                  <Rect x={75} y={100} height={10} radius={5} width={250} />
                  </ContentLoader>
                 )
               }

example:


今日推荐英文原文:《9 ways to improve collaboration between developers and designers》作者:

原文链接:https://opensource.com/article/18/5/9-ways-improve-collaboration-developers-designers

推荐理由:如果男女朋友吵架,应该是谁的错?当然是男生啦!如果是设计人员和程序员吵架呢?哼哼,当然是产品经理,还用多想吗?这里有一个秘籍,可以让 PM 协调团队小伙伴更好的协作,极大提升 PM 的战斗力,改善设计人员和开发者协作的9种方法!

9 ways to improve collaboration between developers and designers

Image by : opensource.com

This article was co-written with Jason Porter.

Design is a crucial element in any software project. Sooner or later, the developers' reasons for writing all this code will be communicated to the designers, human beings who aren't as familiar with its inner workings as the development team.

Stereotypes exist on both side of the divide; engineers often expect designers to be flaky and irrational, while designers often expect engineers to be inflexible and demanding. The truth is considerably more nuanced and, at the end of the day, the fates of designers and developers are forever intertwined.

Here are nine things that can improve collaboration between the two.

1. First, knock down the wall. Seriously.

There are loads of memes about the "wall of confusion" in just about every industry. No matter what else you do, the first step toward tearing down this wall is getting both sides to agree it needs to be gone. Once everyone agrees the existing processes aren't functioning optimally, you can pick and choose from the rest of these ideas to begin fixing the problems.

2. Learn to empathize.

Before rolling up any sleeves to build better communication, take a break. This is a great junction point for team building. A time to recognize that we're all people, we all have strengths and weaknesses, and most importantly, we're all on the same team. Discussions around workflows and productivity can become feisty, so it's crucial to build a foundation of trust and cooperation before diving on in.

3. Recognize differences.

Designers and developers attack the same problem from different angles. Given a similar problem, designers will seek the solution with the biggest impact while developers will seek the solution with the least amount of waste. These two viewpoints do not have to be mutually exclusive. There is plenty of room for negotiation and compromise, and somewhere in the middle is where the end user receives the best experience possible.

4. Embrace similarities.

This is all about workflow. CI/CD, scrum, agile, etc., are all basically saying the same thing: Ideate, iterate, investigate, and repeat. Iteration and reiteration are common denominators for both kinds of work. So instead of running a design cycle followed by a development cycle, it makes much more sense to run them concurrently and in tandem. Syncing cycles allows teams to communicate, collaborate, and influence each other every step of the way.

5. Manage expectations.

All conflict can be distilled down to one simple idea: incompatible expectations. Therefore, an easy way to prevent systemic breakdowns is to manage expectations by ensuring that teams are thinking before talking and talking before doing. Setting expectations often evolves organically through everyday conversation. Forcing them to happen by having meetings can be counterproductive.

6. Meet early and meet often.

Meeting once at the beginning of work and once at the end simply isn't enough. This doesn't mean you need daily or even weekly meetings. Setting a cadence for meetings can also be counterproductive. Let them happen whenever they're necessary. Great things can happen with impromptu meetings—even at the watercooler! If your team is distributed or has even one remote employee, video conferencing, text chat, or phone calls are all excellent ways to meet. It's important that everyone on the team has multiple ways to communicate with each other.

7. Build your own lexicon.

Designers and developers sometimes have different terms for similar ideas. One person's card is another person's tile is a third person's box. Ultimately, the fit and accuracy of a term aren't as important as everyone's agreement to use the same term consistently.

8. Make everyone a communication steward.

Everyone in the group is responsible for maintaining effective communication, regardless of how or when it happens. Each person should strive to say what they mean and mean what they say.

9. Give a darn.

It only takes one member of a team to sabotage progress. Go all in. If every individual doesn't care about the product or the goal, there will be problems with motivation to make changes or continue the process.


每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,欢迎关注开源日报。交流QQ群:202790710;电报群 https://t.me/OpeningSourceOrg