I’ve just released a beta version of a new book I’m working on:
An Introduction to Programming Using Swift.
Because of its size (2,600+ pages) and the fact that the Swift language evolves so rapidly that any printed book would become obsolete almost immediately, I’ve chosen to self-publish this book exclusively in electronic form.
My long-term plan is to make the book available in three formats:
PDF
EPUB3 (Apple Books)
AZW3 (Kindle/Amazon — after the beta period)
By far, PDF is the preferred format. It has the fewest formatting issues, since I control the layout directly using FrameMaker.
EPUB3 (for example, Apple Books) is a reasonable distribution format, but like HTML compared to PDF, some layout compromises are unavoidable.
AZW3 is the least-preferred format. The Kindle rendering engine is fairly limited, and it’s impossible to tightly control layout and formatting.
That said, I’ve worked hard to ensure that source code listings remain readable—even on smaller devices such as a 7" Kindle Paperwhite—and I’ve done extensive post-processing to clean up the EPUB output produced by FrameMaker (which is, frankly, terrible). Still, unless you absolutely must read the book on a Kindle or another EPUB-only device, you’ll likely find the PDF version the most readable.
For the beta release, I’m providing the book in PDF, EPUB3, and AZW3 formats. Amazon does not appear to allow free updates to beta products during a beta test period; so it's not going to be available on Amazon (only on GumRoad).
You can learn more about the book here:
https://introtoswift.randallhyde.com
During the beta period, the book is available for $5. Beta testers will be able to download updated versions of the book throughout the beta test period.
You can purchase the book on GumRoad here: https://randyverse578.gumroad.com/l/fsigl