Hands-On Full-Stack Development with Swift


Book Description

Swift, with server-side coding, has become the future of native app development not only on iOS but for watchOS and tvOS. This book will show you how to create a native shopping list app along with a Full-Stack backend using Vapor. Vapor will serve as an API server for the mobile app and also as a web server to serve dynamic web pages to the ...




Hands-On Server-Side Web Development with Swift


Book Description

Take advantage of using the same programming language for both server and client-side with this hands-on book for building web applications with Swift. Key FeaturesBuild a full-stack iOS and web applications using Swift, Vapor, and Kitura FrameworkLeverage ORM abstraction drivers to make queries to SQL databaseDevelop your very own containerized microservices with Swift, Docker and KubernetesBook Description This book is about building professional web applications and web services using Swift 4.0 and leveraging two popular Swift web frameworks: Vapor 3.0 and Kitura 2.5. In the first part of this book, we’ll focus on the creation of basic web applications from Vapor and Kitura boilerplate projects. As the web apps start out simple, more useful techniques, such as unit test development, debugging, logging, and the build and release process, will be introduced to readers. In the second part, we’ll learn different aspects of web application development with server-side Swift, including setting up routes and controllers to process custom client requests, working with template engines such as Leaf and Stencil to create dynamic web content, beautifying the content with Bootstrap, managing user access with authentication framework, and leveraging the Object Relational Mapping (ORM) abstraction layer (Vapor’s Fluent and Kitura’s Kuery) to perform database operations. Finally, in the third part, we’ll develop web services in Swift and build our API Gateway, microservices and database backend in a three-tier architecture design. Readers will learn how to design RESTful APIs, work with asynchronous processes, and leverage container technology such as Docker in deploying microservices to cloud hosting services such as Vapor Cloud and IBM Cloud. What you will learnBuild simple web apps using Vapor 3.0 and Kitura 2.5Test, debug, build, and release server-side Swift applicationsDesign routes and controllers for custom client requestsWork with server-side template enginesDeploy web apps to a host in the cloudEnhance web content with BootstrapManage user access using authentication frameworkDesign for API gatewayDevelop an iPhone app to work with web servicesDeploy your app as a microservice in a clusterDeploy Swift web services with a RESTful API designWho this book is for This book is about building professional web applications and web services using Swift and leveraging two popular Swift web frameworks: Vapor 3.0 and Kitura 2.5. We assume the readers to have some working knowledge of Swift programming language. The readers could be beginners of Swift programming, seasonal iOS or macOS developers, or software developers who want to work on practical Swift applications while learning the language itself. By the end of the book, you would be able to successfully create your own web applications and web services by leveraging the powerful ecosystem of Swift.




Hands-On Design Patterns with Swift


Book Description

From learning about the most sought-after design patterns to a comprehensive coverage of architectural patterns and code testing, this book is all you need to write clean, reusable code Key FeaturesWrite clean, reusable and maintainable code, and make the most of the latest Swift version.Analyze case studies of some of the popular open source projects and give your workflow a huge boostChoose patterns such as MVP, MVC, and MVVM depending on the application being builtBook Description Swift keeps gaining traction not only amongst Apple developers but also as a server-side language. This book demonstrates how to apply design patterns and best practices in real-life situations, whether that's for new or already existing projects. You’ll begin with a quick refresher on Swift, the compiler, the standard library, and the foundation, followed by the Cocoa design patterns – the ones at the core of many cocoa libraries – to follow up with the creational, structural, and behavioral patterns as defined by the GoF. You'll get acquainted with application architecture, as well as the most popular architectural design patterns, such as MVC and MVVM, and learn to use them in the context of Swift. In addition, you’ll walk through dependency injection and functional reactive programming. Special emphasis will be given to techniques to handle concurrency, including callbacks, futures and promises, and reactive programming. These techniques will help you adopt a test-driven approach to your workflow in order to use Swift Package Manager and integrate the framework into the original code base, along with Unit and UI testing. By the end of the book, you'll be able to build applications that are scalable, faster, and easier to maintain. What you will learnWork efficiently with Foundation and Swift Standard libraryUnderstand the most critical GoF patterns and use them efficientlyUse Swift 4.2 and its unique capabilities (and limitations) to implement and improve GoF patternsImprove your application architecture and optimize for maintainability and performanceWrite efficient and clean concurrent programs using futures and promises, or reactive programming techniquesUse Swift Package Manager to refactor your program into reusable componentsLeverage testing and other techniques for writing robust codeWho this book is for This book is for intermediate developers who want to apply design patterns with Swift to structure and scale their applications. You are expected to have basic knowledge of iOS and Swift.




Hands-On Design Patterns with Swift


Book Description

From learning about the most sought-after design patterns to a comprehensive coverage of architectural patterns and code testing, this book is all you need to write clean, reusable code Key Features Write clean, reusable and maintainable code, and make the most of the latest Swift version. Analyze case studies of some of the popular open source projects and give your workflow a huge boost Choose patterns such as MVP, MVC, and MVVM depending on the application being built Book Description Swift keeps gaining traction not only amongst Apple developers but also as a server-side language. This book demonstrates how to apply design patterns and best practices in real-life situations, whether that's for new or already existing projects. You'll begin with a quick refresher on Swift, the compiler, the standard library, and the foundation, followed by the Cocoa design patterns - the ones at the core of many cocoa libraries - to follow up with the creational, structural, and behavioral patterns as defined by the GoF. You'll get acquainted with application architecture, as well as the most popular architectural design patterns, such as MVC and MVVM, and learn to use them in the context of Swift. In addition, you'll walk through dependency injection and functional reactive programming. Special emphasis will be given to techniques to handle concurrency, including callbacks, futures and promises, and reactive programming. These techniques will help you adopt a test-driven approach to your workflow in order to use Swift Package Manager and integrate the framework into the original code base, along with Unit and UI testing. By the end of the book, you'll be able to build applications that are scalable, faster, and easier to maintain. What you will learn Work efficiently with Foundation and Swift Standard library Understand the most critical GoF patterns and use them efficiently Use Swift 4.2 and its unique capabilities (and limitations) to implement and improve GoF patterns Improve your application architecture and optimize for maintainability and performance Write efficient and clean concurrent programs using futures and promises, or reactive programming techniques Use Swift Package Manager to refactor your program into reusable components Leverage testing and other techniques for writing robust code Who this book is for This book is for intermediate developers who want to apply design patterns with Swift to structure and scale their applications. You are expected to have basic knowledge of iOS and Swift.




Hands-On Swift 5 Microservices Development


Book Description

Learn to design and deploy fully functioning microservices for your applications from scratch using Swift, Docker, and AWS Key FeaturesUnderstand server-side Swift development concepts for building your first microserviceBuild microservices using Vapor 4 and deploy them to the cloud using DockerLearn effective techniques for enhancing maintainability and stability of your Swift applicationsBook Description The capabilities of the Swift programming language are extended to server-side development using popular frameworks such as Vapor. This enables Swift programmers to implement the microservices approach to design scalable and easy-to-maintain architecture for iOS, macOS, iPadOS, and watchOS applications. This book is a complete guide to building microservices for iOS applications. You’ll start by examining Swift and Vapor as backend technologies and compare them to their alternatives. The book then covers the concept of microservices to help you get started with developing your first microservice. Throughout this book, you’ll work on a case study of writing an e-commerce backend as a microservice application. You’ll understand each microservice as it is broken down into details and written out as code throughout the book. You’ll also become familiar with various aspects of server-side development such as scalability, database options, and information flow for microservices that are unwrapped in the process. As you advance, you’ll get to grips with microservices testing and see how it is different from testing a monolith application. Along the way, you’ll explore tools such as Docker, Postman, and Amazon Web Services. By the end of the book, you’ll be able to build a ready-to-deploy application that can be used as a base for future applications. What you will learnGrasp server-side Swift development concepts using practical examplesUnderstand the microservices approach and why Swift is a great choice for building microservicesDesign and structure mobile and web applications using microservices architectureDiscover the available database options and understand which one to chooseScale and monitor your microservicesUse Postman to automate testing for your microservices APIWho this book is for The book is for iOS, iPadOS, and macOS developers and Swift programmers who want to understand how Swift can be used for building microservices. The book assumes familiarity with Swift programming and the fundamentals of the web, including how APIs work.




Swift Protocol-Oriented Programming


Book Description

Embrace the Protocol-Oriented Programming paradigm, for better code maintainability and increased performance, with Swift programming. Key FeaturesLeverage the power of Protocol-Oriented Programming in your applications Leverage generics to create very flexible frameworksLearn how to implement common design patterns in a protocol-oriented wayBook Description Protocol-oriented programming is an incredibly powerful concept at the heart of Swift's design. Swift's standard library was developed using POP techniques, generics, and first-class value semantics; therefore, it is important for every Swift developer to understand these core concepts and take advantage of them. The fourth edition of this book is improved and updated to the latest version of the Swift programming language. This book will help you understand what protocol-oriented programming is all about and how it is different from other programming paradigms such as object-oriented programming. This book covers topics such as generics, Copy-On-Write, extensions, and of course protocols. It also demonstrates how to use protocol-oriented programming techniques via real-world use cases. By the end of this book, you will know how to use protocol-oriented programming techniques to build powerful and practical applications. What you will learnLearn the differences between object-oriented programming and protocol-oriented programmingUnderstand why value types should be prioritized over reference typesDelve into protocols, protocol inheritance, protocol composition, and protocol extensionsLearn how to implement COW (Copy-On-Write) within your custom value typesUnderstand how memory management works in Swift and how to avoid common pitfallsDesign applications by starting with the protocol rather than the implementationWho this book is for This book is intended for Swift developers who have, at minimum an introductory knowledge of the Swift programming language and would like to understand how they can use Protocol-Oriented Programming techniques in their applications.




Mastering Swift 5


Book Description

Harness the power of the latest edition with this in-depth and comprehensive guide to the Swift language Key FeaturesFifth edition of this bestselling book, improved and updated to cover the latest version of the Swift 5 programming languageGet to grips with popular and modern design techniques to write easy-to-manage Swift codeLearn how to use core Swift features such as concurrency, generics, and copy-on-write in your codeBook Description Over the years, the Mastering Swift book has established itself amongst developers as a popular choice as an in-depth and practical guide to the Swift programming language. The latest edition is fully updated and revised to cover the new version: Swift 5. Inside this book, you'll find the key features of Swift 5 easily explained with complete sets of examples. From the basics of the language to popular features such as concurrency, generics, and memory management, this definitive guide will help you develop your expertise and mastery of the Swift language. Mastering Swift 5, Fifth Edition will give you an in-depth knowledge of some of the most sophisticated elements in Swift development, including protocol extensions, error handling, and closures. It will guide you on how to use and apply them in your own projects. Later, you'll see how to leverage the power of protocol-oriented programming to write flexible and easier-to-manage code. You will also see how to add the copy-on-write feature to your custom value types and how to avoid memory management issues caused by strong reference cycles. What you will learnUnderstand core Swift components, including operators, collections, control flows, and functionsLearn how and when to use classes, structures, and enumerationsUnderstand how to use protocol-oriented design with extensions to write easier-to-manage codeUse design patterns with Swift, to solve commonly occurring design problemsImplement copy-on-write for you custom value types to improve performanceAdd concurrency to your applications using Grand Central Dispatch and Operation QueuesImplement generics to write flexible and reusable codeWho this book is for This book is for developers who want to delve into the newest version of Swift. If you are a developer and learn best by looking at and working with code, then this book is for you. A basic understanding of Apple's tools would be beneficial but not mandatory. All examples should work on the Linux platform as well.




Swift Game Development


Book Description

Embrace the mobile gaming revolution by creating popular iOS games with Swift 4.2 Key FeaturesLearn to create games for iPhone and iPad with the latest Swift Programming languageUnderstand the fundamental concepts of game development like game physics, camera action, sprites, controls, among othersBuild Augmented reality games using ARKit for true performanceBook Description Swift is the perfect choice for game development. Developers are intrigued by Swift and want to make use of new features to develop their best games yet. Packed with best practices and easy-to-use examples, this book leads you step by step through the development of your first Swift game. The book starts by introducing Swift's best features – including its new ones for game development. Using SpriteKit, you will learn how to animate sprites and textures. Along the way, you will master physics, animations, and collision effects and how to build the UI aspects of a game. You will then work on creating a 3D game using the SceneKit framework. Further, we will look at how to add monetization and integrate Game Center. With iOS 12, we see the introduction of ARKit 2.0. This new version allows us to integrate shared experiences such as multiplayer augmented reality and persistent AR that is tied to a specific location so that the same information can be replicated on all connected devices. In the next section, we will dive into creating Augmented Reality games using SpriteKit and SceneKit. Then, finally, we will see how to create a Multipeer AR project to connect two devices, and send and receive data back and forth between those devices in real time. By the end of this book, you will be able to create your own iOS games using Swift and publish them on the iOS App Store. What you will learnDeliver powerful graphics, physics, and sound in your game by using SpriteKit and SceneKitSet up a scene using the new capabilities of the scene editor and custom classesMaximize gameplay with little-known tips and strategies for fun, repeatable actionMake use of animations, graphics, and particles to polish your gameUnderstand the current mobile monetization landscapeIntegrate your game with Game CenterDevelop 2D and 3D Augmented Reality games using Apple's new ARKit frameworkPublish your game to the App StoreWho this book is for If you wish to create and publish iOS games using Swift, then this book is for you. No prior game development or experience with Apple ecosystem is needed.




Mastering iOS 12 Programming


Book Description

Become a professional iOS developer with the most in-depth and advanced guide to Swift, Xcode 10, ARKit, and Core ML Key FeaturesExplore the extensive world of iOS development through practical examplesGain detailed insights into core iOS programming concepts such as app extensions and performanceExtend your iOS apps by adding augmented reality and machine learning capabilitiesBook Description The iOS development environment has significantly matured, and with Apple users spending more money in the App Store, there are plenty of development opportunities for professional iOS developers. However, the journey to mastering iOS development and the new features of iOS 12 is not straightforward. This book will help you make that transition smoothly and easily. With the help of Swift 4.2, you’ll not only learn how to program for iOS 12, but also how to write efficient, readable, and maintainable Swift code that maintains industry best practices. Mastering iOS 12 Programming will help you build real-world applications and reflect the real-world development flow. You will also find a mix of thorough background information and practical examples, teaching you how to start implementing your newly gained knowledge. By the end of this book, you will have got to grips with building iOS applications that harness advanced techniques and make best use of the latest and greatest features available in iOS 12. What you will learnBuild a professional iOS application using Xcode 10 and Swift 4.2Use AutoLayout to create complex layouts that look great on every deviceDelve into advanced animations with UIViewPropertyAnimator and UIKit DynamicsEnhance your app by using instruments and building your own profiling toolsIntegrate iMessage, Siri, and more in your app through app extensionsTrain and use machine learning models with Core ML 2 and Create MLCreate engaging augmented reality experiences with ARKit 2Who this book is for If you’re a developer with some experience in iOS programming and want to enhance your skills by unlocking the full potential of the latest iOS version with Swift to build great applications, this book is for you.




Full Stack iOS Development with Swift and Vapor


Book Description

This comprehensive book combines the strengths of Swift, the Vapor framework, and iOS development to create dynamic, full-stack applications. Perfect for aspiring developers, students, and seasoned iOS professionals, this book equips you with the skills needed to master both server-side and client-side development. Key topics include understanding the fundamentals and history of full-stack development and the concept of a minimum viable product; installing and configuring essential tools and SDKs for Vapor and iOS development; mastering data persistence by integrating PostgreSQL with the Vapor framework; and implementing data storage solutions in iOS apps using Core Data and SQLite. Companion files (sample code and figures) are available for downloading by writing to the publisher. FEATURES • Includes real-world projects and exercises to apply your newly acquired skills in practical scenarios • Emphasizes best practices, security considerations, and performance optimization techniques • Features comprehensive exploration of both backend and frontend development • Companion files (sample code and figures) are available for downloading by writing to the publisher




Recent Books