- Table View
- List View
Sweetie 2.0: Using Artificial Intelligence to Fight Webcam Child Sex Tourism (Information Technology and Law Series #31)
by Simone van der Hof Ilina Georgieva Bart Schermer Bert-Jaap KoopsThis book centres on Webcam Child Sex Tourism and the Sweetie Project initiated by the children’s rights organization Terre des Hommes in 2013 in response to the exponential increase of online child abuse. Webcam child sex tourism is a growing international problem, which not only encourages the abuse and sexual exploitation of children and provides easy access to child-abuse images, but which is also a crime involving a relatively low risk for offenders as live-streamed webcam performances leave few traces that law enforcement can use. Moreover, webcam child sex tourism often has a cross-border character, which leads to jurisdictional conflicts and makes it even harder to obtain evidence, launch investigations or prosecute suspects.Terre des Hommes set out to actively tackle webcam child sex tourism by employing a virtual 10-year old Philippine girl named Sweetie, a so-called chatbot, to identify offenders in chatrooms. Sweetie 1.0 could be deployed only if police officers participated in chats, and thus was limited in dealing with the large number of offenders. With this in mind, a more pro-active and preventive approach was adopted to tackle the issue. Sweetie 2.0 was developed with an automated chat function to track, identify and deter individuals using the internet to sexually abuse children. Using chatbots allows the monitoring of larger parts of the internet to locate and identify (potential) offenders, and to send them messages to warn of the legal consequences should they proceed further.But using artificial intelligence raises serious legal questions. For instance, is sexually interacting with a virtual child actually a criminal offence? How do rules of criminal procedure apply to Sweetie as investigative software? Does using Sweetie 2.0 constitute entrapment? This book, the outcome of a comparative law research initiative by Leiden University’s Center for Law and Digital Technologies (eLaw) and the Tilburg Institute for Law, Technology, and Society (TILT), addresses the application of substantive criminal law and criminal procedure to Sweetie 2.0 within various jurisdictions around the world.This book is especially relevant for legislators and policy-makers, legal practitioners in criminal law, and all lawyers and academics interested in internet-related sexual offences and in Artificial Intelligence and law.Professor Simone van der Hof is General Director of Research at t he Center for Law and Digital Technologies (eLaw) of the Leiden Law School at Leiden University, The Netherlands. Ilina Georgieva, LL.M., is a PhD researcher at the Faculty of Governance and Global Affairs at Leiden University, Bart Schermer is an associate professor at the Center for Law and Digital Technologies (eLaw) of the Leiden Law School, and Professor Bert-Jaap Koops is Professor of Regulation and Technology at the Tilburg Institute for Law, Technology, and Society (TILT), Tilburg University, The Netherlands.
Swift: Developing iOS Applications
by Giordano Scalzo Jon Hoffman Andrew J WagnerUnleash the power of Swift and discover the skills required to build incredible robust iOS applications About This Book * Write expressive, understandable, and maintainable Swift 2 code with this hands-on course * Unveil the complex underpinnings of Swift to turn your app ideas into reality * Specialize in developing real iOS apps, and 2D and 3D video games using Swift and Cocoapods * Dive deep into protocol extensions, learn new error handling model and use featured Swift design patterns to write more efficient code Who This Book Is For This course would be for app developers who are new to developing for iOS or OSX and are trying to get grips with Swift for the first time. What You Will Learn * From a solid understanding of the Swift 2 language * Get to know the practical aspects of how a computer program actually works * Understand the paradigms used by Apple's frameworks, so you are not intimidated by them * Create a server in Swift to deliver JSON data to an iOS app * Take advantage of Cocoapods to use third-party libraries * Build games with SpriteKit and SceneKit * Develop an app running on the cloud to act as an API server for your client's apps * Dive into the core components of Swift 2 including operators, collections, control flow, and functions * Create and use classes, structures, and enums including object-oriented topics such as inheritance, protocols, and extensions * Develop a practical understanding of subscripts, optionals, and closures * Master Objective-C interoperability with mix and match * Access network resources using Swift * Implement various standard design patterns in the Swift language In Detail The Swift--Developing iOS Applications course will take you on a journey to become an efficient iOS and OS X developer, with the latest trending topic in town. Right from the basics to the advanced level topics, this course would cover everything in detail. We'll embark our journey by dividing the learning path into four modules. Each of these modules are a mini course in their own right; and as you complete each one, you'll gain key skills and be ready for the material in the next module. The first module is like a step-by-step guide to programming in Swift 2. Each topic is separated into compressible sections that are full of practical examples and easy-to-understand explanations. Each section builds on the previous topics, so you can develop a proficient and comprehensive understanding of app development in Swift 2. By the end of this module, you'll have a basic understanding of Swift 2 and its functionalities. The second module will be the an easy-to-follow guide filled with tutorials to show you how to build real-world apps. The difficulty and complexity level increases chapter by chapter. Each chapter is dedicated to build a new app, beginning from a basic and unstyled app through to a full 3D game. The last two chapters show you how to build a complete client-server e-commerce app right from scratch. You'll be able to build well-designed apps, effectively use AutoLayout, develop videogames, and build server apps. The third and the last module of our course will take an example-based approach where each concept covered is supported by example code to not only give you a good understanding of the concept, but also to demonstrate how to properly implement it. Style and approach This course includes all the resources that will help you jump into the app development .This course covers all the important aspects Swift application development and is divided into individual modules so that you develop your skill after the completion of a module and get ready for the next. Through this comprehensive course, you'll learn how to use Swift programming with hands-on examples from scratch to finish!
Swift 2.0: Der Sprachkurs für Einsteiger und Individualisten
by Wolfram SchroersSie möchten Apples neue Programmiersprache Swift erlernen, um Apps fürs iPhone oder iPad oder Programme für den Mac zu entwickeln? Dann finden Sie in diesem Buch alles, was Sie wissen müssen! Von den Entwicklungswerkzeugen und Ihrer ersten App über Schleifen und Verzweigungen bis zur objektorientierten Programmierung erklärt Ihnen Wolfram Schroers Schritt für Schritt alle benötigten Grundlagen. Natürlich erfahren Sie auch, wie Sie die Benutzeroberflächen Ihrer Anwendungen mit dem Cocoa-Framework gestalten und sie aufs iPhone, iPad oder den Mac portieren. Der besondere Clou sind dabei die Beispiele: Statt sich mit trockenen Programmieraufgaben zu langweilen, entwickeln Sie kleine Spiele oder einen Passwortgenerator. Alle Codebeispiele erhalten Sie zur besseren Orientierung natürlich auch zum Download auf der Verlagswebsite. Das Buch eignet sich sowohl für Programmieranfänger als auch für Umsteiger; falls Sie vorher schon in Objective-C programmiert haben sollten, werden Ihnen gezielte Hinweise über mögliche Fallstricke hinweghelfen. Starten Sie also durch mit Swift und schreiben Sie Ihre eigenen Apps und Mac-Programme!
Swift 2 Blueprints
by Cecil CostaSharpen your skills in Swift by designing and deploying seven fully functional applicationsAbout This BookDevelop a variety of iOS-compatible applications that range from health and fitness to utilities using this project-based handbookDiscover ways to make the best use of the latest features in Swift to build on a wide array of applicationsFollow step-by-step instructions to create Swift apps oriented for the real worldWho This Book Is ForIf you are a competent iOS developer who wants to develop stunning applications with Swift, then this book is for you. Familiarity with Swift programming is assumed.What You Will LearnGet to grips with the basics of Xcode and Swift for application developmentCreate a Photo Sharing application to capture an image, edit it using different features and share it via social media.Develop applications using the WatchKit and exchange data between iPhone and the WatchUse advanced features such as SpriteKit to build a gameInstall third-party Swift frameworks to improvise on your application developmentDiscover how to simulate home automation with HomeKitBuild an application to monitor the user's weight, heart rate and the number of steps for Health Historic AnalysisManipulate media using AVFoundation framework to merge audio and video.In DetailIn this book, you will work through seven different projects to get you hands-on with developing amazing applications for iOS devices.We start off with a project that teaches you how to build a utility app using Swift. Moving on, we cover the concepts behind developing an entertainment or social networking related application, for example, a small application that helps you to share images, audio, and video files from one device to another. You'll also be guided through create a city information app with customized table views, a reminder app for the Apple Watch, and a game app using SpriteKit.By the end of this book, you will have the required skillset to develop various types of iOS applications with Swift that can run on different iOS devices. You will also be well versed with complex techniques that can be used to enhance the performance of your applications.Style and approachThis book takes a step-by-step approach to help you build apps from scratch and learn the methodology to develop real-time applications using Swift.
Swift 2 By Example
by Giordano ScalzoCreate robust and extensible iOS apps using the advanced features of Swift 2 About This Book * Get up to speed with the new features of Swift 2 by following the exhaustive examples in this book * Specialize in developing real iOS apps, and 2D and 3D videogames using Swift and Cocoapods * Learn how to build server API apps to feed your iOS client apps Who This Book Is For This book is ideal for those who want to learn to develop app in Swift, starting the right way. Whether you are an expert Objective-C programmer or are new to this platform, you'll quickly grasp the code of real world apps, and discover how to use Swift effectively. Prior experience in development for Apple devices would be helpful, but is not mandatory. What You Will Learn * Create a server in Swift to deliver JSON data to an iOS app * Take advantage of Cocoapods to use third-party libraries * Use a clean and effective architecture to decrease complexity and speed up development * Take advantage of the most useful parts of the iOS SDK * Build games with SpriteKit and SceneKit * Develop an app running on the cloud to act as an API server for your client's apps In Detail Swift is no longer the unripe language it was when launched by Apple at WWDC14, now it's a powerful and ready-for-production programming language that has empowered most new released apps. Swift is a user-friendly language with a smooth learning curve; it is safe, robust, and really flexible. Swift 2 is more powerful than ever; it introduces new ways to solve old problems, more robust error handling, and a new programming paradigm that favours composition over inheritance. Swift 2 by Example is a fast-paced, practical guide to help you learn how to develop iOS apps using Swift. Through the development of seven different iOS apps and one server app, you'll find out how to use either the right feature of the language or the right tool to solve a given problem. We begin by introducing you to the latest features of Swift 2, further kick-starting your app development journey by building a guessing game app, followed by a memory game. It doesn't end there, with a few more apps in store for you: a to-do list, a beautiful weather app, two games: Flappy Swift and Cube Runner, and finally an ecommerce app to top everything off. By the end of the book, you'll be able to build well-designed apps, effectively use AutoLayout, develop videogames, and build server apps. Style and approach These easy-to-follow tutorials show you how to build real-world apps. The difficulty and complexity level increases chapter by chapter. Each chapter is dedicated to build a new app, beginning from a basic and unstyled app through to a full 3D game. The last two chapters show you how to build a complete client-server ecommerce app right from scratch.
Swift 2 Cookbook
by Kyle BegemanOver 50 hands-on recipes to help you create apps and build your portfolio of projects in Swift 2 About This Book * Conceptualize and write effective applications for iOS/OS X using Swift 2 * Make the most of Swift's diverse features, from configuring your projects to using design patterns and different types of databases * A fast-paced, comprehensive guide equipped with lots of tips and tricks to help you learn about Swift programming quickly Who This Book Is For If you are an Apple developer who wants to use Swift to build your applications, this book is for you. With Swift 2 going open source, this book will also help web developers. Some understanding of Objective-C or Swift would be helpful but is not required. What You Will Learn * Install Xcode from the App Store * Upgrade your existing Swift 1.2 code to Swift 2.0 * Use the standard Swift 2.0 library and collections * Work with structs, generics, and design patterns in Swift * Use the new markup language to provide rich documentation of code * Write a book using Playgrounds and Swift * Debug and test your code using Xcode * Integrate your code with Objective-C and use assembly code with Swift * Leverage the Objective-C runtime when compiling Swift using associated objects In Detail Swift is Apple's innovative development language that was introduced at the WWDC (WorldWide Developers Conference) 2014 alongside Xcode 6 and iOS 8. This user-friendly language is packed with modern features to make programming easier and fun, with a lot of flexibility. With Swift 2 comes even better performance, a new error handling API, protocol extensions, and super support for availability checking. This book will equip you with all the practical programming aspects of Swift 2. It covers the important features and paradigms that Swift provides to developers. You will begin by installing Xcode from the App Store and using Swift as an interpreter. Then, you will see how you can upgrade your existing Swift 1.2 code to Swift 2.0 with the help of Xcode. You will see how to use structs and generics, and work with different Design Patterns with Swift. Debug and test your code using Xcode and see how to use assembly code effectively with Swift. By the end of this book, you will have the necessary skills to get the most out of Swift to develop effective mobile and web applications. Style and approach This book follows a problem-solution methodology using step-by-step recipes, and is filled with screenshots to help you create samples and learn something new in every recipe.
Swift 3 for Absolute Beginners
by Gary Bennett Brad LeesStay motivated and overcome obstacles while learning to use Swift Playgrounds to be a great iOS developer. This book is perfect for those with no programming background, those with some programming experience but no object-oriented experience, or those that have a great idea for an app but haven't programmed since school, and it is now updated for Swift 3. Many people have a difficult time believing they can learn to write iOS apps. Swift 3 for Absolute Beginners, along with the free, live online training sessions will show you how to do so. You'll learn Object Oriented Programming and be introduced to HealthKit before moving on to write your own iPhone and Watch apps from scratch. Gary Bennett and Brad Lees are full-time professional iOS developers and have developed a broad spectrum of apps for Fortune 500 companies. The authors have taken their combined 12 years of writing apps, teaching online iOS courses, the experience from their first three iOS books, along with their online instruction and free online forum at XcelMe. com to create an excellent training book. What You'll Learn: #65533; Work with Swift classes, properties, and functions #65533; Examine proper user interface and user experience design #65533; Understand Swift data types: integers, floats, strings, and booleans #65533; Use Swift data collections: arrays and dictionaries #65533; Review Boolean logic, comparing data, and flow control Who This Book Is For Anyone who wants to learn to develop apps for the Mac, iPhone, and iPad, and Watch using the Swift programming language. No previous programming experience is necessary.
Swift 3 Functional Programming
by Dr Fatih NayebiBring the power of Swift functional programming to iOS, Web, macOS, watchOS and tvOS application development and build clean, smart, scalable and reliable applications About This Book * Written for Swift 3 -Developers Preview version, this is a comprehensive guide that introduces iOS and OS X developers to the all-new world of functional programming that has so far been alien to them * Learn about first-class functions and how imperative-style patterns can be converted into functional code using some simple techniques * The book will get you familiar with using functional programming alongside existing OOP techniques so you can get the best of both worlds and develop clean, robust code Who This Book Is For The book is for developers with a basic knowledge of Swift programming aiming to incorporate functional programming paradigms in their day-to-day application development What You Will Learn * First-class, higher-order, and pure functions * Closures and capturing values * Custom operators, recursion, and memoization * Value and reference types in Swift * Enumerations, algebraic data types, patterns, and pattern matching * Generics and associated type protocols * Higher-order functions such as map, flatMap filter, and reduce * Dealing with optionals, fmap, and apply for multiple functional mapping * Functional data structures such as Semigroup, Monoid, Binary Search Tree, Linked List, Stack, and Lazy List * Immutability, copy constructors, and lenses * Combining FP paradigms with OOP, FRP, and POP in your day-to-day development activities * Developing a backend application with Swift * Developing an iOS application with FP, OOP, FRP, and POP paradigms In Detail This book is based on Swift 3 Developer preview version and aims at simplifying the functional programming (FP) paradigms making it easily usable, by showing you how to solve many of your day-to-day development problems. Whether you are new to functional programming and Swift or experienced, this book will strengthen the skills you need to design and develop high-quality, scalable, and efficient applications. The book starts with functional programming concepts, the basics of Swift 3, and essential concepts such as functions, closures, optionals, enumerations, immutability, and generics in detail with coding examples. Furthermore, this book introduces more advanced topics such as function composition, monads, functors, applicative functors, memoization, lenses, algebraic data types, functional data structures, functional reactive programming (FRP), protocol-oriented programming (POP) and mixing object-oriented programming (OOP) with functional programming (FP) paradigms. Finally, this book provides a working code example of a front-end application developed with these techniques and its corresponding back-end application developed with Swift. Style and approach This is an easy-to-follow guide full of hands-on coding examples of real-world applications. Each topic is explained sequentially and placed in context, and for the more inquisitive, there are more details of the concepts used. It introduces the Swift language basics and functional programming techniques in simple, non-mathematical vocabulary with examples in Swift.
Swift 3 Game Development - Second Edition
by Stephen HaneyEmbrace the mobile gaming revolution by creating popular iOS games with Swift 3.0 About This Book • Create and design games for iPhone and iPad using SpriteKit and Swift 3.0 • Learn the core fundamentals of SpriteKit game development and mix and match techniques to customize your game • This step-by-step practical guide will teach you to build games from scratch using little-known tips and strategies for maximum fun Who This Book Is For If you wish to create and publish fun iOS games using Swift, then this book is for you. You should be familiar with basic programming concepts. However, no prior game development or Apple ecosystem experience is required. What You Will Learn • Deliver powerful graphics, physics, and sound in your game by using SpriteKit • Set up the scene using the new capabilities of the scene editor and custom classes • Maximize gameplay with little-known tips and strategies for fun and repeatable action • Make use of animations, graphics, and particles to polish your game • Understand the current mobile monetization landscape to choose the best option for your own situation • Integrate your game with Game Center so that your players can share their high scores and achievements • Publish your game to the App Store and enjoy people playing your games In Detail Swift is the perfect choice for game development. Developers are intrigued by Swift 3.0 and want to make use of new features to develop their best games yet. Packed with best practices and easy-to-use examples, this book leads you step by step through the development of your first Swift game. This book starts by introducing SpriteKit and Swift's new features that can be used for game development. After setting up your first Swift project, you will build your first custom class, learn how to draw and animate your game, and add physics simulations. Then, you will add the player character, NPCs, and powerups. To make your game more fun and engaging, you will learn how to set up scenes and backgrounds, build fun menus, and integrate with Apple Game Center to add leaderboards and achievements. You will then make your game stand out by adding animations when game objects collide, and incorporate proven techniques such as the advanced particle system and graphics. Finally, you will explore the various options available to start down the path towards monetization and publish your finished games to the App Store. By the end of this book, you will be able to create your own iOS games using Swift and SpriteKit. Style and approach This project-based guide is engaging with a visually-rich approach rather than a text-heavy approach. With every chapter containing practical examples, you will understand how Swift programming works and make the most of the new features in version 3.0.
Swift 3 New Features
by Keith ElliottA fast-paced guide to get you up and running with Swift 3 and its new features About This Book * Get up to date with the latest changes to Swift 3 * Make your life easier by knowing how to port your Swift code to the latest version * Learn how to write programs that work on most of the major platforms such as iOS and Linux Who This Book Is For The book is for those who are familiar with Swift but are in need of clear guidance on what's changed in the latest version and the new features. What You Will Learn * Migrate a Swift 2.2 project to Swift 3 * Understand the workings of Swift Package Manager * Interact with Cocoa libraries when importing Objective C to Swift * Explore the function and operator changes new in Swift 3 * Work with the advanced type changes, attribute improvements, and floating point type improvements in Swift * Discover the changes in the Swift API and see how Objective-C can be manipulated in the current API * Implement the new features central to Swift Testing and understand the new debug features * Create server-side applications using Swift 3 In Detail Since Swift was introduced by Apple in WWDC 2015, it has gone on to become one of the most beloved languages to develop iOS applications with. In the new version, the Swift team aimed to take its adoption to the next level by making it available for new platforms and audiences. This book will very quickly get you up to speed and productive with Swift 3. You will begin by understanding the process of submitting new feature requests for future versions of Swift. Swift 3 allows you to develop and run your applications on a Linux machine. Using this feature, you will write your first Linux application using the debugger in Linux. Using Swift migrator, you will initiate a conversion from Swift 2.2 to Swift 3. Further on, you will learn how to interact with Cocoa libraries when importing Objective C to Swift. You will explore the function and operator changes new to Swift 3, followed by Collection and Closure changes. You will also see the changes in Swift 3 that allow you write tests easier with XCTest and debug your running code better with new formats as well. Finally, you will have a running server written completely in Swift on a Linux box. By the end of the book, you will know everything you need to know to dive into Swift 3 and build successful projects. Style and approach The book takes a tutorial-based approach offering an overview of the new features introduced in the latest version of Swift. It includes relevant examples of how code and concepts change when it comes to working on Swift 3 compared to previous versions.
Swift 3 Object Oriented Programming - Second Edition
by Gaston C. HillarThis book is for iOS and macOS developers who want to get a detailed practical understanding of object-oriented programming with the latest version of Swift: 3.0.
Swift 3 Protocol-Oriented Programming - Second Edition
by Jon HoffmanBuild fast and powerful applications with the power of protocol-oriented programming About This Book * Leverage the power of protocol-oriented programming in your applications and learn from real world use cases * Create a flexible codebase with protocols and protocol extensions * Increase the overall productivity and performance of applications with protocol-oriented programming Who This Book Is For This book is for Swift developers who want to learn and implement protocol-oriented programming in practical applications. What You Will Learn * Understand the difference between object-oriented programming and protocol-oriented programming * Explore the different types that Swift offers and what pitfalls to avoid * Error handling with do-try-catch block * Delve into Generics and Generic programming * Implement several design patterns in a protocol-oriented way * How to design applications by prioritizing the protocol first and the actual type second In Detail One of the most important additions to the new features and capabilities of the Swift programming language was an overhaul of Protocols. Protocol-oriented programming and first class value semantics have now become two incredibly powerful concepts at the heart of Swift's design. This book will help you understand the difference between object-oriented programming and protocol-oriented programming. It will demonstrate how to work with protocol-oriented programming using real world use cases. You will gain solid knowledge of the different types that can be used in Swift and the differences between value and reference types. You will be taught how to utilize the advanced features of protocol-oriented programming to boost the performance of your applications. By the end of the book, you will have a thorough understanding of protocol-oriented programming and how to utilize it to build powerful, practical applications. Style and approach This book is written for developers who learn best by working with code, so every concept discussed in this book is reinforced with real code examples.
Swift 4 Programming Cookbook
by Keith MoonOver 50 recipes to help you quickly and efficiently build applications with Swift 4 and Xcode 9 About This Book • Write robust and efficient code and avoid common pitfalls using Swift 4 • Get a comprehensive coverage of the tools and techniques needed to create multi-platform apps with Swift 4 • Packed with easy-to-follow recipes, this book will help you develop code using the latest version of Swift Who This Book Is For If you are looking for a book to help you learn about the diverse features offered by Swift 4 along with tips and tricks to efficiently code and build applications, then this book is for you. Basic knowledge of Swift or general programming concepts will be beneficial. What You Will Learn • Explore basic to advanced concepts in Swift 4 Programming • Unleash advanced features of Apple's Xcode 9 IDE and Swift Playgrounds • Learn about the conditional statements, loops, and how to handle errors in Swift • Define flexible classes and structs using Generics, and learn about the advanced operators, and create custom operators • Explore functionalities outside of the standard libraries of Swift • Import your own custom functionality into Swift Playgrounds • Run Swift on Linux and investigate server-side programming with the server side framework Vapor In Detail Swift 4 is an exciting, multi-platform, general-purpose programming language. Being open source, modern and easy to use has made Swift one of the fastest growing programming languages. If you interested in exploring it, then this book is what you need. The book begins with an introduction to the basic building blocks of Swift 4, its syntax and the functionalities of Swift constructs. Then, introduces you to Apple's Xcode 9 IDE and Swift Playgrounds, which provide an ideal platform to write, execute, and debug the codes thus initiating your development process. Next, you'll learn to bundle variables into tuples, set order to your data with an array, store key-value pairs with dictionaries and you'll learn how to use the property observers. Later, explore the decision-making and control structures in Swift and learn how to handle errors in Swift 4. Then you'll, examine the advanced features of Swift, generics and operators, and then explore the functionalities outside of the standard library, provided by frameworks such as Foundation and UIKit. Also, you'll explore advanced features of Swift Playgrounds. At the end of the book, you'll learn server-side programming aspect of Swift 4 and see how to run Swift on Linux and then investigate Vapor, one of the most popular server-side frameworks for Swift. Style and approach Each recipe addresses a specific problem, with a detailed discussion that explains the solution and offers insight into how it works.
Swift 4 Protocol-Oriented Programming - Third Edition
by Jon HoffmanBuild fast and powerful applications by harnessing the power of protocol-oriented programming in Swift 4 About This Book • Leverage the power of protocol-oriented programming in your applications and learn from real-world use cases • Create a flexible code base with protocols and protocol extensions • Leverage the power of generics in Swift 4 to create very flexible frameworks Who This Book Is For This book is for Swift developers who want to learn and implement protocol-oriented programming in their real-world applications.. What You Will Learn • Understand the differences between object-oriented programming and protocol-oriented programming • Explore the different types that Swift offers and what pitfalls to avoid • Delve into generics and generic programming • Learn how to implement Copy-On-Write within your custom types • Implement several design patterns in a protocol-oriented way • Design applications by prioritizing the protocol first and the implementation types second In Detail Swift has become the number one language used in iOS and macOS development. The Swift standard library is developed using protocol-oriented programming techniques, generics, and first-class value semantics; therefore, every Swift developer should understand these powerful concepts and how to take advantage of them in their application design. This book will help you understand the differences between object-oriented programming and protocol-oriented programming. It will demonstrate how to work with protocol-oriented programming using real-world use cases. You will gain a solid knowledge of the various types that can be used in Swift and the differences between value and reference types. You will be taught how protocol-oriented programming techniques can be used to develop very flexible and easy-to-maintain code. By the end of the book, you will have a thorough understanding of protocol-oriented programming and how to utilize it to build powerful and practical applications. Style and approach This book is written for developers who learn best by working with code, so every concept discussed in this book is reinforced with real code examples.
Swift 4 Recipes
by Yanis ZafirópulosGet the most out of Swift 4 with this carefully compiled collection of select code snippets designed to solve everyday coding problems. This book features the Apress easy-to-use recipe format, with step-by-step instructions, and a no-fuss approach. You'll explore a wide range of topics, all neatly organized according to the language’s own core elements and building blocks. You'll review common topics such as conditionals, loops, functions, classes, closures, and arrays. This book also includes recipes to some more advanced problems found in files, system programming, and algorithms. With Swift 4 Recipes, your programming problems are easily resolved, without wading through paragraphs of text. What You'll LearnCreate if-switch statements, ternary operator, and nil-coalescing Work with numbers, conversions, mathematical functions Access the command line and retrieving system infoWho This Book Is ForMac and iOS developers either looking for a quick problem-solution manual to get started or in search of a quick reference for everyday problems in a dictionary-like fashion.
Swift 5.3 Cookbook - Second Edition: Over 60 proven recipes for developing better iOS applications with Swift 5.3, 2nd Edition
by Chris Barker Keith MoonDiscover code-rich recipes ideal for developers new to Swift and those looking to explore the latest features of Swift 5.3Key FeaturesLearn Swift 5.3 programming techniques to write robust and efficient codeDiscover the fundamentals of the Swift programming language and build apps with frameworks such as Foundation, Networking, and UIKitGet to grips with the new features of Swift 5.3, including SwiftUIBook DescriptionSwift is an exciting, multi-platform, general-purpose programming language, and this book will help you explore the features of its latest version, Swift 5.3.The book begins with an introduction to the basic building blocks of Swift 5.3, its syntax, and the functionalities of Swift constructs. You’ll then discover how Swift Playgrounds provide an ideal platform to write, execute, and debug your Swift code. As you advance through the chapters, the book will show you how to bundle variables into tuples or sets, order your data with an array, store key-value pairs with dictionaries, and use property observers. You’ll also learn about the decision-making and control structures in Swift, examine advanced features such as generics and operators, and explore functionalities outside of the standard library. Once you’ve learned how to build iOS applications using UIKit, you'll find out how to use Swift for server-side programming, run Swift on Linux, and investigate Vapor. Finally, you'll discover some of the newest features of Swift 5.3, using SwiftUI and Combine to build adaptive and reactive applications.By the end of the book, you'll have discovered direct solutions that will help you become productive while developing code using Swift 5.3.What you will learnExplore basic to advanced concepts in Swift 5.3 programmingUnderstand conditional statements, loops, and how to handle errors in SwiftDefine flexible classes and structs using genericsUse advanced operators and create custom onesBuild iOS apps using the powerful features of UIKit or the new SwiftUI frameworkImport your own custom functionality into Swift PlaygroundsRun Swift on Linux and investigate server-side programming with the server-side framework VaporWho This Book Is ForIf you are looking to get started with Swift 5.3 or want to learn about the diverse features it offers, along with tips and tricks to efficiently code and build applications, then this book is for you. Basic knowledge of general programming concepts will assist with understanding key concepts.Table of ContentsSwift Building BlocksBuilding on the Building BlocksData Wrangling with Swift Control FlowGenerics, Operators, and Nested TypesBeyond the Standard LibraryBuilding iOS Apps with SwiftSwift PlaygroundsServer-Side SwiftPerformance and Responsiveness in SwiftSwiftUI and CombineSwift for Machine Learning
Swift 5 for Absolute Beginners: Learn to Develop Apps for iOS
by Stefan Kaczmarek Brad Lees Gary BennettStay motivated and overcome obstacles while learning to use Swift Playgrounds and Xcode 10.2 to become a great iOS developer. This book, fully updated for Swift 5, is perfect for those with no programming background, those with some programming experience but no object-oriented experience, or those that have a great idea for an app but haven’t programmed since school.Many people have a difficult time believing they can learn to write iOS apps. Swift 5 for Absolute Beginners will show you how to do so. You'll learn Object-Oriented Programming (OOP) and be introduced to User Interface (UI) design following Apple’s Human Interface Guidelines (HIG) using storyboards and the Model-View-Controller (MVC) pattern before moving on to write your own iPhone and Apple Watch apps from scratch.What You’ll LearnWork with Swift classes, properties, and functionsExamine proper User Interface (UI) and User Experience (UX) designUnderstand Swift data types: integers, floats, strings, and booleansUse Swift data collections: arrays and dictionariesReview Boolean logic, comparing data, and flow controlUse the Xcode debugger to troubleshoot problems with your appsStore data in local app preferences and Core Data databases Who This Book Is ForAnyone who wants to learn to develop apps for the Mac, iPhone, iPad, and Apple Watch using the Swift programming language. No previous programming experience is necessary.
Swift by Example
by Giordano ScalzoThis book is intended for those who want to learn to develop apps in Swift the right way. Whether you are an expert Objective-C programmer or new to this platform, you'll learn quickly, grasping the code of real-world apps to use Swift effectively. Prior experience in development for Apple devices would be helpful, but is not mandatory.
Swift Cookbook
by Cecil CostaIf you are an experienced Objective-C programmer and are looking for quick solutions to many different coding tasks in Swift, then this book is for you. You are expected to have development experience, though not necessarily with Swift.
Swift Data Structure and Algorithms
by Mario Eguiluz Alebicto Erik AzarMaster the most common algorithms and data structures, and learn how to implement them efficiently using the most up-to-date features of Swift 3 About This Book * Develop a deep understanding of the collections in the Swift Standard Library with this step-by-step guide * Develop native Swift data structures and algorithms for use in mobile, desktop, and server-based applications * Learn about performance efficiency between different data structures and algorithms Who This Book Is For This book is for developers who want to learn how to implement and use common data structures and algorithms natively in Swift. Whether you are a self-taught developer without a formal technical background or you have a degree in Computer Science, this book will provide with the knowledge you need to develop advanced data structures and algorithms in Swift using the latest language features. What You Will Learn * Get to know about the basic data structures and how to use the Swift REPL * Use the Swift Standard Library collections bridging to Objective-C collections, and find out about protocol-oriented programming * Find out about Swift generators and sequences, and see how to use them to implement advanced data structures such as Stack, StackList, Queue, and LinkedList * Implement sorting algorithms such as Insertion Sort, Merge Sort, and Quick Sort and understand the performance trade-offs between them * See how to implement various binary trees, B-Tree, and Splay Trees * Perform advanced searching methods using Red-Black trees, AVL trees, and Trie trees, and take a look at several substring search algorithms * Get to know about the data structures used in graphs and how to implement graphs such as depth-first search, breadth-first search, directed graphs, spanning tree, and shortest path * Explore algorithm efficiency and see how to measure it In Detail Apple's Swift language has expressive features that are familiar to those working with modern functional languages, but also provides backward support for Objective-C and Apple's legacy frameworks. These features are attracting many new developers to start creating applications for OS X and iOS using Swift. Designing an application to scale while processing large amounts of data or provide fast and efficient searching can be complex, especially running on mobile devices with limited memory and bandwidth. Learning about best practices and knowing how to select the best data structure and algorithm in Swift is crucial to the success of your application and will help ensure your application is a success. That's what this book will teach you. Starting at the beginning, this book will cover the basic data structures and Swift types, and introduce asymptotic analysis. You'll learn about the standard library collections and bridging between Swift and Objective-C collections. You will see how to implement advanced data structures, sort algorithms, work with trees, advanced searching methods, use graphs, and performance and algorithm efficiency. You'll also see how to choose the perfect algorithm for your problem. Style and approach This easy-to-follow yet comprehensive guide can either be read from beginning to end, or depending on your current knowledge level, you can jump to the specific chapter that interests you. Each chapter topic starts with an introduction to the topic and algorithm before moving on to the hands-on implementation and analysis.
Swift Design Patterns
by Julien LangeThis book is intended for competent Swift developers who want to apply enduring design patterns with Swift to structure and scale their application code.
Swift Development for the Apple Watch: An Intro to the WatchKit Framework, Glances, and Notifications
by Jon Manning Paris Buttfield-AddisonApple Watch is the sort of science-fiction gadget that people used to dream about as kids. What kinds of apps do you envision for this new device? If you’re comfortable using OS X, Xcode, and iOS—and familiar with Swift—this concise book shows you the basics of building your own apps for this wrist-mounted computer with Apple’s WatchKit framework.You’ll learn what an Apple Watch is, what it isn’t, and how and why people might interact with apps you build for it. This practical guide also examines the type of apps most suitable for this device, and shows you how to be a good citizen in the iOS/Watch ecosystem.Learn the Watch app lifecycle, and understand how these apps interact with the user’s iPhoneBuild a Watch app and its iOS counterpart by adding controls, working with multiple screens, and sharing dataDesign a simple glance, the non-interactive Watch component that provides quick-look informationAdd functionality to the notification system, including actionable items, and display them on the Watch faceDesign and build complications, Watch-face gadgets that can display quick snapshots of information, including future events with Time Travel
Swift Development with Cocoa: Developing for the Mac and iOS App Stores
by Jonathon Manning Paris Buttfield-Addison Tim NugentReady to build apps for iPhone, iPad, and Mac now that Swift has landed? If you’re an experienced programmer who’s never touched Apple developer tools, this hands-on book shows you how to use the Swift language to make incredible iOS and OS X apps, using Cocoa and Cocoa Touch.Learn how to use Swift in a wide range of real-world situations, with Cocoa features such as Event Kit and Core Animation. You’ll pick up Swift language features and syntax along the way, and understand why using Swift (instead of Objective-C) makes iOS and Mac app development easier, faster, and safer. You’ll also work with several exercises to help you practice as you learn.Learn the OS X and iOS application lifecycleUse storyboards to design adaptive interfacesExplore graphics systems, including the built-in 2D and 3D game frameworksDisplay video and audio with AVFoundationStore data locally with the file system, or on the network with iCloudDisplay lists or collections of data with table views and collection viewsBuild apps that let users create, edit, and work with documentsUse MapKit, Core Location, and Core Motion to interact with the world
Swift Essentials
by Dr Alex BlewittWhether you are a seasoned Objective-C developer or new to the Xcode platform, Swift Essentials will provide you with all you need to know to get started with the language. Prior experience with iOS development is not necessary, but will be helpful to get the most out of the book.
Swift Essentials - Second Edition
by Dr Alex BlewittAre you interested in learning Swift? Do you want to write iOS applications in Swift? If yes, then this is the book for you. No prior iOS programming experience is assumed; however, having some experience with any programming language will be beneficial.