目錄(337章)
倒序
- 封面
- 版權(quán)信息
- Credits
- About the Authors
- Acknowledgments
- About the Reviewer
- www.PacktPub.com
- Why subscribe?
- Customer Feedback
- Preface
- What this book covers
- What you need for this book
- Who this book is for
- Conventions
- Reader feedback
- Customer support
- Downloading the example code
- Downloading the color images of this book
- Errata
- Piracy
- Questions
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 更新時(shí)間:2021-07-02 21:51:00
推薦閱讀
- Vue.js 3.x快速入門
- 復(fù)雜軟件設(shè)計(jì)之道:領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)全面解析與實(shí)戰(zhàn)
- Java入門很輕松(微課超值版)
- Flask Web開發(fā)入門、進(jìn)階與實(shí)戰(zhàn)
- C++從入門到精通(第5版)
- Spring Boot實(shí)戰(zhàn)
- 案例式C語言程序設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)
- 工業(yè)機(jī)器人離線編程
- Mastering Concurrency Programming with Java 9(Second Edition)
- Application Development with Parse using iOS SDK
- JavaScript悟道
- H5+移動(dòng)營(yíng)銷設(shè)計(jì)寶典
- Mastering Leap Motion
- Flink核心技術(shù):源碼剖析與特性開發(fā)
- PHP 7 Programming Blueprints
- Instant SQL Server Analysis Services 2012 Cube Security
- 區(qū)塊鏈社會(huì):區(qū)塊鏈助力國(guó)家治理能力現(xiàn)代化
- Java并發(fā)編程深度解析與實(shí)戰(zhàn)
- Learning IPython for Interactive Computing and Data Visualization(Second Edition)
- 從0到1:jQuery快速上手
- Neural Networks with R
- Python數(shù)據(jù)分析實(shí)戰(zhàn)
- 電子系統(tǒng)設(shè)計(jì)基礎(chǔ)
- Hands-On Artificial Intelligence on Google Cloud Platform
- TensorFlow深度學(xué)習(xí)從入門到進(jìn)階
- Learning Heroku Postgres
- OpenStack Cloud Security
- R的極客理想:高級(jí)開發(fā)篇
- 前端開發(fā)必知必會(huì):從工程核心到前沿實(shí)戰(zhàn)
- Developing RESTful Services with JAX-RS 2.0,WebSockets,and JSON