Should designers be able to code? Yes, but not like developers.
The famous question "should designers be able to code?", the answer is not just a nod, it has a deeper meaning. First, we know some relevant backgrounds.
We are rapidly turning to the world where the mobile end dominates. From sketch to Pixate, and then to framer, designer tools can be more and more simple and effective in creating ideas through prototypes. The cost of making apps has never been so low. Also from never so quickly.
For developers, this means they can finally learn to design as soon as possible. This is obviously a much smaller step than learning Photoshop. They are no longer interested in painting, photo processing and 3D tools. In contrast, the sketch user interface is similar to OS X, with toolbars, navigation, and information panes. The sketch UI is strikingly similar to the storyboards in Xcode. If you hide everything else, you will find that it is the same, navigation in the left, content in the middle, the information pane on the right. Xcode even have the same smart guides and distance features. Similarity is a good thing. It makes it easy for you to switch between tools.
Developers are becoming more collaborative. The same is true of their expectations of designers.
Then Swift came out. Perhaps in addition to Ruby on Rails, no other language in history has attracted the attention of designers so much. I can say that confidently, because I wrote Swift to the designer, and it was just as hot as sketch, and it was unbelievable. Most of my Swift seminar tickets were sold out. Don't get me wrong, designers are actually trying to develop apps. They want to create the next Uber, Airbnb or yo. All they need is a little push.
Because I was trying to solve this problem, I repeatedly asked myself, why don't more designers learn the code? Every designer I talk to is looking for the next prototype authoring tool. The reason, then, is that there are not enough resources for designers to tailor. The Swift book is an example. You can't learn how to draw rectangles or change colors in them. You also can't learn how to manipulate resource maps to make them perfectly fit for each device, such as the iphone 6 Plus. You can't learn how to animate an interface.
Before discussing the solution, let me explain how the designer works.
Designers focus on results
Designers are not unfamiliar with typing. They send tweets, write emails, and often deal with numbers. But unlike writing, writing code doesn't get any results unless you check the syntax, debug errors (if any), and then build the app.
Something like Swift playground is a good solution. It also needs to be done better, like Paintcode.
Designers focus on the UI
Designers spend nearly 8 hours a day moving graphics until they are reasonable. They work tirelessly to provide the most perfect picture resources until the developer is satisfied. Unfortunately, some designers finally abandoned the PSD, and then the end of the call. These people should be fired.
The perfect tool should look similar to their design tools. such as storyboard, with drag-and-drop interface, can draw graphics, measuring distance and multiple device preview. If designers have learned to automate layouts, they can simply take on all of the UI aspects of the app and let engineers focus on what they are best at-implementing app functionality and eliminating bugs.
Designers focus on animation
A lot of developers I've talked to have barely touched the animation. Ask the developer to implement the animation you designed, just as you would require a designer to write a development document. They were not trained in that aspect of the system. Like Pixate, framer, and form are ideal choices because they focus on animations, and the results they provide can be replicated by developers as code.
The last Thought
I have an undeniable point of view in my mind. Learning new skills has never been easier. Thousands of new courses, tutorials and tools are shared every week. Many people may complain that there are too many things to learn. But if the tool is simpler, isn't it as easy as learning to use chopsticks?