Codementor Events

Vapor vs. Perfect: What Do Developers Think

Published Feb 17, 2017
Vapor vs. Perfect: What Do Developers Think

As Swift becomes ever more popular on the web, I set out to find out which framework is the most used and why. Since I have not used any of these frameworks in production, I decided to survey the Vapor and Perfect communities directly to see what developers had to say about the two most popular frameworks. Here are the thoughts and opinions I received from various individuals; without any personal bias.

Talking with the Vapor Community

I asked the Vapor community to highlight some of their experiences with Vapor and Perfect. These are the things I gathered:

I started a year ago with perfect, but never liked it, project structure and calls from Vapor are more readable.

-- Matthias

Predictions may be unkind and hard, which may be perceived as critical, but in the context of the conversation and the questions I was asking, Joannis responded with points that he believed to be factual:

Perfect is not involved with the community and refuses to accept that community projects can do some things better than they can do. They're not involved and don't interact. That's what I think will be their downfall.

-- joannis

He went on to describe how he wants his own framework, OpenKitten as another modular approach to web development with Swift, taking advantage of a plug-and-play ecosystem. He stated that such an implementation would prove difficult with Perfect. Not many other strong opinions were shared regarding the Perfect community or framework. Instead, a majority of developers I talked with described the "vibe" of the Vapor community, even more so than the features of the framework. Tim described the fun aspects of being part of such a group:

There seems to be a far better community behind Vapor. It's more like a startup (fun) and less [like a] corporate

-- Tim

Kindness and camaraderie aside, I think Toby Griffin provided a good deal of insight. I chatted with Toby in the original Swift slack community and he informed me that he had worked with Perfect and Kitura before switching to Vapor:

"I settled on Vapor and have been an active contributor for some time now. It felt the most 'natural' as well as the most feature-complete at the time. [...] Things I like very much about Vapor as opposed to Kitura/Perfect: the 'batteries included' approach, with an ORM, a hasher, authentication, a client for third-party APIs; the way the core developers are open to entertaining ideas and accepting PRs from the community, pretty much anyone with a good idea is encouraged to contribute; and as a result of that, the Slack community is so friendly and helpful, even to complete beginners. It's a positive community, there's almost never a complaint."

-- Toby Griffin

These comments gave me some great insights into how admired the Vapor community is. However, I had a rather small sample size with some one-sided examples. It's worth noting that I didn't get a chance to talk with the founders, Logan and Tanner during my inquiry. Regardless, the Vapor developers that I talked to were knowledgable, welcoming, and kind. When directly asked to compare and contrast the two frameworks, not a single person bashed on Perfect to justify their points in preferring Vapor.

Talking to the Perfect Community

I proceeded to ask te Perfect community to highlight some of their experiences with Vapor and Perfect. Here's what they said:

I think that Perfect starts out slim and you add components to it as you build & that Vapor start out much larger and you need to strip things you aren't using out (if you're concerned about bloatyness). At least that's my take away from what I've seen with [Vapor]. These could be pro or con depending on what you're looking for.

-- Kyle Jessup

Kyle seemed very proud of what Perfect had become, and didn't really think that the two frameworks should even be compared. The sentiments of the main founders of Perfect was that it was more of a toolbelt and less of a web framework, and thus most of the community felt like comparing Vapor and Perfect was analogous to comparing apples and oranges.

Yet, the community has been making these comparisons for nearly a year. I cannot speak one way or the other on whether Perfect and Vapor are competing to become the next web framework. But I can share the culture of these communities and the conversations I have come across during my research:

"Perfect is amazing. [...] Are you a novice developer? [...] Reading your comment history, you seem more like a Vapor fanboy (or author?) looking to piss on another great project and get people to join your "kewl kids club". [...] Keep your high-school clique-making to yourself."

-- source

Is there a winner?

It seems that if you are looking for a community that you will enjoy, then you should choose Vapor. Theirs is open, positive, and very considerate. If you want to work alongside of the top brass, then look no further than Perfect. The two communities seem about as opposite as they can be, but that doesn't make either of them "bad" per se.

Discover and read more posts from Clayton McIlrath
get started
post commentsBe the first to share your opinion
Neeraj Singh
6 years ago

Medium is promoting Perfect and its seems you are promoting Vapor!

Anoni Moose
7 years ago

I dunno. Sure, the Vapor crowd is great - but your quotes are all from the Vapor channel or responses to Vapor community members picking on members of the Perfect community (the_teet on Reddit is a Vapor author, who says lots of nasty stuff) or answers to direct and reasonable technical questions. Even this post seems like an obvious veiled attempt to promote Vapor by denigrating the Perfect community.

Personally, I think both communities are great - I’m not sure why you even felt this article needed to be written. It just hurts the wider Server Side Swift community.

J-2
7 years ago

I have played Perfect, Vapor and Kitura in the last few months and just remember if you’re looking for Performance vs Community, choose either one, there is no best of both world unless you willing to use both web frameworks in your projects.

After interact with team in all SSS, it’s depend on developers’ willing to invest time into developing a commercial project or for hobbyist. If you have no confidence in either, PHP, Node.js or Ruby on Rails is fine. p.s. PHP web framework authors had a big arguments last year too.

So why let these affected newcomers? Let’s make SSS evolution even better in 2017 with P.V.K and Apple team!

Show more replies