intro to perfect - la presentation

Post on 08-Jan-2017

339 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Full Stack SwiftOpportunity for Adventures

Perfect.orgThe Future of Server-Side Development

Tim TaplinProblem Solver

June 8th, 2015

Why Swift?Easy to ReadLegacy FreeLess Code

Powerful, FasterStatically Typed

SafeThe PlaygroundEasy to Maintain

Memory ManagementDynamic Libraries

Currently: Fragmented Development

Different Languages allow Mobile Devices to Share Data

*Developers need BACK and FRONT languages (native).

Key “Mobile” ProblemsMultiple development teams (front-end and back-end)Multiple development teams (for different devices)Support for multiple languages and code basesFragmented training and support

What’s NeededA more modern syntax languageA mobile-first languageCross-platform, enterprise options*A native, cross-platform development language

Open Source Swift offers deployment opportunities

• Ubuntu Linux• Cloud services• OSX hosting• IOS• OSX desktop apps• Maybe Android?

Open Source Swift offers developer opportunities

• same language server and client• simpler process • simpler troubleshooting• better communication between

teams

PerfectDesigned in Swift to break the boundaries

27,000 Twitter followers 998,700 Tweet Reach

#3 in Swift on GitHubof 40,764 projects(top 99.992%)

#460 in all on GitHubof 3,164,266 projects(top 99.98%)

50 Articles ~48,000,000 Readers

Perfect.orgThe Future of Server-Side Development

Why Perfect? Why PerfectlySoft?

Sean Kyle Lucas

treefrog.ca lassosoft.com

~1995

Filemaker connection language~1996

Filemaker scripts

~1997 Filemaker licencesLasso as “CDML”

Claris Home Page

The Dawn of the Internet and WWW

What’s Next

~2015 Why not?

=

What is Perfect?1. Perfect Library2. Perfect Servers

(Apache Plugin)(Standalone HTTP Server)(Developer App)

3. Datasource Connectors(MySQL)(Postgres)(MongoDB)

What is Perfect?

Perfect realizes the Swift opportunity-built by same group that developed Lasso for over 20 years-brings full toolset to server side-simple deployment-flexible structure-modular architecture-3.0 SPM ready

Key Features of the Perfect LibraryUTF16Encoding UTF8EncodingWebRequestJSON LogManagerMimeReaderMustache SupportWebResponseWebSocketsHTTP2FrameMySQL ConnectorPostgres ConnectorMongoDB ConnectorApache FastCGI

BytesCURLDirEncodingFastCGIServerFile ManagementHPACKHTTP2 ServerHTTP ServerHTTPS ServerStand-alone ServerICU CookieGenerateFromPointerJSON

NotificationResponseRouteMapSessionConfigurationSocketFileDescriptorNetNamedPipeNetTCPNetTCPSSLNotificationPusherPageHandlerRegistryRoutingSQLiteSessionManagerStaticFileHandlerSysProcessThreading

PerfectDesigned in Swift over 5 months

Deployment

OpenSwift

*Logo not ratified

To Do1. Install it!2. Engaging (GitHub stars, Twitter, etc.)3. Stress testing, pipe-cleaning, bug-

finding4. Tutorials, Examples, Snippets,

Projects5. Benchmark Comparisons6. Propose it! We need examples of

usage.7. Consider it. @perfectlysoft

Questions before we setup and run

Perfect?Twitter: @perfectlysoft

LinkedIn Group: Server Side SwiftGitHub: PerfectlySoft

Setting up &

Using Perfect

A Mac Xcode 7.3

What you Need

Swift 2.2

Step 1. Navigate to the Perfect Releases

*http://GitHub.com/PerfectlySoft/Perfect (or perfect.org)

Step 2. Download release 1.0

Step 3. Expand zip and open ExamplesStep 4. Open Examples.workspace

Step 5. Ensure you have Xcode 7.3

(includes Swift 2.2)

Step 6. Click targets popup in Xcode

Step 7. Select target WebSockets Server

Step 8. Click Run to build and run server

Step 9. Click open in browser button

Step 10. Enter text in text area

Step 11. Submit and see results

Step 12. URL routes registration

Step13. Receiving connection (and reading and writing data)

Other ExamplesUploads Enumerator

Authenticator

Tap Tracker

Key Features of the Perfect LibraryUTF16Encoding UTF8EncodingWebRequestJSON LogManagerMimeReaderMustache SupportWebResponseWebSocketsHTTP2FrameMySQL ConnectorPostgres ConnectorMongoDB ConnectorApache FastCGI

BytesCURLDirEncodingFastCGIServerFile ManagementHPACKHTTP2 ServerHTTP ServerHTTPS ServerStand-alone ServerICU CookieGenerateFromPointerJSON

NotificationResponseRouteMapSessionConfigurationSocketFileDescriptorNetNamedPipeNetTCPNetTCPSSLNotificationPusherPageHandlerRegistryRoutingSQLiteSessionManagerStaticFileHandlerSysProcessThreading

Lets Build a Project ourselves

http://www.chrismanahan.com/creating-a-web-service-swift-perfect

Questions?Twitter: @perfectlysoft

LinkedIn Group: Server Side SwiftGitHub: PerfectlySoft

top related