Limit search to available items
Record 21 of 27
Previous Record Next Record
Book Cover
E-book
Author Ashish Belagali; Hardik Trivedi; Akshay Chordiya

Title Kotlin Blueprints : a practical guide to building industry-grade web, mobile, and desktop applications in Kotlin using frameworks such as Spring Boot and Node.js
Published Birmingham, UNITED KINGDOM : Packt Publishing, 2017

Copies

Description 1 online resource (256)
Contents Cover -- Title Page -- Copyright -- Credits -- About the Authors -- Acknowledgments -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: The Power of Kotlin -- Kotlin -- a better Java -- Why not other languages? -- Why Kotlin? -- Concise yet expressive code -- Enhanced robustness -- Excellent IDE support from day one -- Beyond being a better Java -- Kotlin is in the winning camp -- Go native strategy -- Kotlin's winning strategy -- Summary -- Chapter 2: Geospatial Messenger -- Spring Boot -- Why Spring Boot? -- Leveraging Kotlin in Spring Boot applications -- Extension functions -- Constructor injection -- Leveraging Null safety -- Functional bean declaration DSL -- Let's build our geospatial messenger -- Preview -- Features -- Architecture -- Setting up the IDE -- Creating a project -- Project structure -- Setting up the build script -- Adding Kotlin dependency -- Adding Spring Boot dependencies -- Exposed library -- Gradle dependency -- Defining the table -- Connecting to the database -- CRUD operations -- Explaining PostGIS -- Installation -- Gradle dependency -- Object mapping -- Gradle dependency -- Completing the Gradle script -- Coding the application -- Frontend -- HTML -- CSS -- JavaScript -- Rendering the map -- Plotting messages on the map -- Listening to message saved events -- Complete JavaScript -- Application class -- Backend -- Application configuration -- Data classes -- Exposed integration -- Exposed objects -- Extras for geospatial support -- Service/Controller -- Repository -- CrudRepository -- Event broadcaster -- Extension functions -- Testing -- Gradle dependency -- Test cases -- Pro-tips -- All-open compiler plugin -- Spring starter -- Playing with the Java to Kotlin converter -- Migrating to Kotlin -- Should I rewrite the existing Java code in Kotlin?
What if I want to rewrite Java to Kotlin? -- Summary -- Chapter 3: Social Media Aggregator Android App -- Setting up Kotlin -- Setting up the Kotlin plugin for Android Studio -- Getting started -- Converting Java code to Kotlin code -- Creating a social media aggregator -- Using datatypes and conversion -- String interpolation -- String utility methods -- Classes -- Constructors -- Data classes -- Inheritance -- Singletons -- lateinit versus lazy initialization -- lateinit -- The lazy property -- Control flow -- The when() expression -- Getters and setters -- Declaring a property -- Interfaces -- Kotlin Android extension -- Ditching the findViewById() method -- View extensions -- Fragment LayoutInflater extension -- The Standard.kt function -- The with() function -- The apply() function -- The let() function -- Functions in Kotlin -- Single-expression function -- Inline function -- Default and named parameters -- Default parameter -- Named parameter -- Destructing declaration -- Android context -- Null-Safety -- Why Kotlin is called null-safe -- Safe call operator (?.) -- Elvis operator (?:) -- Force unwrap (!!) -- Smart casts -- The is and!is operators -- The as operator -- Companion object -- Fragment instantiation using companion objects -- Dealing with constants -- Object expressions and declarations -- Delegated properties -- Dealing with Shared Preferences -- Setting up an item click on RecyclerView -- Anko -- Kotlin's buddy for Android -- Setting up Anko -- Displaying toast() -- Starting an activity made easy -- Anko layout -- Summary -- Chapter 4: Weather App Using Kotlin for JavaScript -- Creating your first Kotlin and JavaScript project -- Choosing an IDE -- Creating a project -- Creating an HTML page -- Creating a Main.kt file -- Running the project -- Developing a weather forecast web app -- Creating a UI with dummy data
Simple HTML approach -- Creating UI using Kotlin -- What is DSL? -- Using Kotlinx.html -- Refactoring the HTML code using DSL -- Calling a weather API -- Reading data from input elements -- Data classes -- Showing data to the user -- Showing weather details -- Named parameters -- Extension functions -- Giving final touches -- Adding CSS -- Interoperability with JavaScript -- Summary -- Chapter 5: Chat Application with Server-Side JavaScript Generation -- Creating our first Node.js app using Kotlin -- Choosing an IDE -- Installing Node.js -- Installing the Node.js plugin -- Creating a project -- Creating a chat application -- Setting up the Node.js server -- Specifying the output files -- Examining the compilation output -- Specifying the router -- Starting the node server -- Creating a login page -- Creating an index.ejs file -- Using DSL -- Using kotlinx.html -- Lambda functions -- Reading the nickname -- Passing nickname to the server -- Smart cast -- Registering a callback -- Establishing a socket connection -- Setting up Socket. IO -- Listening to events -- Emitting the event -- Incrementing and decrementing operator overloading -- Showing a list of online users -- Using the data class -- Using the Pair class -- Iterating list -- Sending and receiving a message -- Null safety -- Force unwraps -- Using the let function -- Named parameter -- Disconnecting a socket -- Styling the page using CSS -- Summary -- Chapter 6: News Feed -- REST API -- What is REST? -- What is Ktor? -- Why Ktor? -- Understanding unopinionated applications -- Asynchronous nature -- Highly testable -- Deploying the Ktor app -- Let's build our news application -- News provider -- Fetching news sources -- Fetching news articles -- Preview -- Features -- Architecture -- Setting up the IDE -- Prerequisites -- Creating the project -- Project structure -- Deploying
Deploying in IntelliJ IDEA -- Setting up the build script -- Adding Kotlin dependency -- Adding Ktor dependencies -- Configuring logging -- Adding Fuel -- What is Fuel? -- Adding Gradle dependency -- Quick sample -- Asynchronous mode -- Blocking mode -- Completing Gradle script -- Let's code! -- Application configuration -- Deployment block -- Application block -- Application main -- Installing routing -- Simple routing -- Modular routing -- Understanding route paths -- Path parameters -- Testing -- Adding Gradle dependency -- Testing the application -- Testing the index URL -- Testing JSON using Postman -- Testing news sources using Postman -- Testing news sources using Postman -- Summary -- Chapter 7: CSV Reader in Kotlin Native -- What is Kotlin Native? -- Target platforms -- Multiplatform Kotlin -- Installing Kotlin Native -- Installing from the source -- Installing from binaries -- Testing the installation -- Memory management -- Building our app -- Writing the main function -- Reading command-line arguments -- Opening the file -- Reading the file contents -- Counting unique entries -- Converting to Kotlin string -- Splitting strings -- Printing the result -- Complete code -- Running the program -- Understanding the dataset -- Compiling the program -- Executing the program -- Multiplatform Kotlin -- Project structure -- Common module -- Platform module -- Regular module -- Overview of the dependency structure -- Setting up a multiplatform project -- Creating a multiplatform project with an IDE -- Creating a multiplatform project without an IDE -- Summary -- Chapter 8: Dictionary Desktop Application -- TornadoFX -- Introducing TornadoFX -- Java-based desktop frameworks -- TornadoFX special additions -- Creating a type-safe UI versus FXML -- Type-safe styling -- Other improvements -- Let's build our dictionary application -- What we will build
Words API -- Definition API -- Features of our application -- Setting up the IDE -- Prerequisites -- Installing the TornadoFX plugin -- Creating the project -- Project structure -- Let's code! -- Application class -- Type-safe CSS -- Dependency injection -- Property delegate -- Consuming the REST API -- Defining the Model -- Implementing the JSONModel interface -- REST client -- Configuring the client -- Controllers -- Views -- Layouts -- VBox layout -- HBox layout -- Other layouts -- Forms -- Background operations -- Printing the result -- Complete View -- Launching the application -- Summary -- Index
Summary Kotlin is a powerful language that has applications in a wide variety of fields. It is a concise, safe, interoperable and tool-friendly language. The Android team has also announced first-class support for Kotlin, which is an added boost to the language. Through this book, you’ll get a deep understanding of how Kotlin can work for you on ..
Notes Print version record
Subject Application software -- Development.
Mobile apps -- Development
COMPUTERS -- Programming Languages -- Java.
COMPUTERS -- Programming -- General.
COMPUTERS -- Programming -- Parallel.
Application software -- Development
Form Electronic book
ISBN 1788470427
9781788470421