RxSwift (Fourth Edition)


Book Description

Learn Reactive Programming in Swift with RxSwift!The popularity of reactive programming continues to grow on an every-increasing number of platforms and languages. Rx lets developers easily and quickly build apps with code that can be understood by other Rx developers - even over different platforms.Not only will you learn how to use the RxSwift port to create complex reactive applications on iOS, you'll also see how to easily solve common application design issues by using RxSwift. Finally you'll discover how to exercise full control over the library and leverage the full power of reactive programming in your apps.This books is for iOS developers who already feel comfortable with iOS and Swift, and want to dive deep into development with RxSwift.Topics Covered in RxSwift:- Getting Started: Get an introduction to the reactive programming paradigm, learn the terminology involved and see how to begin using RxSwift in your projects.- Event Management: Learn how to handle asynchronous event sequences via two key concepts in Rx - Observables and Observers.- Being Selective: See how to work with various events using concepts such as filtering, transforming, combining, and time operators.- UI Development: RxSwift makes it easy to work with UI of your apps using RXCocoa, which provides integration of both UIKit and Cocoa.- Intermediate Topics: Level up your RxSwift knowledge with chapters on reactive networking, multi-threading, and error handling.And much, much more!By the end of this book, you'll have hands-on experience solving common issues in a reactive paradigm - and you'l be well on your way to coming up with your own Rx patterns and solutions!




Rxswift


Book Description

Learn reactive programming in Swift with RxSwift! The popularity of reactive programming continues to grow on an ever-increasing number of platforms and languages. Rx lets developers easily and quickly build apps with code that can be understood by other Rx developers - even over different platforms. Not only will you learn how to use the RxSwift port to create complex reactive applications on iOS, you'll also see how to easily solve common application design issues by using RxSwift. Finally, you'll discover how to exercise full control over the library and leverage the full power of reactive programming in your apps. Who This Book Is For This book is for iOS developers who already feel comfortable with iOS and Swift, and want to dive deep into development with RxSwift. Topics Covered in RxSwift Getting Started Get an introduction to the reactive programming paradigm, learn the terminology involved and see how to begin using RxSwift in your projects. Event Management Learn how to handle asynchronous event sequences via two key concepts in Rx - Observables and Observers. Being Selective See how to work with various events using concepts such as filtering, transforming, combining, and time operators. UI Development RxSwift makes it easy to work with the UI of your apps using RxCocoa, which provides an integration of both UIKit and Cocoa. Intermediate Topics Level up your RxSwift knowledge with chapters on reactive networking, multi-threading, and error handling. Advanced Topics Round out your RxSwift education by learning about MVVM app architecture, scene-based navigation, and exposing data via services. And much, much more! By the end of this book, you'll have hands-on experience solving common issues in a reactive paradigm - and you'll be well on your way to coming up with your own Rx patterns and solutions!




Server Side Swift with Vapor


Book Description

Learn how to use Swift on the server! Server Side Swift with Vapor introduces you to the world of server development with the added bonus of using Swift. You'll learn how to build APIs, web sites, databases, application servers and use Vapor's very own Vapor Cloud to host your solutions off-site. You'll use many of Vapor's modules such as Fluent, Vapor's ORM, and Leaf, the templating engine for building web pages. Who This Book Is For This book is for iOS developers who already know the basics of iOS and Swift development and want to transfer that knowledge to writing server based applications. Topics Covered in Server Side Swift with Vapor HTTP Learn the basics of how to make requests to and from servers. Fluent Learn how to use Fluent to save and manage your models in databases. Controllers Learn how to use controllers to route your requests and responses. Leaf Learn how Vapor's Leaf module and its templating language allow you to build dynamic web sites directly. Middleware Learn how built-in Vapor modules can assist with common tasks such as validating users, settings required response headers, serving static files and more. One thing you can count on: After reading this book, you'll be prepared to write your own server-side applications using Vapor and, of course, Swift.




Combine


Book Description

Dive into Combine! Writing asynchronous code can be challenging, with a variety of possible interfaces to represent, perform, and consume asynchronous work - delegates, notification center, KVO, closures, etc. Juggling all of these different mechanisms can be somewhat overwhelming. Does it have to be this hard? Not anymore! In this book, you'll learn about Combine - Apple's framework to work with asynchronous events in a unified and reactive way that ensures your app is always up to date based on the latest state of its data. Who This Book Is For This book is for intermediate iOS developers who already know the basics of iOS and Swift development but are interested in learning declarative/reactive programming and take their app and state management to the next level. You'll also find this book interesting if you're interested in SwiftUI - as many of the reactive capabilities keeping your SwiftUI views up-to-date are built on top of Combine. Topics Covered in Combine: Asynchronous Programming with Swift What & Why: Learn what is Combine and reactive programming and the problems they solve, and how you can unify all of your asynchronous piece of work. Operators: Learn how to compose, transform, filter and otherwise manipulate different pieces of asynchronous work using operators. In Practice: You'll gain knowledge on various topics and techniques you'll leverage when writing your own real-life apps, as well as practice these techniques with actual hands-on apps and projects. SwiftUI: You'll learn about how Combine is deeply rooted within SwiftUI and provides it with the ability to reactively update its views based on the state of your app. Advanced Combine: Once you've got a handle on the basics, you'll dive into advanced Combine topics such as Error Handling, Schedulers, and Custom Publishers. By the end of this book, you'll be a pro in building full-fledged applications using Combine's various abilities.




Practical C++ Design


Book Description

Go from competent C++ developer to skilled designer or architect using this book as your C++ design master class. This title will guide you through the design and implementation of a fun, engaging case study. Starting with a quick exploration of the requirements for building the application, you'll delve into selecting an appropriate architecture, eventually designing and implementing all of the necessary modules to meet the project’s requirements. By the conclusion of Practical C++ Design, you'll have constructed a fully functioning calculator that builds and executes on multiple platforms. Access to the complete source code will help speed your learning. Utilize the Model-View-Controller pattern to determine the optimal architecture for the calculator; the observer pattern to design an event system; the singleton pattern as you design the calculator’s central data repository, a reusable stack; the command pattern to design a command system supporting unlimited undo/redo; and the abstract factory pattern for a cross-platform plugin infrastructure to make the calculator extensible. What You Will Learn Read a specification document and translate it into a practical C++ design Understand trade-offs in selecting between alternative design scenarios Gain practical experience in applying design patterns to realistic development scenarios Learn how to effectively use language elements of modern C++ to create a lasting design Develop a complete C++ program from a blank canvas through to a fully functioning, cross platform application Read, modify, and extend existing, high quality code Learn the fundamentals of API design, including class, module, and plugin interfaces Who This Book Is For The experienced C++ developer ready to take the next step to becoming a skilled C++ designer.




Reactive Streams in Java


Book Description

Get an easy introduction to reactive streams in Java to handle concurrency, data streams, and the propagation of change in today's applications. This compact book includes in-depth introductions to RxJava, Akka Streams, and Reactor, and integrates the latest related features from Java 9 and 11, as well as reactive streams programming with the Android SDK. Reactive Streams in Java explains how to manage the exchange of stream data across an asynchronous boundary—passing elements on to another thread or thread-pool—while ensuring that the receiving side is not forced to buffer arbitrary amounts of data which can reduce application efficiency. After reading and using this book, you'll be proficient in programming reactive streams for Java in order to optimize application performance, and improve memory management and data exchanges. What You Will Learn Discover reactive streams and how to use them Work with the latest features in Java 9 and Java 11Apply reactive streams using RxJava Program using Akka StreamsCarry out reactive streams programming in Android Who This Book Is For Experienced Java programmers.




Advanced IOS App Architecture (Third Edition)


Book Description

Apply Different Architectures to Your Codebase! Advanced iOS App Architecture guides you through building one real-world app written in different architectures to give you hands-on and practical experience working in different architectures. This book will also guide you through the theory you need to gain a solid foundation of architecture concepts so that you can make your own informed decisions on how to use them in your codebase. Who This Book Is For This book is for intermediate iOS developers who already know the basics of iOS and are looking to build apps using defined architectures, making apps cleaner and easier to maintain. Topics Covered in Advanced iOS App Architecture Navigating Architecture Topics: Learn the theory behind various architectures to help inform which works best for you in different situations you may face. Managing Dependencies: Learn how to manage dependencies both internally and externally within your app. MVVM Architecture: Explore the history of the MVVM architecture and begin building KOOBER - the book's project app - using MVVM principles. Redux Architecture: Explore the history of the Redux architecture and continue building KOOBER using Redux principles. Elements Architecture: Explore the history of the Elements architecture and continue building KOOBER using Elements principles. SwiftUI: Explore SwiftUI and find out how to adapt existing application architectures for use with SwiftUI. After reading this book, you'll have the knowledge to decide which types of architecture components suit your apps and you'll have a deep understanding of the covered architectures. About the iOS Architecture Team The architecture team is a group of seasoned developers who work for large multi-national companies who deal with large and diverse code bases on a daily basis. The knowledge procured over years of development is now being transferred to you through book. We hope you enjoy the book and, hopefully, you'll apply some of the architectures you've learned to your own apps




App Architecture


Book Description

This book explains a range of application design patterns and their implementation techniques using a single example app, fully implemented in five design patterns. Instead of advocating for any particular pattern, we lay out the problems all architectures are trying to address: constructing the app's components, communicating between the view and the model, and handling non-model state. We show high-level solutions to these problems and break them down to the level of implementation for five different design patterns - two commonly used and three more experimental.The common architectures are Model-View-Controller and Model-View-ViewModel + Coordinator. In addition to explaining these patterns conceptually and on the implementation level, we discuss solutions to commonly encountered problems, like massive view controllers. On the experimental side we explain View-State-Driven Model-View-Controller, ModelAdapter-ViewBinder, and The Elm Architecture. By examining these experimental patterns, we extract valuable lessons that can be applied to other patterns and to existing code bases.




Learn Qt 5


Book Description

Learn the fundamentals of QT 5 framework to develop interactive cross-platform applications Key Features A practical guide on the fundamentals of application development with QT 5 Learn to write scalable, robust and adaptable C++ code with QT Deploy your application on different platforms such as Windows, Mac OS, and Linux Book Description Qt is a mature and powerful framework for delivering sophisticated applications across a multitude of platforms. It has a rich history in the Linux world, is widely used in embedded devices, and has made great strides in the Mobile arena over the past few years. However, in the Microsoft Windows and Apple Mac OS X worlds, the dominance of C#/.NET and Objective-C/Cocoa means that Qt is often overlooked. This book demonstrates the power and flexibility of the Qt framework for desktop application development and shows how you can write your application once and deploy it to multiple operating systems. Build a complete real-world line of business (LOB) solution from scratch, with distinct C++ library, QML user interface, and QtTest-driven unit-test projects. This is a suite of essential techniques that cover the core requirements for most LOB applications and will empower you to progress from a blank page to shipped application. What you will learn · Install and configure the Qt Framework and Qt Creator IDE · Create a new multi-project solution from scratch and control every aspect of it with QMake · Implement a rich user interface with QML · Learn the fundamentals of QtTest and how to integrate unit testing · Build self-aware data entities that can serialize themselves to and from JSON · Manage data persistence with SQLite and CRUD operations · Reach out to the internet and consume an RSS feed · Produce application packages for distribution to other users Who this book is for This book is for application developers who want a powerful and flexible framework to create modern, responsive applications on Microsoft Windows, Apple Mac OS X, and Linux desktop platforms. You should be comfortable with C++ but no prior knowledge of Qt or QML is required.




Expert Swift (First Edition)


Book Description

Deep Dive Into Swift!Swift is a rich language with a plethora of features to offer. Reading the official documentation or entry-level books is important, but it's not enough to grasp the true power of the language.Expert Swift is here to help, by showing you how to harness the full power of Swift. You'll learn about advanced usages of protocols, generics, functional reactive programming, API design and more.Who This Book is ForThis book is for intermediate Swift developers who already know the basics of Swift and are looking to deepen their knowledge and understanding of the language.Topics Covered in Expert SwiftProtocols and Generics: Learn how protocols and generics work, and how you can leverage them in your code to produce clean, long-lasting and easy-to-refactor APIs.Sequences and Collections: Learn how to use Sequences and Collections to write generic algorithms that operate across type families.Unsafe: Understand the memory layout of types and how to use typed and untyped pointers.Functional Reactive Programming: Explore the most important and refined concepts of functional reactive programming and how you can apply these concepts to your apps.Objective-C Interoperability: Learn how to expose Objective-C code to Swift and vice versa.Library and API Design: Enhancing your skill set and intuition for designing great APIs.One thing you can count on: after reading this book, you'll be prepared to use the advanced features of Swift and improve your existing code with the knowledge you'll acquire.