每天推薦一個 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