Exploring the swift-web framework

A swift-package exploring the pointfreeco/swift-web framework.

Checkout the project here m-housh/swift-web-playground. Hope it may be helpful to others that are interested, but find the point free projects hard to digest / break down... (or a simple minded like me :stuck_out_tongue_winking_eye:)

The long story.

My normal profession is as a 3rd generation owner of a small HVAC company. Since taking over the company

I have developed an interest in software development and have several internal services that I run / maintain.

Those services are getting older, are web-based, and written primarily in python.

Since our company runs entirely on apple devices, I have been interested in everything swift over the last few years. I have some backend services written in vapor, but have recently gained interest in the The Composable Architecture for frontend work, and thought that I should explore their swift-web framework, eventhough it is mentioned on the repo that it considered not stable.

The swift-web framework uses a bunch of, in my opinion cryptic operators (some of which I still have to just copy and paste... i.e. <ยข> :joy:), and so I set out exploring their isowords project, which is somewhat large and includes both frontend and backend code. So the purpose of this repo was to breakdown just what was needed to stand up a simple CRUD api and explore some ways to add some synactic sugar around it.

This allowed me to explore several of the pointfreeco open source packages, as well as interact with some vapor database packages at a lower level than I had previously.

And while this package still has a decent amount of libraries it exposes, most are just a few files and offers a good separation of concerns, IMO.

It is my hope to write some articles around my experience for the last few days of learning this framework, but in the meantime I will give a brief overview of the libraries defined in this package. See the documentation strings in the files themselves for more information (while I work on exploring hosting the DocC generated documentation).

10 Likes