Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community!
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.Start your free trial
Samuel Yanez27,790 Points
How does back-end swift compares to Ruby, PHP, or Node.js?
I'm completing the Swift iOS developer track on Treehouse and recently I became aware of server-side Swift using frameworks like Kitura or Perfect. I've read about it on the web but I would like to know if anyone has actually used Swift for a back-end application and how did it go? Why you chose swift?
There is a great tutorial to get you started on Server-Side Swift from RayWenderlich.com. If you have the finances to get his subscription in addition to Treehouse...I would highly recommend it. https://videos.raywenderlich.com/courses/77-server-side-swift-with-perfect/lessons/1
Server-Side Swift is awesome! The documentation for it is getting much better with each passing month and its popularity is gaining traction. The big thing for any server language is the ease of spinning up servers, routing, and securely getting user-input, and integrating with a database. http://perfect.org/docs/
There are other great frameworks out there to handle serving up HTML/CSS/JS templated files that you create. Check out Vapor: https://vapor.codes.
As for how does Server-Side Swift compare to Ruby, PHP, or Node.js? Well, it really comes down to a matter of opinion, personal preference, and developer support. PHP is a very mature language. Node.js is relatively mature. Ruby can be used in a wide range of applications (websites, web apps, IoT, etc). Swift and its applications are limited to Apple application development and, now, server scripting.