Reactive Programming in Kotlin


Book Description

Learn how to implement Reactive Programming paradigms with Kotlin, and apply them to web programming with Spring Framework 5.0 and in Android Application Development. About This Book Learn how to solve blocking user experience with Reactive Programming and get deep insights into RxKotlin Integrate Reactive Kotlin with Spring and build fantastic Android Apps with RxKotlin and RxAndroid Build reactive architectures that reduce complexity throughout the development process and make your apps(web and Android) scalable Who This Book Is For This book is for Kotlin developers who would like to build fault-tolerant, scalable, and distributed systems. A basic knowledge of Kotlin is required, but no prior knowledge of reactive programming. What You Will Learn Learn about reactive programming paradigms and how reactive programming can improve your existing projects Gain in-depth knowledge in RxKotlin 2.0 and the ReactiveX Framework Use RxKotlin with Android Create your own custom operators in RxKotlin Use Spring Framework 5.0 with Kotlin Use the reactor-kotlin extension Build Rest APIs with Spring,Hibernate, and RxKotlin Use testSubscriber to test RxKotlin applications Use backpressure management and Flowables In Detail In today's app-driven era, when programs are asynchronous, and responsiveness is so vital, reactive programming can help you write code that's more reliable, easier to scale, and better-performing. Reactive programming is revolutionary. With this practical book, Kotlin developers will first learn how to view problems in the reactive way, and then build programs that leverage the best features of this exciting new programming paradigm. You will begin with the general concepts of Reactive programming and then gradually move on to working with asynchronous data streams. You will dive into advanced techniques such as manipulating time in data-flow, customizing operators and provider and how to Use the concurrency model to control asynchronicity of code and process event handlers effectively. You will then be introduced to functional reactive programming and will learn to apply FRP in practical use cases in Kotlin. This book will also take you one step forward by introducing you to spring 5 and spring boot 2 using Kotlin. By the end of the book, you will be able to build real-world applications with reactive user interfaces as well as you'll learn to implement reactive programming paradigms in Android. Style and Approach Loaded with numerous code examples and real-life projects, this book helps you delve into Reactive Programming with Kotlin, and apply it to real-world Spring-web and Android projects, thus making all your apps reactive.




Reactive Programming with Kotlin (Second Edition)


Book Description

Learn Reactive Programming in Kotlin with RxJava!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 RxJava to create complex reactive applications on Android, you'll also see how to solve common application design issues by using RxJava. 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 ForThis book is for Android developers who already feel comfortable with the Android SDK and Kotlin, and want to dive deep into development with RxJava, RxKotlin, and RxAndroid.Topics Covered in Reactive Programming with Kotlin:Getting Started: Get an introduction to the reactive programming paradigm, learn the terminology involved, and see how to begin using RxJava 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 tools such as filtering, transforming, combining, and timing operators.UI Development: RxJava and companion libraries make it easy to work with the UI of your apps, providing a reactive approach to handling user events.Intermediate Topics: Level up your RxJava knowledge with chapters on reactive networking, error handling, and schedulers.Advanced Topics: Round out your RxJava education by learning about app architecture, repositories, and integrating RxJava with Android Jetpack.And much, much more!By the end of the 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!




Hands-On Design Patterns with Kotlin


Book Description

Make the most of Kotlin by leveraging design patterns and best practices to build scalable and high performing apps Key Features Understand traditional GOF design patterns to apply generic solutions Shift from OOP to FP; covering reactive and concurrent patterns in a step-by-step manner Choose the best microservices architecture and MVC for your development environment Book Description Design patterns enable you as a developer to speed up the development process by providing you with proven development paradigms. Reusing design patterns helps prevent complex issues that can cause major problems, improves your code base, promotes code reuse, and makes an architecture more robust. The mission of this book is to ease the adoption of design patterns in Kotlin and provide good practices for programmers. The book begins by showing you the practical aspects of smarter coding in Kotlin, explaining the basic Kotlin syntax and the impact of design patterns. From there, the book provides an in-depth explanation of the classical design patterns of creational, structural, and behavioral families, before heading into functional programming. It then takes you through reactive and concurrent patterns, teaching you about using streams, threads, and coroutines to write better code along the way By the end of the book, you will be able to efficiently address common problems faced while developing applications and be comfortable working on scalable and maintainable projects of any size. What you will learn Get to grips with Kotlin principles, including its strengths and weaknesses Understand classical design patterns in Kotlin Explore functional programming using built-in features of Kotlin Solve real-world problems using reactive and concurrent design patterns Use threads and coroutines to simplify concurrent code flow Understand antipatterns to write clean Kotlin code, avoiding common pitfalls Learn about the design considerations necessary while choosing between architectures Who this book is for This book is for developers who would like to master design patterns with Kotlin to build efficient and scalable applications. Basic Java or Kotlin programming knowledge is assumed







Kotlin in Action, Second Edition


Book Description

Expert guidance and amazing examples from Kotlin core developers! It’s everything you need to get up and running fast. Kotlin in Action, Second Edition takes you from language basics to building production-quality applications that take advantage of Kotlin’s unique features. Discover how the language handles everything from statements and functions to classes and types, and the unique features that make Kotlin programming so seamless. In Kotlin in Action, Second Edition you will learn: Kotlin statements and functions, and classes and types Functional programming on the JVM The Kotlin standard library and out-of-the-box features Writing clean and idiomatic code Combining Kotlin and Java Improve code reliability with null safety Domain-specific languages Kotlin coroutines and flows Mastering the kotlinx.coroutines library Kotlin in Action, Second Edition is a complete guide to the Kotlin language written especially for readers familiar with Java or another OO language. Its authors—all core Kotlin language developers and Kotlin team members—share their unique insights, along with practical techniques and hands-on examples. This new second edition is fully updated to include the latest innovations, and it adds new chapters dedicated to coroutines, flows, and concurrency. About the technology Kotlin is a low-hassle, high-productivity programming language flexible enough to handle any web, mobile, cloud, and enterprise application. Java developers will appreciate the simple syntax, intuitive type system, excellent tooling, and support for functional-style programming. Plus, since Kotlin runs on the JVM, it integrates seamlessly with existing Java code, libraries, and frameworks, including Spring and Android. About the book Kotlin in Action, Second Edition teaches you Kotlin techniques you can use for almost any type of application, from enterprise services to Android apps. The authors are all members of the Kotlin team, so you can trust that even the gnarly details are dead accurate. You’ll start with Kotlin fundamentals, learning how the language handles everything from statements and functions to classes and types, and about its unique features that make Kotlin programming so seamless. As you progress through this masterful book, you’ll get hands-on with the Kotlin standard library, functional programming in Kotlin, and advanced features such as generics and reflection. And this updated second edition now covers coroutines and structured concurrency to help you create efficient high-performance applications. What's inside Guidance from members of the Kotlin team Domain-specific languages Kotlin coroutines and flows About the reader For readers familiar with Java or another OO language. About the author Sebastian Aigner is a Developer Advocate at JetBrains, and host of the Talking Kotlin podcast. Roman Elizarov was the lead designer of the Kotlin language. JetBrains Developer Advocate, Svetlana Isakova, was a member of the Kotlin compiler team. Dmitry Jemerov is one of Kotlin’s initial developers.




Kotlin in Action


Book Description

Summary Kotlin in Action guides experienced Java developers from the language basics of Kotlin all the way through building applications to run on the JVM and Android devices. Foreword by Andrey Breslav, Lead Designer of Kotlin. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Developers want to get work done - and the less hassle, the better. Coding with Kotlin means less hassle. The Kotlin programming language offers an expressive syntax, a strong intuitive type system, and great tooling support along with seamless interoperability with existing Java code, libraries, and frameworks. Kotlin can be compiled to Java bytecode, so you can use it everywhere Java is used, including Android. And with an effi cient compiler and a small standard library, Kotlin imposes virtually no runtime overhead. About the Book Kotlin in Action teaches you to use the Kotlin language for production-quality applications. Written for experienced Java developers, this example-rich book goes further than most language books, covering interesting topics like building DSLs with natural language syntax. The authors are core Kotlin developers, so you can trust that even the gnarly details are dead accurate. What's Inside Functional programming on the JVM Writing clean and idiomatic code Combining Kotlin and Java Domain-specific languages About the Reader This book is for experienced Java developers. About the Author Dmitry Jemerov and Svetlana Isakova are core Kotlin developers at JetBrains. Table of Contents PART 1 - INTRODUCING KOTLIN Kotlin: what and why Kotlin basics Defining and calling functions Classes, objects, and interfaces Programming with lambdas The Kotlin type system PART 2 - EMBRACING KOTLIN Operator overloading and other conventions Higher-order functions: lambdas as parameters and return values Generics Annotations and reflection DSL construction




Functional Programming in Kotlin


Book Description

Functional Programming in Kotlin is a reworked version of the bestselling Functional Programming in Scala, with all code samples, instructions, and exercises translated into the powerful Kotlin language. In this authoritative guide, you''ll take on the challenge of learning functional programming from first principles, and start writing Kotlin code that''s easier to read, easier to reuse, better for concurrency, and less prone to bugs and errors. about the technology Kotlin is a new JVM language designed to interoperate with Java and offer an improved developer experience for creating new applications. It''s already a top choice for writing web services, and Android apps. Although it preserves Java''s OO roots, Kotlin really shines when you adopt a functional programming mindset. By learning the core principles and practices of functional programming outlined in this book, you''ll start writing code that''s easier to read, easier to test and reuse, better for concurrency, and less prone to bugs. about the book Functional Programming in Kotlin is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Based on the bestselling Functional Programming in Scala, this book guides intermediate Java and Kotlin programmers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you''ll find concrete examples and exercises that open up the world of functional programming. The book will deliver practical mastery of FP using Kotlin and a valuable perspective on program design that you can apply to other languages. what''s inside Functional programming techniques for real-world applications Write combinator libraries Identify common structures and idioms in functional design Code for simplicity, modularity, and fewer bugs about the reader For intermediate Kotlin and Java developers. No experience with functional programming is required. about the author Marco Vermeulen has almost two decades of programming experience on the JVM, with much of that time spent on functional programming using Scala and Kotlin. Rúnar Bjarnason and Paul Chiusano are the authors of Functional Programming in Scala, on which this book is based. They are internationally-recognized experts in functional programming and the Scala programming language.




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!




Learning RxJava


Book Description

Updated with the latest Maven coordinates, Java programming features, and API changes, this book is your guide to solving problems in writing asynchronous and event-based programs Key FeaturesExplore a variety of tools and techniques used to solve problems in implementing concurrency and parallelizationLearn about core operators in RxJava that enable you to express your code logic productivelyApply RxJava with Kotlin to create responsive Android apps with better user experienceBook Description RxJava is not just a popular library for building asynchronous and event-based applications; it also enables you to create a cleaner and more readable code base. In this book, you’ll cover the core fundamentals of reactive programming and learn how to design and implement reactive libraries and applications. Learning RxJava will help you understand how reactive programming works and guide you in writing your first example in reactive code. You’ll get to grips with the workings of Observable and Subscriber, and see how they are used in different contexts using real-world use cases. The book will also take you through multicasting and caching to help prevent redundant work with multiple Observers. You’ll then learn how to create your own RxJava operators by reusing reactive logic. As you advance, you’ll explore effective tools and libraries to test and debug RxJava code. Finally, you’ll delve into RxAndroid extensions and use Kotlin features to streamline your Android apps. By the end of this book, you'll become proficient in writing reactive code in Java and Kotlin to build concurrent applications, including Android applications. What you will learnDiscover different ways to create Observables, Observers, and SubscribersMulticast in order to push data to multiple destinations and cache and replay themExpress RxJava idiomatically with the help of Kotlin features such as extension functions and data classesBecome familiar with various operators available in RxJava to perform common transformations and tasksExplore RxJava’s reactive types, including Flowable, Single, Maybe, and CompletableDemystify Observables and how they express data and events as sequencesWho this book is for This book is for Java developers who want to leverage reactive programming to develop more resilient and concurrent applications. If you're an RxJava user looking to get to grips with the latest features and updates in RxJava 3, this book is for you. Fundamental knowledge of core Java features and object-oriented programming will assist you in understanding the key concepts covered in this book.




Reactive Java Programming


Book Description

Learn reactive programming using Java and its functional aspects, sometimes called RxJava. This book shows you how to solve "callback hell" with RxJava and shows you how to write thread-safe code without hanging onto state variables which comes in handy for cloud computing software-as-a-service issues, especially when dealing with big data processes through streaming. Reactive Java Programming includes unique coverage of reactive Android programming, growing more and more popular in mobile development with the Cloud. After reading this guide to reactive programming, you'll be able to apply it to your own big data cloud applications that use Java. What You'll Learn Use and map observables Filter and combine events Employ subjects, schedulers, and backpressure Handle reactive patterns Test your RxJava code Write your own operators Carry out reactive Android programming Who This Book Is For Experienced Java programmers new to reactive programming and those who may have some experience with reactive programming new to Java.