Figma, headquartered in San Francisco, offers their collaborative design and prototyping application to support digital product and UI development.
$15
per month per editor
Flutter
Score 7.9 out of 10
N/A
Flutter is an open-source mobile application development framework created by Google. It is used to develop applications for Android and iOS, as well as being the primary method of creating applications for Google Fuchsia.
Figma has been beneficial for building auto layout screens when you need to switch out a component or move a page layout to reduce the design time and 'pixel perfection' you would typically see in other programs. Its prototyping tools are great for the basics to create high-fidelity screens for user research and stakeholder communications, but anything more complex is either buggy or incredibly development-oriented. Designers don't have the luxury of time to figure out how to code the 'if' and 'else' thinking, often having to opt for online demonstrations to hand off to developers. It's straightforward to grasp if you've used any other design software and is relatively lightweight in terms of the tools. A design system streamlines so much of the effort in our screens, even if you need to detach!
Flutter is well known for native app development, if you have android studio installed on your system, you can quickly start using it. This might not be the best choice for you if you do not wish to learn a new language, i.e. Dart and you do not know it already.
Sometimes, I have to break components - if there was an easier way to customize on the spot without breaking them.
If I change the naming convention in the library, it would be nice to replace the old version. Because it will just remove the style altogether, I have to go back and apply it again.
Occasionally updates to the Flutter SDK result in wide-sweeping changes that seem to not be thoroughly tested and considered. Flutter sometimes evolves too fast for its own good.
While the 3rd-party Flutter package ecosystem is vast and rich, 1st-party support for basic things (audio/video playback, battery information, Bluetooth services, etc.) are lacking. You are occasionally forced to rely on an open-source package for use-cases that other platforms have native support for.
Documentation, particularly around testing, is lacking. While there are some great docs, like the Dart Style Guide, many Flutter-focused support documents are lacking in quality and real-world usability.
Flutter allows you to architect an app however you want. While this is a great feature, it also adds complexity and leads to the current state of Flutter's state management, where there are 50+ options on how to organize your app, with very little official guidance or recommendations from the Flutter team. For a beginner, this can create decision paralysis.
Figma is a pretty cool tool in many areas. My team almost uses it on daily basis, such as, brainstorming on product/design topics, discussing prototypes created by designers. We even use it for retrospectives, which is super convenient and naturally keeps records of what the team discusses every month. Furthermore, I do see the potential of the product - currently we mainly use it for design topics, but it seems it is also a good fit for tech diagrams, which we probably will explore further in the future.
It's so simple to use! I have no background in UI design but basic designing and I was able to learn this software Figma within 3-5 days. There are tons of tutorials available on Youtube from so many popular YouTubers in the space, you can just go through them and start designing.
I haven't used their support lately but in the past, they had a chat that I used often. They often responded in a few hours and were able to give a satisfactory solution. I would imagine it's less personal now but the community has expanded drastically so there are more resources out there to self serve with a bit of Google magic.
In-person training has its own benefits - 1. It helps in resolving queries then and there during the training. 2. I find classroom or in-person training more interactive. 3. Classroom or in-person training could be more practical in nature where participants can have an hands on experience with tools and clarify their doubts with the trainer.
Online training has its own merits and demerits - 1. Sometimes we may face issues with connectivity or the training content 2. The way training is being delivered becomes very important because not everyone is comfortable taking online training and learning by themselves. 3. With the advancement of technology online training has become popular but there is a segment of people who still prefer class-room training over online one.
Figma blows these out the park. Adobe's system is very different, and I think this shows in their attempted acquisition of Figma. I've not used Sketch or Invision, but their lack of market presence says a lot—designers like using the best tools. Axure is definitely more comprehensive in prototype testing but very hard to adapt to use—the hotkeys aren't even the same!
I have experience with react and React Native. I would say that the idea behind all those frameworks are quite similar. However, I found the javascript-based frameworks a bit more accessible as you could utilise your javascript knowledge. Here, Flutter works with its own language. This has advantages and disadvantages sometimes. I found the community around javascript frameworks bigger and therefore sometimes more helpful. However, Flutter does a good job here as well. I think the main argument for Flutter is its usability for less experienced developers. If you do not have knowledge in javascript or other programming languages then I think it is much easier to start with Flutter than with another framework like react. I think the package that you get form scratch is better than in the other frameworks were you have to set up and learn a lot more before you can start.
Seamless integration of designs into Jira have helped double the level of accuracy during development. Interactive access to preview prototypes, flows and mockups has made a huge difference for us.
When components are updated in ways that changes the copy or architecture, it breaks all of its instances creating a massive source of anxiety for everyone on the team. The fact that we are uncertain whether our updates will retain text overrides forces us to triple check each time, decreasing our operational efficiency.
When high-fidelity prototypes are built to showcase new concepts, their ability to appear almost identical to our production site makes it much easier for stakeholders to get involved in decision making therefore allowing us to make more well rounded decisions.
The rapid development capabilities of Flutter allow us to build apps we could not have previously considered commercially viable, opening new revenue streams.
Free and open licensing made adoption very easy (ie. free/low cost!).
In comparison to Qt, our time spent arguing with build tools and perfecting development environments has decreased substantially.