Reactive programming in Kotlin :: design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring /
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 R...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Birmingham, UK :
Packt Publishing,
2017.
|
Schlagworte: | |
Online-Zugang: | Volltext |
Zusammenfassung: | 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 c ... |
Beschreibung: | 1 online resource (1 volume) : illustrations |
ISBN: | 9781788470254 1788470257 1788473027 9781788473026 |
Internformat
MARC
LEADER | 00000cam a2200000 i 4500 | ||
---|---|---|---|
001 | ZDB-4-EBA-on1019685199 | ||
003 | OCoLC | ||
005 | 20241004212047.0 | ||
006 | m o d | ||
007 | cr unu|||||||| | ||
008 | 180115s2017 enka o 000 0 eng d | ||
040 | |a UMI |b eng |e rda |e pn |c UMI |d STF |d OCLCF |d IDEBK |d TOH |d CEF |d KSU |d DEBBG |d TEFOD |d G3B |d S9I |d UAB |d N$T |d QGK |d OCLCQ |d OCLCO |d NZAUC |d OCLCQ |d OCLCO |d OCLCL |d DXU | ||
020 | |a 9781788470254 |q (electronic bk.) | ||
020 | |a 1788470257 |q (electronic bk.) | ||
020 | |a 1788473027 | ||
020 | |a 9781788473026 | ||
035 | |a (OCoLC)1019685199 | ||
037 | |a CL0500000928 |b Safari Books Online | ||
037 | |a 9DCEA6D7-6864-461E-AE0F-E10433958136 |b OverDrive, Inc. |n http://www.overdrive.com | ||
050 | 4 | |a QA76.76.A65 | |
082 | 7 | |a 005.11 |2 23 | |
049 | |a MAIN | ||
100 | 1 | |a Chakraborty, Rivu, |e author. | |
245 | 1 | 0 | |a Reactive programming in Kotlin : |b design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / |c Rivu Chakraborty. |
264 | 1 | |a Birmingham, UK : |b Packt Publishing, |c 2017. | |
300 | |a 1 online resource (1 volume) : |b illustrations | ||
336 | |a text |b txt |2 rdacontent | ||
337 | |a computer |b c |2 rdamedia | ||
338 | |a online resource |b cr |2 rdacarrier | ||
347 | |a data file | ||
588 | 0 | |a Online resource; title from title page (Safari, viewed January 15, 2018). | |
520 | |a 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 c ... | ||
505 | 0 | |a Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Dedication -- Table of Contents -- Preface -- Chapter 1: A Short Introduction to Reactive Programming -- What is reactive programming? -- Reasons to adapt functional reactive programming -- Reactive Manifesto -- Reactive Streams standard specifications -- Reactive Frameworks for Kotlin -- Getting started with RxKotlin -- Downloading and setting up RxKotlin -- Comparing the pull mechanism with the RxJava push mechanism -- The ReactiveEvenOdd program -- The ReactiveCalculator project -- Summary -- Chapter 2: Functional Programming with Kotlin and RxKotlin -- Introducing functional programming -- Fundamentals of functional programming -- Lambda expressions -- Pure function -- High-order functions -- Inline functions -- Applying functional programming to the ReactiveCalculator class -- Coroutines -- Getting started with coroutines -- Building sequences -- The ReactiveCalculator class with coroutines -- Functional programming -- monads -- Single monad -- Summary -- Chapter 3: Observables, Observers, and Subjects -- Observables -- How Observable works -- Understanding the Observable.create method -- Understanding the Observable.from methods -- Understanding the toObservable extension function -- Understanding the Observable.just method -- Other Observable factory methods -- Subscribers -- the Observer interface -- Subscribing and disposing -- Hot and Cold Observables -- Cold Observables -- Hot Observables -- Introducing the ConnectableObservable object -- Subjects -- Varieties of Subject -- Understanding AsyncSubject -- Understanding PublishSubject -- Understanding BehaviorSubject -- Understanding ReplaySubject -- Summary -- Chapter 4: Introduction to Backpressure and Flowables -- Understanding backpressure -- Flowable. | |
505 | 8 | |a When to use Flowables and Observables -- When to use Flowables? -- When to use Observables? -- Flowable and Subscriber -- Creating Flowable from scratch -- Creating Flowable from Observable -- BackpressureStrategy.MISSING and onBackpressureXXX() -- Operator onBackpressureBuffer() -- Operator onBackpressureDrop() -- Operator onBackpressureLatest() -- Generating Flowable with backpressure at source -- ConnectableFlowable -- Processor -- Learning Buffer, Throttle, and Window operators -- The buffer() operator -- The window() operator -- The throttle() operators -- Summary -- Chapter 5: Asynchronous Data Operators and Transformations -- Operator -- The filtering/suppressing operators -- The debounce operator -- The distinct operators -- distinct, distinctUntilChanged -- The elementAt operator -- Filtering emissions -- filter operator -- The first and last operator -- The ignoreElements operator -- The transforming operators -- The map operator -- Casting emissions (cast operator) -- The flatMap operator -- The defaultIfEmpty operator -- The switchIfEmpty operator -- The startWith operator -- Sorting emissions (sorted operator) -- Accumulating data -- scan operator -- Reducing operators -- Counting emissions (count operator) -- Accumulating emissions -- reduce operator -- The collection operators -- The error handling operators -- The utility operators -- Summary -- Chapter 6: More on Operators and Error Handling -- Combining producers (Observable/Flowable) -- The startWith operator -- Zipping emissions -- zip operator -- The zipWith operator -- The combineLatest operator -- Merging Observables/Flowables -- merge operator -- Concatenating producers (Observable/Flowable) -- Ambiguously combining producers -- Grouping -- flatMap, concatMap -- In details -- When to use flatMap operator -- When to use concatMap operator -- Understanding switchMap operator. | |
505 | 8 | |a Skipping and taking emissions -- Skipping emissions (skip, skipLast, skipUntil, and skipWhile) -- Take operators (take, takeLast, takeWhile, and takeUntil) -- The error handling operators -- onErrorReturn -- return a default value on error -- The onErrorResumeNext operator -- Retrying on error -- An HTTP example -- Summary -- Chapter 7: Concurrency and Parallel Processing in RxKotlin with Schedulers -- Introduction to concurrency -- Parallel execution versus concurrency -- What is a scheduler? -- Types of scheduler -- Schedulers.io() -- I/O bound scheduler -- Schedulers.computation() -- CPU bound schedulers -- Schedulers.newThread() -- Schedulers.single() -- Schedulers.trampoline() -- Schedulers.from -- How to use schedulers -- subscribeOn and observeOn operators -- Changing thread on subscription -- subscribeOn operator -- Observing on a different thread -- observeOn operator -- Summary -- Chapter 8: Testing RxKotlin Applications -- Introduction to unit testing and its importance -- Why is unit testing so important? -- Writing JUnit tests in Kotlin -- Testing your code -- Testing in RxKotlin -- Blocking subscribers -- Blocking operators -- Getting the first emitted item -- blockingFirst() -- Getting the only item from single or maybe -- blockingGet -- Getting the last Item -- blockingLast -- Getting all emissions as iterable -- blockingIterable operator -- Looping through all emissions -- blockingForEach -- Introducing TestObserver and TestSubscriber -- Understanding TestScheduler -- Summary -- Chapter 9: Resource Management and Extending RxKotlin -- Resource management -- Creating your own operators -- Composing operators with transformer -- Summary -- Chapter 10: Introduction to Web Programming with Spring for Kotlin Developers -- Spring, history, and origin of Spring -- The origin and history of Spring -- Dependency injection and IoC. | |
505 | 8 | |a Spring Annotation configuration -- Spring -- AOP -- Introduction to Spring Boot -- Creating a Rest API with Spring Boot -- Summary -- Chapter 11: REST APIs with Spring JPA and Hibernate -- REST API with Spring Boot, Hibernate, and JPA -- Reactive programming with Reactor -- Add Reactor to your project -- Understanding Flux and Mono -- Summary -- Chapter 12: Reactive Kotlin and Android -- Setting up Kotlin in Android Studio -- Getting started with ToDoApp on Android -- Retrofit 2 for API calls -- RxKotlin with Retrofit -- Making Android events reactive -- Introducing RxBinding in Android -- Kotlin extensions -- Summary -- Index. | |
650 | 0 | |a Application software |x Development. |0 http://id.loc.gov/authorities/subjects/sh95009362 | |
650 | 0 | |a Programming languages (Electronic computers) |0 http://id.loc.gov/authorities/subjects/sh85107313 | |
650 | 6 | |a Logiciels d'application |x Développement. | |
650 | 7 | |a Application software |x Development |2 fast | |
650 | 7 | |a Programming languages (Electronic computers) |2 fast | |
758 | |i has work: |a Reactive Programming in Kotlin (Text) |1 https://id.oclc.org/worldcat/entity/E39PCYcgCDYWD9q3FVRQcHVdMd |4 https://id.oclc.org/worldcat/ontology/hasWork | ||
856 | 4 | 0 | |l FWS01 |p ZDB-4-EBA |q FWS_PDA_EBA |u https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1649952 |3 Volltext |
938 | |a EBSCOhost |b EBSC |n 1649952 | ||
938 | |a ProQuest MyiLibrary Digital eBook Collection |b IDEB |n cis39660786 | ||
994 | |a 92 |b GEBAY | ||
912 | |a ZDB-4-EBA | ||
049 | |a DE-863 |
Datensatz im Suchindex
DE-BY-FWS_katkey | ZDB-4-EBA-on1019685199 |
---|---|
_version_ | 1816882410219896832 |
adam_text | |
any_adam_object | |
author | Chakraborty, Rivu |
author_facet | Chakraborty, Rivu |
author_role | aut |
author_sort | Chakraborty, Rivu |
author_variant | r c rc |
building | Verbundindex |
bvnumber | localFWS |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.76.A65 |
callnumber-search | QA76.76.A65 |
callnumber-sort | QA 276.76 A65 |
callnumber-subject | QA - Mathematics |
collection | ZDB-4-EBA |
contents | Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Dedication -- Table of Contents -- Preface -- Chapter 1: A Short Introduction to Reactive Programming -- What is reactive programming? -- Reasons to adapt functional reactive programming -- Reactive Manifesto -- Reactive Streams standard specifications -- Reactive Frameworks for Kotlin -- Getting started with RxKotlin -- Downloading and setting up RxKotlin -- Comparing the pull mechanism with the RxJava push mechanism -- The ReactiveEvenOdd program -- The ReactiveCalculator project -- Summary -- Chapter 2: Functional Programming with Kotlin and RxKotlin -- Introducing functional programming -- Fundamentals of functional programming -- Lambda expressions -- Pure function -- High-order functions -- Inline functions -- Applying functional programming to the ReactiveCalculator class -- Coroutines -- Getting started with coroutines -- Building sequences -- The ReactiveCalculator class with coroutines -- Functional programming -- monads -- Single monad -- Summary -- Chapter 3: Observables, Observers, and Subjects -- Observables -- How Observable works -- Understanding the Observable.create method -- Understanding the Observable.from methods -- Understanding the toObservable extension function -- Understanding the Observable.just method -- Other Observable factory methods -- Subscribers -- the Observer interface -- Subscribing and disposing -- Hot and Cold Observables -- Cold Observables -- Hot Observables -- Introducing the ConnectableObservable object -- Subjects -- Varieties of Subject -- Understanding AsyncSubject -- Understanding PublishSubject -- Understanding BehaviorSubject -- Understanding ReplaySubject -- Summary -- Chapter 4: Introduction to Backpressure and Flowables -- Understanding backpressure -- Flowable. When to use Flowables and Observables -- When to use Flowables? -- When to use Observables? -- Flowable and Subscriber -- Creating Flowable from scratch -- Creating Flowable from Observable -- BackpressureStrategy.MISSING and onBackpressureXXX() -- Operator onBackpressureBuffer() -- Operator onBackpressureDrop() -- Operator onBackpressureLatest() -- Generating Flowable with backpressure at source -- ConnectableFlowable -- Processor -- Learning Buffer, Throttle, and Window operators -- The buffer() operator -- The window() operator -- The throttle() operators -- Summary -- Chapter 5: Asynchronous Data Operators and Transformations -- Operator -- The filtering/suppressing operators -- The debounce operator -- The distinct operators -- distinct, distinctUntilChanged -- The elementAt operator -- Filtering emissions -- filter operator -- The first and last operator -- The ignoreElements operator -- The transforming operators -- The map operator -- Casting emissions (cast operator) -- The flatMap operator -- The defaultIfEmpty operator -- The switchIfEmpty operator -- The startWith operator -- Sorting emissions (sorted operator) -- Accumulating data -- scan operator -- Reducing operators -- Counting emissions (count operator) -- Accumulating emissions -- reduce operator -- The collection operators -- The error handling operators -- The utility operators -- Summary -- Chapter 6: More on Operators and Error Handling -- Combining producers (Observable/Flowable) -- The startWith operator -- Zipping emissions -- zip operator -- The zipWith operator -- The combineLatest operator -- Merging Observables/Flowables -- merge operator -- Concatenating producers (Observable/Flowable) -- Ambiguously combining producers -- Grouping -- flatMap, concatMap -- In details -- When to use flatMap operator -- When to use concatMap operator -- Understanding switchMap operator. Skipping and taking emissions -- Skipping emissions (skip, skipLast, skipUntil, and skipWhile) -- Take operators (take, takeLast, takeWhile, and takeUntil) -- The error handling operators -- onErrorReturn -- return a default value on error -- The onErrorResumeNext operator -- Retrying on error -- An HTTP example -- Summary -- Chapter 7: Concurrency and Parallel Processing in RxKotlin with Schedulers -- Introduction to concurrency -- Parallel execution versus concurrency -- What is a scheduler? -- Types of scheduler -- Schedulers.io() -- I/O bound scheduler -- Schedulers.computation() -- CPU bound schedulers -- Schedulers.newThread() -- Schedulers.single() -- Schedulers.trampoline() -- Schedulers.from -- How to use schedulers -- subscribeOn and observeOn operators -- Changing thread on subscription -- subscribeOn operator -- Observing on a different thread -- observeOn operator -- Summary -- Chapter 8: Testing RxKotlin Applications -- Introduction to unit testing and its importance -- Why is unit testing so important? -- Writing JUnit tests in Kotlin -- Testing your code -- Testing in RxKotlin -- Blocking subscribers -- Blocking operators -- Getting the first emitted item -- blockingFirst() -- Getting the only item from single or maybe -- blockingGet -- Getting the last Item -- blockingLast -- Getting all emissions as iterable -- blockingIterable operator -- Looping through all emissions -- blockingForEach -- Introducing TestObserver and TestSubscriber -- Understanding TestScheduler -- Summary -- Chapter 9: Resource Management and Extending RxKotlin -- Resource management -- Creating your own operators -- Composing operators with transformer -- Summary -- Chapter 10: Introduction to Web Programming with Spring for Kotlin Developers -- Spring, history, and origin of Spring -- The origin and history of Spring -- Dependency injection and IoC. Spring Annotation configuration -- Spring -- AOP -- Introduction to Spring Boot -- Creating a Rest API with Spring Boot -- Summary -- Chapter 11: REST APIs with Spring JPA and Hibernate -- REST API with Spring Boot, Hibernate, and JPA -- Reactive programming with Reactor -- Add Reactor to your project -- Understanding Flux and Mono -- Summary -- Chapter 12: Reactive Kotlin and Android -- Setting up Kotlin in Android Studio -- Getting started with ToDoApp on Android -- Retrofit 2 for API calls -- RxKotlin with Retrofit -- Making Android events reactive -- Introducing RxBinding in Android -- Kotlin extensions -- Summary -- Index. |
ctrlnum | (OCoLC)1019685199 |
dewey-full | 005.11 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.11 |
dewey-search | 005.11 |
dewey-sort | 15.11 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>11003cam a2200517 i 4500</leader><controlfield tag="001">ZDB-4-EBA-on1019685199</controlfield><controlfield tag="003">OCoLC</controlfield><controlfield tag="005">20241004212047.0</controlfield><controlfield tag="006">m o d </controlfield><controlfield tag="007">cr unu||||||||</controlfield><controlfield tag="008">180115s2017 enka o 000 0 eng d</controlfield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UMI</subfield><subfield code="b">eng</subfield><subfield code="e">rda</subfield><subfield code="e">pn</subfield><subfield code="c">UMI</subfield><subfield code="d">STF</subfield><subfield code="d">OCLCF</subfield><subfield code="d">IDEBK</subfield><subfield code="d">TOH</subfield><subfield code="d">CEF</subfield><subfield code="d">KSU</subfield><subfield code="d">DEBBG</subfield><subfield code="d">TEFOD</subfield><subfield code="d">G3B</subfield><subfield code="d">S9I</subfield><subfield code="d">UAB</subfield><subfield code="d">N$T</subfield><subfield code="d">QGK</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">NZAUC</subfield><subfield code="d">OCLCQ</subfield><subfield code="d">OCLCO</subfield><subfield code="d">OCLCL</subfield><subfield code="d">DXU</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788470254</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788470257</subfield><subfield code="q">(electronic bk.)</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1788473027</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781788473026</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1019685199</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">CL0500000928</subfield><subfield code="b">Safari Books Online</subfield></datafield><datafield tag="037" ind1=" " ind2=" "><subfield code="a">9DCEA6D7-6864-461E-AE0F-E10433958136</subfield><subfield code="b">OverDrive, Inc.</subfield><subfield code="n">http://www.overdrive.com</subfield></datafield><datafield tag="050" ind1=" " ind2="4"><subfield code="a">QA76.76.A65</subfield></datafield><datafield tag="082" ind1="7" ind2=" "><subfield code="a">005.11</subfield><subfield code="2">23</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">MAIN</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Chakraborty, Rivu,</subfield><subfield code="e">author.</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Reactive programming in Kotlin :</subfield><subfield code="b">design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring /</subfield><subfield code="c">Rivu Chakraborty.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Birmingham, UK :</subfield><subfield code="b">Packt Publishing,</subfield><subfield code="c">2017.</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 online resource (1 volume) :</subfield><subfield code="b">illustrations</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="a">text</subfield><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="a">computer</subfield><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="a">online resource</subfield><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="347" ind1=" " ind2=" "><subfield code="a">data file</subfield></datafield><datafield tag="588" ind1="0" ind2=" "><subfield code="a">Online resource; title from title page (Safari, viewed January 15, 2018).</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">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 c ...</subfield></datafield><datafield tag="505" ind1="0" ind2=" "><subfield code="a">Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Dedication -- Table of Contents -- Preface -- Chapter 1: A Short Introduction to Reactive Programming -- What is reactive programming? -- Reasons to adapt functional reactive programming -- Reactive Manifesto -- Reactive Streams standard specifications -- Reactive Frameworks for Kotlin -- Getting started with RxKotlin -- Downloading and setting up RxKotlin -- Comparing the pull mechanism with the RxJava push mechanism -- The ReactiveEvenOdd program -- The ReactiveCalculator project -- Summary -- Chapter 2: Functional Programming with Kotlin and RxKotlin -- Introducing functional programming -- Fundamentals of functional programming -- Lambda expressions -- Pure function -- High-order functions -- Inline functions -- Applying functional programming to the ReactiveCalculator class -- Coroutines -- Getting started with coroutines -- Building sequences -- The ReactiveCalculator class with coroutines -- Functional programming -- monads -- Single monad -- Summary -- Chapter 3: Observables, Observers, and Subjects -- Observables -- How Observable works -- Understanding the Observable.create method -- Understanding the Observable.from methods -- Understanding the toObservable extension function -- Understanding the Observable.just method -- Other Observable factory methods -- Subscribers -- the Observer interface -- Subscribing and disposing -- Hot and Cold Observables -- Cold Observables -- Hot Observables -- Introducing the ConnectableObservable object -- Subjects -- Varieties of Subject -- Understanding AsyncSubject -- Understanding PublishSubject -- Understanding BehaviorSubject -- Understanding ReplaySubject -- Summary -- Chapter 4: Introduction to Backpressure and Flowables -- Understanding backpressure -- Flowable.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">When to use Flowables and Observables -- When to use Flowables? -- When to use Observables? -- Flowable and Subscriber -- Creating Flowable from scratch -- Creating Flowable from Observable -- BackpressureStrategy.MISSING and onBackpressureXXX() -- Operator onBackpressureBuffer() -- Operator onBackpressureDrop() -- Operator onBackpressureLatest() -- Generating Flowable with backpressure at source -- ConnectableFlowable -- Processor -- Learning Buffer, Throttle, and Window operators -- The buffer() operator -- The window() operator -- The throttle() operators -- Summary -- Chapter 5: Asynchronous Data Operators and Transformations -- Operator -- The filtering/suppressing operators -- The debounce operator -- The distinct operators -- distinct, distinctUntilChanged -- The elementAt operator -- Filtering emissions -- filter operator -- The first and last operator -- The ignoreElements operator -- The transforming operators -- The map operator -- Casting emissions (cast operator) -- The flatMap operator -- The defaultIfEmpty operator -- The switchIfEmpty operator -- The startWith operator -- Sorting emissions (sorted operator) -- Accumulating data -- scan operator -- Reducing operators -- Counting emissions (count operator) -- Accumulating emissions -- reduce operator -- The collection operators -- The error handling operators -- The utility operators -- Summary -- Chapter 6: More on Operators and Error Handling -- Combining producers (Observable/Flowable) -- The startWith operator -- Zipping emissions -- zip operator -- The zipWith operator -- The combineLatest operator -- Merging Observables/Flowables -- merge operator -- Concatenating producers (Observable/Flowable) -- Ambiguously combining producers -- Grouping -- flatMap, concatMap -- In details -- When to use flatMap operator -- When to use concatMap operator -- Understanding switchMap operator.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Skipping and taking emissions -- Skipping emissions (skip, skipLast, skipUntil, and skipWhile) -- Take operators (take, takeLast, takeWhile, and takeUntil) -- The error handling operators -- onErrorReturn -- return a default value on error -- The onErrorResumeNext operator -- Retrying on error -- An HTTP example -- Summary -- Chapter 7: Concurrency and Parallel Processing in RxKotlin with Schedulers -- Introduction to concurrency -- Parallel execution versus concurrency -- What is a scheduler? -- Types of scheduler -- Schedulers.io() -- I/O bound scheduler -- Schedulers.computation() -- CPU bound schedulers -- Schedulers.newThread() -- Schedulers.single() -- Schedulers.trampoline() -- Schedulers.from -- How to use schedulers -- subscribeOn and observeOn operators -- Changing thread on subscription -- subscribeOn operator -- Observing on a different thread -- observeOn operator -- Summary -- Chapter 8: Testing RxKotlin Applications -- Introduction to unit testing and its importance -- Why is unit testing so important? -- Writing JUnit tests in Kotlin -- Testing your code -- Testing in RxKotlin -- Blocking subscribers -- Blocking operators -- Getting the first emitted item -- blockingFirst() -- Getting the only item from single or maybe -- blockingGet -- Getting the last Item -- blockingLast -- Getting all emissions as iterable -- blockingIterable operator -- Looping through all emissions -- blockingForEach -- Introducing TestObserver and TestSubscriber -- Understanding TestScheduler -- Summary -- Chapter 9: Resource Management and Extending RxKotlin -- Resource management -- Creating your own operators -- Composing operators with transformer -- Summary -- Chapter 10: Introduction to Web Programming with Spring for Kotlin Developers -- Spring, history, and origin of Spring -- The origin and history of Spring -- Dependency injection and IoC.</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Spring Annotation configuration -- Spring -- AOP -- Introduction to Spring Boot -- Creating a Rest API with Spring Boot -- Summary -- Chapter 11: REST APIs with Spring JPA and Hibernate -- REST API with Spring Boot, Hibernate, and JPA -- Reactive programming with Reactor -- Add Reactor to your project -- Understanding Flux and Mono -- Summary -- Chapter 12: Reactive Kotlin and Android -- Setting up Kotlin in Android Studio -- Getting started with ToDoApp on Android -- Retrofit 2 for API calls -- RxKotlin with Retrofit -- Making Android events reactive -- Introducing RxBinding in Android -- Kotlin extensions -- Summary -- Index.</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Application software</subfield><subfield code="x">Development.</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh95009362</subfield></datafield><datafield tag="650" ind1=" " ind2="0"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="0">http://id.loc.gov/authorities/subjects/sh85107313</subfield></datafield><datafield tag="650" ind1=" " ind2="6"><subfield code="a">Logiciels d'application</subfield><subfield code="x">Développement.</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield><subfield code="2">fast</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">Programming languages (Electronic computers)</subfield><subfield code="2">fast</subfield></datafield><datafield tag="758" ind1=" " ind2=" "><subfield code="i">has work:</subfield><subfield code="a">Reactive Programming in Kotlin (Text)</subfield><subfield code="1">https://id.oclc.org/worldcat/entity/E39PCYcgCDYWD9q3FVRQcHVdMd</subfield><subfield code="4">https://id.oclc.org/worldcat/ontology/hasWork</subfield></datafield><datafield tag="856" ind1="4" ind2="0"><subfield code="l">FWS01</subfield><subfield code="p">ZDB-4-EBA</subfield><subfield code="q">FWS_PDA_EBA</subfield><subfield code="u">https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1649952</subfield><subfield code="3">Volltext</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">EBSCOhost</subfield><subfield code="b">EBSC</subfield><subfield code="n">1649952</subfield></datafield><datafield tag="938" ind1=" " ind2=" "><subfield code="a">ProQuest MyiLibrary Digital eBook Collection</subfield><subfield code="b">IDEB</subfield><subfield code="n">cis39660786</subfield></datafield><datafield tag="994" ind1=" " ind2=" "><subfield code="a">92</subfield><subfield code="b">GEBAY</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-4-EBA</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-863</subfield></datafield></record></collection> |
id | ZDB-4-EBA-on1019685199 |
illustrated | Illustrated |
indexdate | 2024-11-27T13:28:10Z |
institution | BVB |
isbn | 9781788470254 1788470257 1788473027 9781788473026 |
language | English |
oclc_num | 1019685199 |
open_access_boolean | |
owner | MAIN DE-863 DE-BY-FWS |
owner_facet | MAIN DE-863 DE-BY-FWS |
physical | 1 online resource (1 volume) : illustrations |
psigel | ZDB-4-EBA |
publishDate | 2017 |
publishDateSearch | 2017 |
publishDateSort | 2017 |
publisher | Packt Publishing, |
record_format | marc |
spelling | Chakraborty, Rivu, author. Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / Rivu Chakraborty. Birmingham, UK : Packt Publishing, 2017. 1 online resource (1 volume) : illustrations text txt rdacontent computer c rdamedia online resource cr rdacarrier data file Online resource; title from title page (Safari, viewed January 15, 2018). 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 c ... Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Dedication -- Table of Contents -- Preface -- Chapter 1: A Short Introduction to Reactive Programming -- What is reactive programming? -- Reasons to adapt functional reactive programming -- Reactive Manifesto -- Reactive Streams standard specifications -- Reactive Frameworks for Kotlin -- Getting started with RxKotlin -- Downloading and setting up RxKotlin -- Comparing the pull mechanism with the RxJava push mechanism -- The ReactiveEvenOdd program -- The ReactiveCalculator project -- Summary -- Chapter 2: Functional Programming with Kotlin and RxKotlin -- Introducing functional programming -- Fundamentals of functional programming -- Lambda expressions -- Pure function -- High-order functions -- Inline functions -- Applying functional programming to the ReactiveCalculator class -- Coroutines -- Getting started with coroutines -- Building sequences -- The ReactiveCalculator class with coroutines -- Functional programming -- monads -- Single monad -- Summary -- Chapter 3: Observables, Observers, and Subjects -- Observables -- How Observable works -- Understanding the Observable.create method -- Understanding the Observable.from methods -- Understanding the toObservable extension function -- Understanding the Observable.just method -- Other Observable factory methods -- Subscribers -- the Observer interface -- Subscribing and disposing -- Hot and Cold Observables -- Cold Observables -- Hot Observables -- Introducing the ConnectableObservable object -- Subjects -- Varieties of Subject -- Understanding AsyncSubject -- Understanding PublishSubject -- Understanding BehaviorSubject -- Understanding ReplaySubject -- Summary -- Chapter 4: Introduction to Backpressure and Flowables -- Understanding backpressure -- Flowable. When to use Flowables and Observables -- When to use Flowables? -- When to use Observables? -- Flowable and Subscriber -- Creating Flowable from scratch -- Creating Flowable from Observable -- BackpressureStrategy.MISSING and onBackpressureXXX() -- Operator onBackpressureBuffer() -- Operator onBackpressureDrop() -- Operator onBackpressureLatest() -- Generating Flowable with backpressure at source -- ConnectableFlowable -- Processor -- Learning Buffer, Throttle, and Window operators -- The buffer() operator -- The window() operator -- The throttle() operators -- Summary -- Chapter 5: Asynchronous Data Operators and Transformations -- Operator -- The filtering/suppressing operators -- The debounce operator -- The distinct operators -- distinct, distinctUntilChanged -- The elementAt operator -- Filtering emissions -- filter operator -- The first and last operator -- The ignoreElements operator -- The transforming operators -- The map operator -- Casting emissions (cast operator) -- The flatMap operator -- The defaultIfEmpty operator -- The switchIfEmpty operator -- The startWith operator -- Sorting emissions (sorted operator) -- Accumulating data -- scan operator -- Reducing operators -- Counting emissions (count operator) -- Accumulating emissions -- reduce operator -- The collection operators -- The error handling operators -- The utility operators -- Summary -- Chapter 6: More on Operators and Error Handling -- Combining producers (Observable/Flowable) -- The startWith operator -- Zipping emissions -- zip operator -- The zipWith operator -- The combineLatest operator -- Merging Observables/Flowables -- merge operator -- Concatenating producers (Observable/Flowable) -- Ambiguously combining producers -- Grouping -- flatMap, concatMap -- In details -- When to use flatMap operator -- When to use concatMap operator -- Understanding switchMap operator. Skipping and taking emissions -- Skipping emissions (skip, skipLast, skipUntil, and skipWhile) -- Take operators (take, takeLast, takeWhile, and takeUntil) -- The error handling operators -- onErrorReturn -- return a default value on error -- The onErrorResumeNext operator -- Retrying on error -- An HTTP example -- Summary -- Chapter 7: Concurrency and Parallel Processing in RxKotlin with Schedulers -- Introduction to concurrency -- Parallel execution versus concurrency -- What is a scheduler? -- Types of scheduler -- Schedulers.io() -- I/O bound scheduler -- Schedulers.computation() -- CPU bound schedulers -- Schedulers.newThread() -- Schedulers.single() -- Schedulers.trampoline() -- Schedulers.from -- How to use schedulers -- subscribeOn and observeOn operators -- Changing thread on subscription -- subscribeOn operator -- Observing on a different thread -- observeOn operator -- Summary -- Chapter 8: Testing RxKotlin Applications -- Introduction to unit testing and its importance -- Why is unit testing so important? -- Writing JUnit tests in Kotlin -- Testing your code -- Testing in RxKotlin -- Blocking subscribers -- Blocking operators -- Getting the first emitted item -- blockingFirst() -- Getting the only item from single or maybe -- blockingGet -- Getting the last Item -- blockingLast -- Getting all emissions as iterable -- blockingIterable operator -- Looping through all emissions -- blockingForEach -- Introducing TestObserver and TestSubscriber -- Understanding TestScheduler -- Summary -- Chapter 9: Resource Management and Extending RxKotlin -- Resource management -- Creating your own operators -- Composing operators with transformer -- Summary -- Chapter 10: Introduction to Web Programming with Spring for Kotlin Developers -- Spring, history, and origin of Spring -- The origin and history of Spring -- Dependency injection and IoC. Spring Annotation configuration -- Spring -- AOP -- Introduction to Spring Boot -- Creating a Rest API with Spring Boot -- Summary -- Chapter 11: REST APIs with Spring JPA and Hibernate -- REST API with Spring Boot, Hibernate, and JPA -- Reactive programming with Reactor -- Add Reactor to your project -- Understanding Flux and Mono -- Summary -- Chapter 12: Reactive Kotlin and Android -- Setting up Kotlin in Android Studio -- Getting started with ToDoApp on Android -- Retrofit 2 for API calls -- RxKotlin with Retrofit -- Making Android events reactive -- Introducing RxBinding in Android -- Kotlin extensions -- Summary -- Index. Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Logiciels d'application Développement. Application software Development fast Programming languages (Electronic computers) fast has work: Reactive Programming in Kotlin (Text) https://id.oclc.org/worldcat/entity/E39PCYcgCDYWD9q3FVRQcHVdMd https://id.oclc.org/worldcat/ontology/hasWork FWS01 ZDB-4-EBA FWS_PDA_EBA https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1649952 Volltext |
spellingShingle | Chakraborty, Rivu Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Dedication -- Table of Contents -- Preface -- Chapter 1: A Short Introduction to Reactive Programming -- What is reactive programming? -- Reasons to adapt functional reactive programming -- Reactive Manifesto -- Reactive Streams standard specifications -- Reactive Frameworks for Kotlin -- Getting started with RxKotlin -- Downloading and setting up RxKotlin -- Comparing the pull mechanism with the RxJava push mechanism -- The ReactiveEvenOdd program -- The ReactiveCalculator project -- Summary -- Chapter 2: Functional Programming with Kotlin and RxKotlin -- Introducing functional programming -- Fundamentals of functional programming -- Lambda expressions -- Pure function -- High-order functions -- Inline functions -- Applying functional programming to the ReactiveCalculator class -- Coroutines -- Getting started with coroutines -- Building sequences -- The ReactiveCalculator class with coroutines -- Functional programming -- monads -- Single monad -- Summary -- Chapter 3: Observables, Observers, and Subjects -- Observables -- How Observable works -- Understanding the Observable.create method -- Understanding the Observable.from methods -- Understanding the toObservable extension function -- Understanding the Observable.just method -- Other Observable factory methods -- Subscribers -- the Observer interface -- Subscribing and disposing -- Hot and Cold Observables -- Cold Observables -- Hot Observables -- Introducing the ConnectableObservable object -- Subjects -- Varieties of Subject -- Understanding AsyncSubject -- Understanding PublishSubject -- Understanding BehaviorSubject -- Understanding ReplaySubject -- Summary -- Chapter 4: Introduction to Backpressure and Flowables -- Understanding backpressure -- Flowable. When to use Flowables and Observables -- When to use Flowables? -- When to use Observables? -- Flowable and Subscriber -- Creating Flowable from scratch -- Creating Flowable from Observable -- BackpressureStrategy.MISSING and onBackpressureXXX() -- Operator onBackpressureBuffer() -- Operator onBackpressureDrop() -- Operator onBackpressureLatest() -- Generating Flowable with backpressure at source -- ConnectableFlowable -- Processor -- Learning Buffer, Throttle, and Window operators -- The buffer() operator -- The window() operator -- The throttle() operators -- Summary -- Chapter 5: Asynchronous Data Operators and Transformations -- Operator -- The filtering/suppressing operators -- The debounce operator -- The distinct operators -- distinct, distinctUntilChanged -- The elementAt operator -- Filtering emissions -- filter operator -- The first and last operator -- The ignoreElements operator -- The transforming operators -- The map operator -- Casting emissions (cast operator) -- The flatMap operator -- The defaultIfEmpty operator -- The switchIfEmpty operator -- The startWith operator -- Sorting emissions (sorted operator) -- Accumulating data -- scan operator -- Reducing operators -- Counting emissions (count operator) -- Accumulating emissions -- reduce operator -- The collection operators -- The error handling operators -- The utility operators -- Summary -- Chapter 6: More on Operators and Error Handling -- Combining producers (Observable/Flowable) -- The startWith operator -- Zipping emissions -- zip operator -- The zipWith operator -- The combineLatest operator -- Merging Observables/Flowables -- merge operator -- Concatenating producers (Observable/Flowable) -- Ambiguously combining producers -- Grouping -- flatMap, concatMap -- In details -- When to use flatMap operator -- When to use concatMap operator -- Understanding switchMap operator. Skipping and taking emissions -- Skipping emissions (skip, skipLast, skipUntil, and skipWhile) -- Take operators (take, takeLast, takeWhile, and takeUntil) -- The error handling operators -- onErrorReturn -- return a default value on error -- The onErrorResumeNext operator -- Retrying on error -- An HTTP example -- Summary -- Chapter 7: Concurrency and Parallel Processing in RxKotlin with Schedulers -- Introduction to concurrency -- Parallel execution versus concurrency -- What is a scheduler? -- Types of scheduler -- Schedulers.io() -- I/O bound scheduler -- Schedulers.computation() -- CPU bound schedulers -- Schedulers.newThread() -- Schedulers.single() -- Schedulers.trampoline() -- Schedulers.from -- How to use schedulers -- subscribeOn and observeOn operators -- Changing thread on subscription -- subscribeOn operator -- Observing on a different thread -- observeOn operator -- Summary -- Chapter 8: Testing RxKotlin Applications -- Introduction to unit testing and its importance -- Why is unit testing so important? -- Writing JUnit tests in Kotlin -- Testing your code -- Testing in RxKotlin -- Blocking subscribers -- Blocking operators -- Getting the first emitted item -- blockingFirst() -- Getting the only item from single or maybe -- blockingGet -- Getting the last Item -- blockingLast -- Getting all emissions as iterable -- blockingIterable operator -- Looping through all emissions -- blockingForEach -- Introducing TestObserver and TestSubscriber -- Understanding TestScheduler -- Summary -- Chapter 9: Resource Management and Extending RxKotlin -- Resource management -- Creating your own operators -- Composing operators with transformer -- Summary -- Chapter 10: Introduction to Web Programming with Spring for Kotlin Developers -- Spring, history, and origin of Spring -- The origin and history of Spring -- Dependency injection and IoC. Spring Annotation configuration -- Spring -- AOP -- Introduction to Spring Boot -- Creating a Rest API with Spring Boot -- Summary -- Chapter 11: REST APIs with Spring JPA and Hibernate -- REST API with Spring Boot, Hibernate, and JPA -- Reactive programming with Reactor -- Add Reactor to your project -- Understanding Flux and Mono -- Summary -- Chapter 12: Reactive Kotlin and Android -- Setting up Kotlin in Android Studio -- Getting started with ToDoApp on Android -- Retrofit 2 for API calls -- RxKotlin with Retrofit -- Making Android events reactive -- Introducing RxBinding in Android -- Kotlin extensions -- Summary -- Index. Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Logiciels d'application Développement. Application software Development fast Programming languages (Electronic computers) fast |
subject_GND | http://id.loc.gov/authorities/subjects/sh95009362 http://id.loc.gov/authorities/subjects/sh85107313 |
title | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / |
title_auth | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / |
title_exact_search | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / |
title_full | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / Rivu Chakraborty. |
title_fullStr | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / Rivu Chakraborty. |
title_full_unstemmed | Reactive programming in Kotlin : design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / Rivu Chakraborty. |
title_short | Reactive programming in Kotlin : |
title_sort | reactive programming in kotlin design and build non blocking asynchronous kotlin applications with rxkotlin reactor kotlin android and spring |
title_sub | design and build non-blocking, asynchronous Kotlin applications with RXKotlin, Reactor-Kotlin, Android, and Spring / |
topic | Application software Development. http://id.loc.gov/authorities/subjects/sh95009362 Programming languages (Electronic computers) http://id.loc.gov/authorities/subjects/sh85107313 Logiciels d'application Développement. Application software Development fast Programming languages (Electronic computers) fast |
topic_facet | Application software Development. Programming languages (Electronic computers) Logiciels d'application Développement. Application software Development |
url | https://search.ebscohost.com/login.aspx?direct=true&scope=site&db=nlebk&AN=1649952 |
work_keys_str_mv | AT chakrabortyrivu reactiveprogramminginkotlindesignandbuildnonblockingasynchronouskotlinapplicationswithrxkotlinreactorkotlinandroidandspring |