📜 ⬆️ ⬇️

Several books for beginner and continuing developer for Android

Android books


Last year I entered the worlds of Android. In addition to studying the sources, documentation, articles, blogs, audio and video materials on the topic, read books. I hasten to share reader experience.


Under the cut a small review of eight books. Topics include:


  1. Rxjava
  2. Android streams
  3. Java development for Android
  4. Kotlin. Language overview
  5. Kotlin. Practice
  6. Kotlin. Overview of the language with a bias on Android
  7. Development for Android on Kotlin
  8. Rx to Kotlin



Reactive Programming with RxJava: Creating Asynchronous, Event-Based Applications. By Tomasz Nurkiewicz, Ben Christensen . O'Reilly Media; 1 edition October 27, 2016; 372 pages;
ISBN-13: 978-1491931653


Reactive Programming with RxJava A book that, using the example of RxJava, will help you understand what reactive programming is . It requires you to have a good knowledge of Java (at least you need to understand what generalized types and lambda expressions are) and it implies sequential reading, since The material is fed step by step. It seems to me that the main charm of the book is in this connection and the sequence of presentation of the material. An attentive reader will get a complete picture of RxJava. This is the main profit publication.


But, even if you are confident in your knowledge of Rx, the book will surely reveal something new to you. Especially, if you are just starting to study the topic. If this is so, then you can give you one more tip: consolidate the topics covered in practice and study open-source projects . So you quickly learn Rx.


The disadvantage of the book is the fact that it has in mind the version of RxJava 1.1.6. The second version of RxJava has undergone some significant changes (see the articles on Habré Explore RxJava 2 for Android and ReactiveX 2.0 with examples , as well as a complete list of changes on the project What's different in 2.0 wiki), and therefore some places in the book are outdated. However, these changes flowed from the general logic of the development of RxJava, and the book about them is referred to. I think the second edition should put everything in its place, although at this point, perhaps, RxJava 3 will appear.


Another small flaw, in my opinion: the book does not fully explain the theory of reactive programming and it can be difficult for a novice developer to get into the topic. A good place for this purpose is the first chapter , but it (given the differences from RxJava 2) looks confusing.


Directly the work of RxJava in Android is devoted to the eighth chapter . Many perfectly disassembled practical examples. But then again, the coverage of the Rx capabilities in Android is incomplete.


In general, none of the shortcomings does not negate the merits of the book. It can be recommended for reading by both novice developers and experienced developers.


Among other things, it is always interesting to see which animals this time were placed on the cover by O'Reilly.


There is a translation into Russian:


Nurkevich T., Christensen B. Reactive programming using RxJava. Development of asynchronous event-oriented applications. DMK Press, 2017, 358 pp.
ISBN: 978-5-97060-496-0


translation cover

image




Efficient Android Threading: Asynchronous Processing Techniques for Android Applications. By Anders Goransson . O'Reilly Media; 1 edition June 13, 2014; 280 pages;
ISBN-13: 978-1449364137
Asynchronous Processing Techniques for Android Applications The book is divided into two parts. In the first, you will find out what is under the hood of the Android operating system (OS): what components are the OS, how is the interaction between threads and between processes organized, and how Android organizes memory management. In the second part, you will learn how to manage threads and processes, learn the various mechanisms for this, learn more about the Service and the Loader framework.


Of the minuses, in my opinion, it is possible to name the fact that the book does not explain in too much detail the interaction between processes (the Binder framework, AIDL), both from the theoretical and from the practical side. And since the book is written until the second half of 2014, we will not find in it what has appeared since the release of Android Lollipop 5.0. For example, you can recall task scheduling using JobScheduler , Doze Mode , Service launch restrictions that we received in Android Oreo 8.0 ... etc.


The fact that there are drawbacks can be attributed rather to a laconic style of presentation (book <300 pages) and to the time of writing. But despite them, the book must have to dive into the device OC Android. The knowledge that the book can give, is needed by any serious developer for Android. Here they are gathered together. And if the report on AIDL and Binder that you heard at the next Android conference is not very clear to you, then the book will help you with this.


There is a translation into Russian:


Eransson A. Efficient use of streams in the Android operating system / Per. from English A.V.Snastina. - M .: DMK Press, 2015, 304 pp.
ISBN: 978-5-97060-168-6


translation cover

image




Android Programming: The Big Nerd Ranch Guide. By Bill Phillips, Chris Stewart & Kristin Marsicano . Big Nerd Ranch Guides; 3 edition February 9, 2017; 624 pages;
ISBN-13: 978-0134706054
Android Programming The Big Nerd Ranch Guide A really good book that you can safely recommend to novice developers or teachers, to draw up a program for teaching Android development. If you are a novice developer, then in the book you will find many techniques and examples for programming Android applications, which you could go on for yourself for quite some time. The book begins with "Hello world" and through the theory, exercises and writing small applications, teaches the basic stack of technologies for creating Android applications. Requires an average knowledge of Java.


Of the minuses, I would call the uneven complexity, a rather large amount. I think if you start going through the book from cover to cover, then for this you will need a lot of patience. Not the fact that this method does not slow down your development as a developer. I would recommend using this folio more as a reference book on a topic of interest to you (theory to learn more quickly, for example, on any online course ), and to get to the Android development topic as soon as possible, write your own projects and learn how other developers write code .


There is a translation into Russian:


Phillips B., Stuart K., Marsicano K. android. Programming for professionals. 3rd edition / trans. from English - SPb .: Publishing House "Peter", 2017, 688 p.
ISBN: 978-5-4461-0413-0


On Habré there is a note from the publisher about the book.


translation cover

image




Kotlin in Action. By Dmitry Jemerov & Svetlana Isakova . Manning Publications; 1 edition February 19, 2017; 360 pages;
ISBN-13: 978-1617293290
Kotlin in action "Kotlin in action" - a book from the creators of the language. The book is very well written. I mean the structure of the material, the style of the narration and the design of the text. The impression was that the authors took all the best from books about programming languages ​​and embodied it in their work. Their main merit is that they were able to deviate from the formalism of documentation and were able to show the peculiarities of the language and the history of its development, so that we got a kind of “story”, a related narration, the development of which “plot” you follow with interest.


The book is successfully divided into chapters, paragraphs and sections. The material is organized from simple to complex. The book assumes that the reader knows Java at a sufficient level, since the Kotlin language relies heavily on Java. If you are an Android developer who writes, or who is to write on Kotlin, then this book is for you. But if you are a novice developer and not strong enough in Java, you can also read this book. You just have to do a little more work on it. Even the theory (for example, the theory of lambda expressions or generalized types) is explained very well in the book. And it will be great to help enter the topic if you take the first steps in programming.


The book is referring to Kotlin 1.0, so, for example, there is no description of coroutine (coroutine).


The book is not tied to a specific subject area (for example, Kotlin in Android), and can be used as an excellent introduction for everyone who studies Kotlin.


There is a translation into Russian:


Isakova S., Zhemerov D. Kotlin in action / trans. from English Kiselev A.N. - M .: DMK-Press, October 2017, 402 p.
ISBN: 978-5-97060-497-7


On Habré there is a note from the author about the book.


translation cover

image




Kotlin for Android Developers: Learn Kotlin for an easy way while developing an Android App . CreateSpace Independent Publishing Platform; 1 edition March 21, 2016; 212 pages;
ISBN-13: 978-1530075614
Kotlin for Android Developers This was the first book that came out about the Kotlin language. Compared with the book "Kotlin in action", it loses as an introduction to the language, but at the same time it can serve as an example of the use of the language in Android. In the book, applications are developed, the source code of which lies on GitHub.


Minuses: the material in the book is quite confusing, the author often refers to the repository in GitHub, but it is not always possible to understand what branch he has in mind. The impression that what is written in the book is better suited for the format of a blog or a series of articles about the development of an application on Kotlin.


In the book you can find a couple of interesting programming techniques for Kotlin for Android.




Android Development with Kotlin By Marcin Moskala & Igor Wojda . Packt Publishing - ebooks Account, September 6, 2017; 440 pages;
ISBN-13: 978-1787123687
Android Development with Kotlin The book is essentially a story about the language Kotlin. Although it always means developing for Android. But directly creating a small application, occurs only in the last chapter. It seems to me that in terms of introduction to the language this book loses the book "Kotlin in action".


The main disadvantage is that this book is in no way an introduction to Android development at Kotlin, so the title may confuse the reader. English-speaking readers complain about bad English, but I did not notice, of course.


I didn’t read the book myself (the book "Kotlin in action" is quite enough for an introduction to the language), so I cannot judge it with complete confidence.


In the electronic version of the book is very convenient to read on the publisher's website using a special reader Mapt.


One of the authors has interesting articles: for example, about cross-platform on Kotlin .




Mastering Android Development with Kotlin: Milk Vasic . Packt Publishing - ebooks Account, November 8, 2017; 378 pages;
ISBN-13: 978-1788473699
Mastering Android Development with Kotlin This book can be considered a full-fledged introduction to the development for Android. She starts by installing Android Studio, goes through many aspects of Android, and ends up explaining how to publish the application on Google Play. In this sense, the book is an analogue of the book "Android Programming: The Big Nerd Ranch Guide", only on Kotlin. Therefore, the book can be recommended to novice developers who have decided to master the development under Android through Kotlin. The book suggests a basic acquaintance with Kotlin.


It seems to me that the book does not speak too deeply about the development on Android, but explains the necessary things. For example, working with Git or using the Retrofit library. As for the use of the Kotlin language for teaching development for Android, the author himself warns that Kotlin is only an additional tool for Android, and Java, like C ++ (for Native), has not been canceled yet.


As I said, e-books of this publisher are easy to read, thanks to the built-in Mapt reader.




Reactive Programming in Kotlin: Design and build non-blocking, asynchronous Kotlin applications with RX Kotlin, Reactor-Kotlin, Android, and Spring By Rivu Chakraborty . Packt Publishing - ebooks Account, December 5, 2017; 322 pages;
ISBN-13: 978-1788473026
Reactive Programming in Kotlin This book has appeared recently, so I did not have time to get acquainted with it well enough. But what immediately catches the eye is that it begins with a lengthy introduction explaining the concept of reactive programming, and then smoothly switches to Rx (in this case, RxKotlin). The book has in mind the second version of Rx, which distinguishes it (as well as a more complete introduction) from the first book ("Reactive Programming with RxJava") in this review. Although the very explanation of Rx entities, operators, concepts of backpressure, etc. given in a much more concise form. This fact does not allow to consider this book a full replacement of the first.


About RxKotlin in Android is discussed in the last chapter. The reader gets acquainted with the possibilities of RxKotlin in Android using the example of a small application that, among other things, uses Retrofit along with an adapter from Jake Wharton.


The book is well framed and divided into chapters and sections, read quickly. It may be recommended, in addition to the first book on Rx in this review, especially for developers studying Kotlin. It assumes familiarity with Kotlin at a basic level.


The remaining books on Kotlin, see this page of. site language and on the site of the publisher Packt Publishing.


')

Source: https://habr.com/ru/post/346412/


All Articles