The place was being in the position to move to server-side Swift, the time was December 2015 when Apple decided to open-source the Swift programming language, and the decision was to rewrite its core technology, based on Lasso, in Swift.
In short, the story behind PerfectlySoft’s server-side Swift platform, Perfect, is the story of Lasso, a server-side programming language designed in the mid-90s to support Apple Computer’s software efforts at the time.
To understand the Perfect saga requires a bit of reflection regarding Apple’s software history. Back when John Scully took charge, he split Apple into hardware and software units. Apple’s Claris subsidiary was tasked with maintaining the company’s application software focus and needed to compete with Microsoft Office. To do so, they brought in FileMaker.
Lasso emerged as a web data source connection tool for FileMaker to get FileMaker to connect with Claris Homepage — a website building tool — and make websites that were database driven. Blue World Communications attained rights to the Lasso source code. Apple licensed the code and embedded it into Claris as Claris Dynamic Markup Language or CDML.
Lasso continued to evolve, moving from Blue World to OmniPilot Software, and in 2010, Sean Stephens, CEO of LassoSoft, acquired the technology and its core dev team.
“I brought the team here — the original team that built the first server-side Apple language,” Stephens told The New Stack, noting that his company hails from Newmarket, Ontario.
Lasso had a solid community made up largely of old Mac geeks, but the introduction of Swift caught Stephens’ eye.
“We saw an opportunity when Apple announced it was taking Swift open source,” he said. “We said why don’t we instead of waiting for somebody else to take the Mac people away from us, why don’t we take all the knowledge and the technology we have from Lasso and rewrite it in Swift and based on the benefits in performance and other things and its close ties to Lasso — because they both come out of the Apple DNA — we thought the community would pick that up and run with it.”
Stephens launched PerfectlySoft in 2015 to focus on delivering the Perfect framework. He then tapped Impression Ventures, a Toronto-based venture capital firm, for $1.2 million in funding.
“PerfectlySoft saw and capitalized on an opportunity to empower Swift developers through Perfect, an easy-to-use, agile, and streamlined platform with a mobile-first mentality,” said Christian Lassonde, founder and managing partner at Impression Ventures, in a statement. “Getting in on the ground floor of Swift’s rapid growth with server-side support is a huge opportunity.”
Impressed by the inherent security in the Swift language, Lassonde said he could see it eventually overtaking some of the embedded languages like Ruby and PHP. Swift is one of the fastest-growing programming languages with more than 18 percent of mobile developers preferring it over Java, C++ and other legacy languages. Over the last two years, Swift ranked among the top two most loved programming languages in the Stack Overflow developer survey. And it ranked 14th on the January 2017 TIOBE Index of the most popular programming language.
Meanwhile, Perfect is a framework for Swift development. “Its primary focus is on facilitating mobile apps, which require backend server connections, allowing you to use Swift for both client-facing and server-side development,” said a description of the platform on the PerfectlySoft website. “It’s the ideal backbone for building cloud and mobile technologies, and for the web and cross-platform applications.”
Stephens said the industry is just at the beginning of the inflection shift to server-side Swift and many companies — both enterprises and startups are experimenting with it.
“There is an obvious opportunity for startups who are building front-end iOS applications that it makes sense for purposes of lowering errors and increasing productivity to use Swift on both client and server-side,” he said.
The Perfect project has more than 10,000 stars on GitHub, and of the millions of projects on GitHub, it lies in the top 350 and is still growing.
Kitura from Big Blue
However, Perfect is not alone in wooing developers to server-side Swift. IBM’s Kitura project is doing the same thing with a bit of a blue tint.
“Kitura is an open source web framework provided by IBM that is created for building microservices written in Swift,” IBM said. “Kitura is a great way to leverage Swift knowledge to develop both client and server sides of your project.”
Unlike Perfect, IBM’s Kitura has runs on its Bluemix platform and has integrations with Big Blue’s Watson cognitive computing system as well as the DB2 database.
“Their play with Kitura appears to be to draw developers into Bluemix,” Stephens said. “The goal is to land grab as much of the server-side Swift world to Bluemix as possible. So, there is Kitura if you are an IBM user or want to go in the IBM direction, and there’s Perfect if you want to go with any of the other major cloud platforms.”
Meanwhile, PerfectlySoft has partnerships with Amazon Web Services and Microsoft to support their cloud environments and is working on one with Google to support theirs.
Perfect and Swift have several attributes that are attractive to enterprises, such as providing more resting server resources.
“In the middle of the night when the server is doing nothing, how much are you paying for,” he said. “This is very important when you’re paying cloud prices and paying for electricity. Whatever is being used by the server to stay awake and accept connections. We have found that Perfect is about 12 times less than Node in this regard, and about 60 times less than Ruby in terms of how much power we need just to stay awake.”
Stephens also noted that independent benchmarking showed Perfect to have performance advantages over other languages.
“What’s been shown is that Perfect significantly outperforms Node and other languages like Ruby,” Stephens said. “We outperform Node by a factor of 100. If you can imagine paying 100 times less for your application for your cloud costs. That’s a huge benefit.”
Another issue is how quickly developers can build their apps with Swift. “It is an easy, beautiful language; it’s written almost like pseudocode,” Stephens said. “We found that it only takes a couple of weeks for a developer to pick up.”
The language’s inherent safety also is an appeal. Swift is statically typed, which means you have to compile Swift code before you stick it on the server. Unlike PHP or Ruby, which you write some code and create an app, anyone who hacks a server with PHP on it can see the code. Someone who hacks a server with Swift on it can’t see the code.
Added to all these benefits is the fact that Swift is anchored in Apple technology. Unlike in the Android world where Google has an antagonistic relationship with Java, in the iOS world Swift is inevitable, Stephens says.
“At the moment, there’s a space where people who have apps that suffer from performance issues have to make a decision if they’re going to move to another language and Swift is an obvious and inevitable answer that cures many of their problems,” he said.
Thus, Stephens predicts that over the next year or two there will be a huge influx of developers moving to Swift. The big shift is going to be when server-side developers realize the benefits of Swift and how quickly they can learn it, he argues.
“There are a couple of critical pieces or moments that need to occur to facilitate this,” Stephens said. “As soon as the first realistic Android compiler comes out for Swift, suddenly using Swift across your entire mobile strategy becomes possible. And you can imagine the positive consequences of that for server-side Swift.”
IBM is a sponsor of The New Stack.
Feature image via Pixabay.