I started using Swift when it first came out and still love writing programs in it. For server development however, it’s hard to justify using Swift when compared to say, ASP.NET Core.
In particular, these are some of features I find missing in Swift:
- Dependency injection
- Automatically discovering controller methods
- Mapping plain old classes to configuration settings in app settings.
- Applying attributes to classes, methods and properties to affect functionality such as Authorization and input validation.
- Automatically discovering unit test methods
Admittedly, there are property wrappers which can be used for dependency injection, but the part that’s missing is scoping each class to a container (which requires the container to have some knowledge about the classes’ constructor).