Take a look at our Application Development books. Shulph carries a great selection of Application Development books, and we are always adding more.
Become an expert at C++ by learning all the key C++ concepts and working through interesting exercises Key Features Explore C++ concepts through descriptive graphics and interactive exercises Learn how to keep your development bug-free with testing and debugging Discover various techniques to optimize your code Book Description C++ is one of the most widely used programming languages and is applied in a variety of domains, right from gaming to graphical user interface (GUI) programming and even operating systems. If you're looking to expand your career opportunities, mastering the advanced features of C++ is key. The book begins with advanced C++ concepts by helping you decipher the sophisticated C++ type system and understand how various stages of compilation convert source code to object code. You'll then learn how to recognize the tools that need to be used in order to control the flow of execution, capture data, and pass data around. By creating small models, you'll even discover how to use advanced lambdas and captures and express common API design patterns in C++. As you cover later chapters, you'll explore ways to optimize your code by learning about memory alignment, cache access, and the time a program takes to run. The concluding chapter will help you to maximize performance by understanding modern CPU branch prediction and how to make your code cache-friendly. By the end of this book, you'll have developed programming skills that will set you apart from other C++ programmers. What you will learn Delve into the anatomy and workflow of C++ Study the pros and cons of different approaches to coding in C++ Test, run, and debug your programs Link object files as a dynamic library Use templates, SFINAE, constexpr if expressions and variadic templates Apply best practice to resource management Who this book is for If you have worked in C++ but want to learn how to make the most of this language, especially for large projects, this book is for you. A general understanding of programming and knowledge of using an editor to produce code files in project directories is a must. Some experience with strongly typed languages, such as C and C++, is also recommended.
Build feature-rich, reliable Android Pie apps with the help of more than 100 proven industry standard recipes and strategies. Key Features Uncover the latest features in Android 9 Pie to make your applications stand out Develop Android Pie applications with the latest mobile technologies, from set up to security Get up-to-speed with Android Studio 3 and its impressive new features Book Description The Android OS has the largest installation base of any operating system in the world. There has never been a better time to learn Android development to write your own applications, or to make your own contributions to the open source community! With this extensively updated cookbook, you'll find solutions for working with the user interfaces, multitouch gestures, location awareness, web services, and device features such as the phone, camera, and accelerometer. You also get useful steps on packaging your app for the Android Market. Each recipe provides a clear solution and sample code you can use in your project from the outset. Whether you are writing your first app or your hundredth, this is a book that you will come back to time and time again, with its many tips and tricks on the rich features of Android Pie. What you will learn Develop applications using the latest Android framework while maintaining backward-compatibility with the support library Create engaging applications using knowledge gained from recipes on graphics, animations, and multimedia Work through succinct steps on specifics that will help you complete your project faster Add location awareness to your own app with examples using the latest Google Play services API Utilize Google Speech Recognition APIs for your app Who this book is for If you are new to Android development and want to take a hands-on approach to learning the framework, or if you are an experienced developer in need of clear working code to solve the many challenges in Android development, you will benefit from this book. Either way, this is a resource you'll want to keep on your desk as a quick reference to help you solve new problems as you tackle more challenging projects.
Learn all the Java and Android skills you need to start making powerful mobile applications with practical and actionable steps Key Features Kick-start your Android programming career, or just have fun publishing apps to the Google Play marketplace A first-principles introduction to Java, via Android, which means you'll be able to start building your own applications from scratch Learn by example and build four real-world apps and dozens of mini-apps throughout the book Book Description Are you trying to start a career in programming, but haven't found the right way in? Do you have a great idea for an app, but don't know how to make it a reality? Or maybe you're just frustrated that in order to learn Android, you must know Java. If so, then this book is for you. This new and expanded second edition of Android Programming for Beginners will be your companion to create Android Pie applications from scratch. We will introduce you to all the fundamental concepts of programming in an Android context, from the basics of Java to working with the Android API. All examples use the up-to-date API classes, and are created from within Android Studio, the official Android development environment that helps supercharge your application development process. After this crash course, we'll dive deeper into Android programming and you'll learn how to create applications with a professional-standard UI through fragments and store your user's data with SQLite. In addition, you'll see how to make your apps multilingual, draw to the screen with a finger, and work with graphics, sound, and animations too. By the end of this book, you'll be ready to start building your own custom applications in Android and Java. What you will learn Master the fundamentals of coding Java for Android Pie Install and set up your Android development environment Build functional user interfaces with the Android Studio visual designer Add user interaction, data captures, sound, and animation to your apps Manage your apps' data using the built-in Android SQLite database Find out about the design patterns used by professionals to make top-grade applications Build, deploy, and publish real Android applications to the Google Play marketplace Who this book is for This book is for you if you are completely new to Java, Android, or programming and want to make Android applications. This book also acts as a refresher for those who already have experience of using Java on Android to advance their knowledge and make fast progress through the early projects.
Learn the Java and Android skills you need to start developing powerful mobile applications with the help of actionable stepsKey FeaturesKick-start your Android programming career or just have fun publishing apps to the Google Play marketplaceGet a first principles introduction to using Java and Android and prepare to start building your own apps from scratchLearn by example by building four real-world apps and dozens of mini appsBook DescriptionDo you want to make a career in programming but don't know where to start? Do you have a great idea for an app but don't know how to make it a reality? Or are you worried that you'll have to learn Java programming to become an Android developer? Look no further! This new and expanded third edition of Android Programming for Beginners will be your guide to creating Android applications from scratch. The book starts by introducing you to all the fundamental concepts of programming in an Android context, from the basics of Java to working with the Android API. You'll learn with the help of examples that use up-to-date API classes and are created within Android Studio, the official Android development environment that helps supercharge your mobile application development process. After a crash course on the key programming concepts, you'll explore Android programming and get to grips with creating applications with a professional-standard UI using fragments and storing user data with SQLite. This Android Java book also shows you how you can make your apps multilingual, draw on the screen with a finger, and work with graphics, sound, and animations. By the end of this Android programming book, you'll be ready to start building your own custom applications in Android and Java.What you will learnUnderstand the fundamentals of coding in Java for AndroidInstall and set up your Android development environmentBuild functional user interfaces with the Android Studio visual designerAdd user interaction, data captures, sound, and animation to your appsManage your apps' data using the built-in Android SQLite databaseExplore the design patterns used by professionals to build top-grade applicationsBuild real-world Android applications that you can deploy to the Google Play marketplaceWho this book is forThis Android book is for you if you are completely new to Java, Android, or programming and want to get started with Android app development. If you have experience of using Java on Android, this book will serve as a refresher to help you advance your knowledge and make progress through the early projects covered in the book.
Understand the Blockchain revolution and get to grips with Ethereum, Hyperledger Fabric, and Corda.Key FeaturesResolve common challenges and problems faced in the Blockchain domainStudy architecture, concepts, terminologies, and DappsMake smart choices using Blockchain for personal and business investmentsBook DescriptionBlockchain Quick Reference takes you through the electrifying world of blockchain technology and is designed for those who want to polish their existing knowledge regarding the various pillars of the blockchain ecosystem.This book is your go-to guide, teaching you how to apply principles and ideas for making your life and business better. You will cover the architecture, Initial Coin Offerings (ICOs), tokens, smart contracts, and terminologies of the blockchain technology, before studying how they work. All you need is a curious mind to get started with blockchain technology. Once you have grasped the basics, you will explore components of Ethereum, such as ether tokens, transactions, and smart contracts, in order to build simple Dapps. You will then move on to learning why Solidity is used specifically for Ethereum-based projects, followed by exploring different types of blockchain with easy-to-follow examples. All this will help you tackle challenges and problems. By the end of this book, you will not only have solved current and future problems relating to blockchain technology but will also be able to build efficient decentralized applications.What you will learnUnderstand how blockchain architecture components workAcquaint yourself with cryptography and the mechanics behind blockchainApply consensus protocol to determine the business sustainabilityUnderstand what ICOs and crypto-mining are and how they workCreate cryptocurrency wallets and coins for transaction mechanismsUnderstand the use of Ethereum for smart contract and DApp developmentWho this book is forBlockchain Quick Reference is for you if you are a developer who wants to get well-versed with blockchain and its associated concepts and terminologies. You will explore the working mechanism of a decentralized application with the help of examples. Business leaders and blockchain enthusiasts will also find this book useful, as it will help you effectively address challenges and make better personal and business investments.
Refine your Python programming skills and build professional grade applications with this comprehensive guide Key Features Create manageable code that can run in various environments with different sets of dependencies Implement effective Python data structures and algorithms to write optimized code Discover the exciting new features of Python 3.7 Book Description Python is a dynamic programming language that's used in a wide range of domains thanks to its simple yet powerful nature. Although writing Python code is easy, making it readable, reusable, and easy to maintain is challenging. Complete with best practices, useful tools, and standards implemented by professional Python developers, the third edition of Expert Python Programming will help you overcome this challenge. The book will start by taking you through the new features in Python 3.7. You'll then learn the advanced components of Python syntax, in addition to understanding how to apply concepts of various programming paradigms, including object-oriented programming, functional programming, and event-driven programming. This book will also guide you through learning the best naming practices, writing your own distributable Python packages, and getting up to speed with automated ways of deploying your software on remote servers. You'll discover how to create useful Python extensions with C, C++, Cython, and CFFI. Furthermore, studying about code management tools, writing clear documentation, and exploring test-driven development will help you write clean code. By the end of the book, you will have become an expert in writing efficient and maintainable Python code. What you will learn Explore modern ways of setting up repeatable and consistent development environments Package Python code effectively for community and production use Learn modern syntax elements of Python programming such as f-strings, enums, and lambda functions Demystify metaprogramming in Python with metaclasses Write concurrent code in Python Extend Python with code written in different languages Integrate Python with code written in different languages Who this book is for This book will appeal to you if you're a programmer looking to take your Python knowledge to the next level by writing efficient code and learning the latest features of version 3.7 and above.
A comprehensive guide with extensive coverage on concepts such as OOP, functional programming, generic programming, and STL along with the latest features of C++ Key Features Delve into the core patterns and components of C++ in order to master application design Learn tricks, techniques, and best practices to solve common design and architectural challenges Understand the limitation imposed by C++ and how to solve them using design patterns Book Description C++ is a general-purpose programming language designed with the goals of efficiency, performance, and flexibility in mind. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation. The focus of this book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++, in particular, the generic programming. Armed with the knowledge of these patterns, you will spend less time searching for a solution to a common problem and be familiar with the solutions developed from experience, as well as their advantages and drawbacks. The other use of design patterns is as a concise and an efficient way to communicate. A pattern is a familiar and instantly recognizable solution to specific problem; through its use, sometimes with a single line of code, we can convey a considerable amount of information. The code conveys: "This is the problem we are facing, these are additional considerations that are most important in our case; hence, the following well-known solution was chosen." By the end of this book, you will have gained a comprehensive understanding of design patterns to create robust, reusable, and maintainable code. What you will learn Recognize the most common design patterns used in C++ Understand how to use C++ generic programming to solve common design problems Explore the most powerful C++ idioms, their strengths, and drawbacks Rediscover how to use popular C++ idioms with generic programming Understand the impact of design patterns on the program's performance Who this book is for This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable apps.
Learn dynamic programming with Julia to build apps for data analysis, visualization, machine learning, and the web Key Features Leverage Julia's high speed and efficiency to build fast, efficient applications Perform supervised and unsupervised machine learning and time series analysis Tackle problems concurrently and in a distributed environment Book Description Julia offers the high productivity and ease of use of Python and R with the lightning-fast speed of C++. There's never been a better time to learn this language, thanks to its large-scale adoption across a wide range of domains, including fintech, biotech and artificial intelligence (AI). You will begin by learning how to set up a running Julia platform, before exploring its various built-in types. This Learning Path walks you through two important collection types: arrays and matrices. You'll be taken through how type conversions and promotions work, and in further chapters you'll study how Julia interacts with operating systems and other languages. You'll also learn about the use of macros, what makes Julia suitable for numerical and scientific computing, and how to run external programs. Once you have grasped the basics, this Learning Path goes on to how to analyze the Iris dataset using DataFrames. While building a web scraper and a web app, you'll explore the use of functions, methods, and multiple dispatches. In the final chapters, you'll delve into machine learning, where you'll build a book recommender system. By the end of this Learning Path, you'll be well versed with Julia and have the skills you need to leverage its high speed and efficiency for your applications. This Learning Path includes content from the following Packt products: Julia 1.0 Programming - Second Edition by Ivo Balbaert Julia Programming Projects by Adrian Salceanu What you will learn Create your own types to extend the built-in type system Visualize your data in Julia with plotting packages Explore the use of built-in macros for testing and debugging Integrate Julia with other languages such as C, Python, and MATLAB Analyze and manipulate datasets using Julia and DataFrames Develop and run a web app using Julia and the HTTP package Build a recommendation system using supervised machine learning Who this book is for If you are a statistician or data scientist who wants a quick course in the Julia programming language while building big data applications, this Learning Path is for you. Basic knowledge of mathematics and programming is a must.
New edition of the bestselling guide to building an effective mobile app architecture with Xamarin.Forms 4 that maximizes the overall quality of apps. Key Features Updated for Xamarin.Forms 4 Packed with real-world scenarios and solutions to help you build professional grade mobile apps with Xamarin.Forms Includes design patterns and best practice techniques that every mobile developer should know Book Description Discover how to extend and build upon the components of the most recent version of Xamarin.Forms to develop an effective, robust mobile app architecture. This new edition features Xamarin.Forms 4 updates, including CollectionView and RefreshView, new coverage of client-side validation, and updates on how to implement user authentication. Mastering Xamarin.Forms, Third Edition is one of the few Xamarin books structured around the development of a simple app from start to finish, beginning with a basic Xamarin.Forms app and going step by step through several advanced topics to create a solution architecture rich with the benefits of good design patterns and best practices. This book introduces a core separation between the app's user interface and the app's business logic by applying the MVVM pattern and data binding, and then focuses on building a layer of plugin-like services that handle platform-specific utilities such as navigation and geo-location, as well as how to loosely use these services in the app with inversion of control and dependency injection. You'll connect the app to a live web-based API and set up offline synchronization before testing the app logic through unit testing. Finally, you will learn how to add monitoring to your Xamarin.Forms projects to track crashes and analytics and gain a proactive edge on quality. What you will learn Find out how, when, and why to use architecture patterns and best practices with Xamarin.Forms Implement the Model-View-ViewModel (MVVM) pattern and data binding in Xamarin.Forms mobile apps Incorporate client-side validation in Xamarin.Forms mobile apps Extend the Xamarin.Forms navigation API with a custom ViewModel-centric navigation service Leverage the inversion of control and dependency injection patterns in Xamarin.Forms mobile apps Work with online and offline data in Xamarin.Forms mobile apps Use platform-specific APIs to build rich custom user interfaces in Xamarin.Forms mobile apps Explore how to monitor mobile app quality using Visual Studio App Center Who this book is for This book is intended for .NET developers who are familiar with Xamarin mobile application development and the open source Xamarin.Forms toolkit. If you have already started working with Xamarin.Forms and want to take your app to the next level, making it more maintainable, testable and flexible, then this book is for you.
Discover how you can leverage the reactive paradigm with RxJS in your Angular applications using some common patterns and techniques that can be implemented in real-world use casesKey FeaturesLearn how to write clean, maintainable, performant, and optimized Angular web applications using reactive patternsExplore various RxJS operators and techniques in detail to improve the testing and performance of your codeSwitch from an imperative mindset to reactive by comparing bothBook DescriptionRxJS is a fast, reliable, and compact library for handling asynchronous and event-based programs. It is a first-class citizen in Angular and enables web developers to enhance application performance, code quality, and user experience, so using reactive patterns in your Angular web development projects can improve user interaction on your apps, which will significantly improve the ROI of your applications.This book is a step-by-step guide to learning everything about RxJS and reactivity. You'll begin by understanding the importance of the reactive paradigm and the new features of RxJS 7. Next, you'll discover various reactive patterns, based on real-world use cases, for managing your application's data efficiently and implementing common features using the fewest lines of code.As you build a complete application progressively throughout the book, you'll learn how to handle your app data reactively and explore different patterns that enhance the user experience and code quality, while also improving the maintainability of Angular apps and the developer's productivity. Finally, you'll test your asynchronous streams and enhance the performance and quality of your applications by following best practices.By the end of this RxJS Angular book, you'll be able to develop Angular applications by implementing reactive patterns.What you will learnUnderstand how to use the marble diagram and read it for designing reactive applicationsWork with the latest features of RxJS 7Build a complete Angular app reactively, from requirement gathering to deploying itBecome well-versed with the concepts of streams, including transforming, combining, and composing themExplore the different testing strategies for RxJS apps, their advantages, and drawbacksUnderstand memory leak problems in web apps and techniques to avoid themDiscover multicasting in RxJS and how it can resolve complex problemsWho this book is forIf you're an Angular developer who wants to leverage RxJS for building reactive web applications, this is the book for you. Beginner-level experience with Angular and TypeScript and knowledge of functional programming concepts is assumed.