Dutt | Interprocess Communication with macOS | Buch | 978-1-4842-7044-8 | www.sack.de

Buch, Englisch, 284 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 464 g

Dutt

Interprocess Communication with macOS

Apple IPC Methods
1. Auflage 2021
ISBN: 978-1-4842-7044-8
Verlag: Apress

Apple IPC Methods

Buch, Englisch, 284 Seiten, Format (B × H): 155 mm x 235 mm, Gewicht: 464 g

ISBN: 978-1-4842-7044-8
Verlag: Apress


Build highly modular software in macOS that interacts deeply and intuitively with other programs. This book explores all techniques available for Inter-process communications (IPC) from high level macOS layers to deep kernel options while applying theoretical concepts into practical implementations on real world scenarios.
You'll see how IPC techniques are used for exchanging data and messages among multiple threads in one or more processes, which may be running on one or more computers connected by a network or running locally. IPC methods can be divided into methods for message passing, synchronization, shared memory, and remote procedure calls (RPC). A poorly conceived IPC can even expose an entire network to over-the-network attacks. Despite the risks, processes and applications absolutely need to communicate with each other across your system and the network. You'll see how these communications facilitate information sharing, computational speedup, modularity, convenience, and privilege separation. 
In macOS, a program has a number of ways to communicate with other programs. These mechanisms for IPC often exist in different layers of the system. You'll examine how each has its own specific purposes, limitations, and intended scenarios. Some are more suitable than others for code written at a certain level of the system. For example, a kernel extension would not make use of Apple events. 
Additionally, the book reveals that different users have different rights when it comes to accessing files, changing system wide settings, and so on, depending on whether they are admin users or ordinary users. Running code with root or administrative privileges can intensify the dangers posed by security vulnerabilities. You'll learn that to elevate privileges safely, it is mandatory for the application to perform the task through a secure Helper process.
What You'll Learn
  • Expand the capabilities of your programs by sharing data within multiple applications
  • Understand and dig deep into the world of Helper tools to create apps that need user privilege elevation
  • Enhance the modularity of a system by allowing your applications to interact and share data with a website

Who This Book Is ForSoftware engineers and architects designing and developing secure applications for macOS and iOS who have hands-on knowledge of Swift with XCode. 

Dutt Interprocess Communication with macOS jetzt bestellen!

Zielgruppe


Professional/practitioner


Autoren/Hrsg.


Weitere Infos & Material


Chapter 1 : Introduction to IPC on macOS

Chapter Goal : In this chapter, we’ll explore the basics of IPC and touch upon various techniques.

·      Evolution of IPC.

·      IPC on macOS.

·      Real world problems requiring an IPC solution.

·      Available IPC techniques on macOS.

Chapter 2 : IPC Through Shared Memory

Chapter Goal : In this chapter, we’ll learn IPC using shared memory techniques.

·      Introduction to shared memory.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Shared Memory.

·      Cons of IPC through Shared Memory.

·      Discussion on real world scenarios and applications.

Chapter 3 : IPC Through Mach Ports

Chapter Goal : In this chapter, we’ll learn IPC using Mach Ports.

·      Introduction to Mach Ports.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Mach Ports.

·      Cons of IPC through Mach Ports.

·      Discussion on real world scenarios and applications.

Chapter 4 : IPC Through Sockets

Chapter Goal : In this chapter, we’ll learn IPC using Sockets.

·      Introduction to Sockets

·      Using Socket and Socket Streams.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Socket.

·      Cons of IPC through Socket.

·      Discussion on real world scenarios and applications.

Chapter 5 : IPC Through Apple Events

Chapter Goal : In this chapter, we’ll learn IPC using Apple Events.

·      Introduction to Apple Events.

·      Introduction to Apple Scripts.

·      Apple Script Lexical convention.

·      Apple Script Fundamentals.

·      Script objects and Handlers.

·      Apple Script references.

·      Working with libraries and errors.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Apple Events.

·      Cons of IPC through Apple Events.

·      Discussion on real world scenarios and applications.

Chapter 6 : IPC Through Distributed Notifications

Chapter Goal : In this chapter, we’ll learn IPC using Distributed Notifications.

·      Introduction to Notifications.

·      Key value observing.

·      Notification center.

·      Notification Queue.

·      Distributed Notifications.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Distributed Notifications.

·      Cons of IPC through Distributed Notifications.

·      Discussion on real world scenarios and applications.

Chapter 7 : IPC Through Pasteboards

Chapter Goal : In this chapter, we’ll learn IPC using Pasteboards.

·      Introduction to Pasteboards.

·      Creating a Pasteboard item.

·      Reading and writing to a pasteboard.

·      Pasteboard data provider—content options and ownership.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Pasteboards.

·      Cons of IPC through Pasteboards.

·      Discussion on real world scenarios and applications.

Chapter 8 : IPC Through Distributed Objects

Chapter Goal : In this chapter, we’ll learn IPC using Distributed Objects.

·      Introduction to Distributed Objects.

·      Distributed Objects architecture.

·      Connections and proxies.

·      Ports and name servers.

·      Message encapsulation.

·      Vending an Object.

·      Getting a vended object.

·      Configure a connection.

·      Authenticating connections.

·      Error handling.

·      Substitution during message encoding.

·      NSInvocation

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Distributed Objects.

·      Cons of IPC through Distributed Objects.

·      Discussion on real world scenarios and applications.

Chapter 9 : IPC Between a Native App and Web App

Chapter Goal : In this chapter, we’ll learn about techniques for implementing IPC between a native app and a web app.

·      Introduction to WebKit.

·      Understanding Deep linking  with URL schemes and Universal links.

·      Embedding webview in a native app.

·      Capturing url redirects from webview in a native app.

·      Call Java Script methods on a website from a native app.

·      Call native functions in an app from a web page.

·      Implement SSL pinning for enhanced security.

·      Creating a server application to pass data to a client application.

·      Implementing a client to consume data passed by a server application.

·      Pros of IPC through Distributed Objects.

·      Cons of IPC through Distributed Objects.

·      Discussion on real world scenarios and applications.

Chapter 10 : Advanced Helper Tools

Chapter Goal : In this chapter, we’ll learn about techniques for implementing IPC using Helper tools.

·      Introduction to macOS Daemons and Services.

·      Daemon architecture and lifecycle.

·      Service management.

·      Creating XPC services.

·      Creating launch daemons and agents.

·      Introduction to privileges.

·      Security vulnerabilities with enhanced privileges.

·      Validating input for IPC.

·      Elivating privilages safely.

·      Designing secure helpers

·      Creating an application to pass data to a Helper application.

·      Implementing Helper to consume data passed by an application.

·      Pros of Helper tools.

·      Cons of Helper tools.

·      Discussion on real world scenarios and applications.


Hem Dutt started his software engineering career in 2010 as a macOS (OS X) application developer and thereafter designed and developed numerous native macOS and iOS applications for various clients across the globe while working in multiple MNCs. With more than a continuous decade of experience working in macOS, Hem Dutt has developed applications in multiple domains; including healthcare, insurance, VPN clients, publishing, and IOT. His passion for designing and developing secure, reliable, and modular software is evident from his blogs, client awards/recommendations, and open source projects.



Ihre Fragen, Wünsche oder Anmerkungen
Vorname*
Nachname*
Ihre E-Mail-Adresse*
Kundennr.
Ihre Nachricht*
Lediglich mit * gekennzeichnete Felder sind Pflichtfelder.
Wenn Sie die im Kontaktformular eingegebenen Daten durch Klick auf den nachfolgenden Button übersenden, erklären Sie sich damit einverstanden, dass wir Ihr Angaben für die Beantwortung Ihrer Anfrage verwenden. Selbstverständlich werden Ihre Daten vertraulich behandelt und nicht an Dritte weitergegeben. Sie können der Verwendung Ihrer Daten jederzeit widersprechen. Das Datenhandling bei Sack Fachmedien erklären wir Ihnen in unserer Datenschutzerklärung.