Hands-On Design Patterns with React NativeReact Native helps developers reuse code across different mobile platforms like iOS and Android.
This book will show you effective design patterns in the React Native world and will make you ready for professional development in big teams.
The book will focus only on the patterns that are relevant to JavaScript, ECMAScript, React and React Native. However, you can successfully transfer a lot of the skills and techniques to other languages. I call them "Idea patterns".
This book will start with the most standard development patterns in React like component building patterns, styling patterns in React Native and then extend these patterns to your mobile application using real world practical examples. Each chapter comes with full, separate source code of applications that you can build and run on your phone.
The book is also diving into architectural patterns. Especially how to adapt MVC to React environment. You will learn Flux architecture and how Redux is implementing it. ...
Hacking Product DesignUnderstand how designing a technology product in a startup environment is markedly different from product design at established companies. This book teaches product designers how to think and frame problems in the dynamic context of startups. You will discover how to enhance your soft skills that are often not taught, but are crucial to your success.
In the emerging field of design for technology products, there are many books and resources covering the hard skills—such as visual design, interface design, prototyping, and motion design. These skills are necessary to design work; however, without an understanding of the true potential of design and the skills required to unleash that potential in a startup setting, the impact of design may remain at a production level and not reach a position where it can positively impact product strategy and the business bottom line. Hacking Product Design addresses that gap in knowledge.
Gain foundational knowledge: know what startups are, t ...
Design, Launch, and Scale IoT ServicesThe Internet of Things is causing major industry disruption, so companies need to plan and manage their "IoT journey" to maximize all business opportunities. In this book companies can learn how to successfully create, launch and manage Internet of Things services.
It takes the reader through the process of specifying, implementing, and deploying IoT services; detailing how to scale and manage an IoT business. It introduces the fundamentals of IoT services, explaining IoT service building blocks and the key factors to be considered in the design of IoT services.
Moving into the IoT field requires speed. This book provides a fast track approach to IoT; summarizing the global experiences of the author, detailing the discussions, mistakes, successes, learnings and conclusions. Building an Internet of Things Service enables readers to accelerate their own on-boarding in their IoT journey.
Create new IoT Services; Review the basic IoT concepts and business implications you need ...
UX for Lean StartupsGreat user experiences (UX) are essential for products today, but designing one can be a lengthy and expensive process. With this practical, hands-on book, you'll learn how to do it faster and smarter using Lean UX techniques. UX expert Laura Klein shows you what it takes to gather valuable input from customers, build something they'll truly love, and reduce the time it takes to get your product to market.
No prior experience in UX or design is necessary to get started. If you're an entrepreneur or an innovator, this book puts you right to work with proven tips and tools for researching, identifying, and designing an intuitive, easy-to-use product.
Determine whether people will buy your product before you build it; Listen to your customers throughout the product's lifecycle; Understand why you should design a test before you design a product; Get nine tools that are critical to designing your product; Discern the difference between necessary features and nice-to-haves; Learn how ...
Python 3 Object-Oriented Programming, 3rd EditionObject-oriented programming (OOP) is a popular design paradigm in which data and behaviors are encapsulated in such a way that they can be manipulated together. This third edition of Python 3 Object-Oriented Programming fully explains classes, data encapsulation, and exceptions with an emphasis on when you can use each principle to develop well-designed software.
Starting with a detailed analysis of object-oriented programming, you will use the Python programming language to clearly grasp key concepts from the object-oriented paradigm. You will learn how to create maintainable applications by studying higher level design patterns. The book will show you the complexities of string and file manipulation, and how Python distinguishes between binary and textual data. Not one, but two very powerful automated testing systems, unittest and pytest, will be introduced in this book. You'll get a comprehensive introduction to Python's concurrent programming ecosystem.
By the end of the book ...
Hands-On Object-Oriented Programming with KotlinKotlin is an object-oriented programming language. The book is based on the latest version of Kotlin. The book provides you with a thorough understanding of programming concepts, object-oriented programming techniques, and design patterns. It includes numerous examples, explanation of concepts and keynotes. Where possible, examples and programming exercises are included.
The main purpose of the book is to provide a comprehensive coverage of Kotlin features such as classes, data classes, and inheritance. It also provides a good understanding of design pattern and how Kotlin syntax works with object-oriented techniques. You will also gain familiarity with syntax in this book by writing labeled for loop and when as an expression. An introduction to the advanced concepts such as sealed classes and package level functions and coroutines is provided and we will also learn how these concepts can make the software development easy. Supported libraries for serialization, regular expression a ...
Refactoring, 2nd EditionFor more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to make existing code easier to understand.
This eagerly awaited new edition has been fully updated to reflect crucial changes in the programming landscape. Refactoring, Second Edition, features an updated catalog of refactorings and includes JavaScript code examples, as well as new functional examples that demonstrate refactoring without classes.
Like the original, this edition explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use.
Understand the process and general principles of refactoring; Quickly apply useful refactorings to make a program easier to comprehend and change; Recognize “bad smells” in code that signal opportunities to refactor; Explore the refact ...
Practical Object-Oriented Design, 2nd EditionObject-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples.
Sandi Metz demonstrates how to build new applications that can "survive success" and repair existing applications that have become impossible to change.
Decide what belongs in a single class; Avoid entangling objects that should be kept separate; Define flexible interfaces among objects; Reduce programming overhead costs with duck typing; Successfully apply inheritance; Build objects via composition. ...
Principles of Package DesignApply design principles to your classes, preparing them for reuse. You will use package design principles to create packages that are just right in terms of cohesion and coupling, and are user- and maintainer-friendly at the same time.
The first part of this book walks you through the five SOLID principles that will help you improve the design of your classes. The second part introduces you to the best practices of package design, and covers both package cohesion principles and package coupling principles. Cohesion principles show you which classes should be put together in a package, when to split packages, and if a combination of classes may be considered a "package" in the first place. Package coupling principles help you choose the right dependencies and prevent wrong directions in the dependency graph of your packages.
Apply the SOLID principles of class design; Determine if classes belong in the same package; Know whether it is safe for packages to depend on each other. ...
Hands-On Big Data ModelingModeling and managing data is a central focus of all big data projects. In fact, a database is considered to be effective only if you have a logical and sophisticated data model. This book will help you develop practical skills in modeling your own big data projects and improve the performance of analytical queries for your specific business requirements.
To start with, you'll get a quick introduction to big data and understand the different data modeling and data management platforms for big data. Then you'll work with structured and semi-structured data with the help of real-life examples. Once you've got to grips with the basics, you'll use the SQL Developer Data Modeler to create your own data models containing different file types such as CSV, XML, and JSON. You'll also learn to create graph data models and explore data modeling with streaming data using real-world datasets.
By the end of this book, you'll be able to design and develop efficient data models for varying data ...