ByteCast #7 - 3 Columns SwiftUI Split View | iOS | macOS | visionOS
In this video, we’re going to implement 3 column navigation Split View using a news app as the example.
Software Development Videos & Tutorials
In this video, we’re going to implement 3 column navigation Split View using a news app as the example.
In this video, we’re going to implement a caching for network request. This is very suitable If your app doesn’t need to display data that changes frequently such as news, recent stock prices, transaction histories, etc.
In this 5th episode, we’re going to create a generic Swift Cache that can be used to cache value for any Swift type with optional date expiration timestamp support. We will be using NSCache, which is an in-memory based cache Apple provides to temporarily store key and value pairs that are subject to eviction when system’s memory is low.
In this 4th episode, we’re going to learn on how to use SwiftUI Task Modifier to fetch data from remote API in SwiftUI. We will be focusing on the lifecycle of the task modifier such as fetching the data before the view appears and refreshing the data when a specified value changes.
In this 3rd episode, we’re going to implement network monitor to detect Network Reachability status using Apple native NWPathMonitor. We will then create a SwiftUI modifier to display network status as banner on top of any view.
In this 2nd episode, I’m going to show you how to handle data race in your app. This happens when multiple threads read and update a property at the same time without synchronization, causing data corruption in memory and the heap, which can lead to crashes.
In this 1st ByteCast episode, I’m going to show you on how to implement search from remote API using Combine debounce with observable macro in SwiftUI
This is the third part of a series where we will add an AI Receipt Scanner to the Expense Tracker App which will make easier for users to add expenses from a receipt image. It uses GPT-4o Vision under the hood for analyzing the receipt image.
This is the second part of a series where we will add AI Expense Tracker Assistant Chat Capability using ChatGPT Function Calling
This is the first part of a new series where we will build an AI Assistant Expense Tracker SwiftUI App from scratch!
In this video, we’re going to learn how to secure public API Key for third party providers from iOS or any front-end clients.
In this video, we're going to build a modern Windows App using Swift and Microsoft WinSDK, WinUI, WinRT
In this video, we're going to build AI Sticker Generator App using GPT-4 with Vision & DALL·E 3
In this video, we're going to build an AI Voice Assistant SwiftUI App using OpenAI latest GPT4 LLM model, Whisper API to convert speech to text, and TTS API to convert response text to speech.
In this video, we're going to build an AI WhatsApp Sticker Generator SwiftUI App using OpenAI new DALL·E 3 API!
In this video, we’re going to build WhatsApp Sticker Maker App by using the new iOS 17 Vision Subject Lifting API
In this video, we're going to build an AirQuality Index iOS App that shows air quality conditions around a given location in a Map using SwiftUI & Google AQI API
In this video, we're going to learn on how to use Swift Open API Generator Plugin to generate OpenAI Swift Client based on openAPI YAML Specs file. We'll build Text2Image iOS App using Generated OpenAI Swift Client to interact with DALL-E API
In this video, we will add a USDZ Scanner where the user can capture a real life object and transform it into a USDZ directly from the App using Photogrammetry to the Inventory Tracker App
In this video, we’re going to build visionOS & iOS AR Inventory Tracker SwiftUI App! It’s an App where users can manage their items with seamless Augmented Reality integration!
In this video, we're going to build visionOS Live Polls Realtime Multi Window App where users can create a poll with multiple options, share, and vote in realtime.
In this video, we're going to build Live Polls App where users can create a poll with multiple options, share, and vote in realtime. We'll add support for push token based LiveActivity as well!
In this video, we're going to build a full VisionOS SwiftUI App from Scratch. A Football Stats App that displays latest standings table and top scorers from best competitions around the world such as EPL, Serie A, La Liga, Bundesliga, Ligue1, and many more!
In this video, we're going to add CloudKit Syncing to the SwiftData Notes App that we have built in previous video.
In this video, we're going to add interactivity to a News Widget using the new iOS 17 WidgetKit & App Intent integration
In this video, we're going to learn and experiment with SwiftData by building a note App with many to many relationship schema and query with custom Predicate, SortOrder, and Orderby
In this video, we will be adding PaLM Chatbot using Google Generative AI SDK and support for Multi LLM Providers so users can select select ChatGPT or PaLM API as the LLM Chatbot
In this video, we're going to add Cancel Streaming Response to the ChatGPT iOS App using Swift Task Concurrency Cancellation. This is a continuation of the previous tutorials in "Build SwiftUI ChatGPT series"
In this video we’re going to add support for Markdown Rendering & Code Syntax Highlighting to the ChatGPT iOS SwiftUI App.
In this video, we’ll build the GPT Tokenizer SwiftUI app which can as a tool to calculate tokens count within a piece of text. We can use the result to calculate prompt usage cost before making request to the API
Introducing XCA ChatGPT, a Flutter based Web App that you can use to interact with OpenAI ChatGPT Official API using your own API Key.
In this video, we're going to update ChatGPT Swift API to add Linux support and build a simple CLI App.
In this video, we're going to update ChatGPT Swift API to the official OpenAI ChatGPT API Endpoint.
In this video, we're going to build ChatGPT based tvOS application using SwiftUI and OpenAI API
In this video, we're going to build ChatGPT based watchOS application using SwiftUI and OpenAI API
In this video, we're going to build ChatGPT based macOS application using SwiftUI and OpenAI API
In this video, we're going to build ChatGPT based application using SwiftUI and OpenAI API
This is the 4th part of "Build Stocks App with SwiftUI & Swift Charts" series. In this part, we're going to create a Chart View to display stock prices over a series of time.
This is the 3rd part of "Build Stocks App with SwiftUI & Swift Charts" series. In this part, we're going to create an Ticker Symbol Sheet UI containing quote price details.
This is the 2nd part of "Build Stocks App with SwiftUI & Swift Charts" series. In this part, we're going to create an iOS 16 SwiftUI App to Ticker Symbols List & Search View.
In this video, we are going to build a Live Barcode and Text Scanner App with SwiftUI & VisionKit iOS 16 API
In this video, we are going to build a Live Barcode and Text Scanner App with SwiftUI & VisionKit iOS 16 API
In this video, we are going to add macOS & Linux support for the previous Flutter Windows News App that we have built using Fluent UI.
In this video, we are going to build a Live Barcode and Text Scanner App with SwiftUI & VisionKit iOS 16 API
In this article, I am going to give a recap on all the new software technologies that Apple Engineers announced during the Platform State of the Union keynote from Swift 5.7, SwiftUI 4.0, and System Experiences Latest APIs.
In this video, we are going to build a real-time inventory tracking SwiftUI app that support cloud on and offline syncing accross devices and platforms using Firestore DB.
Hi Xcoders, in this bite sized video, we are going to learn on how to propagate change from children inside List back to the parent using SwiftUI Bindable List Element.
In this video, we are going to create a MSIX Installer for Flutter News Windows App. We'll learn on how to use Flutter msix installer package to create local app installer with self signed certificate and upload msix to Microsoft Store dashboard.
In this video, we are going to build a native Windows News App using Flutter and Fluent UI Theme. We are going to utilize newsapi.org to fetch the articles and uses multiple dependencies such as window manager, url sharing, and many more!
In this video, we're going to build the CLI Tool for Ubuntu Linux and macOS using Swift Argument Parser Lib.
In this video, we're going to build an SwiftUI icon generator app targeting iOS and macOS Catalyst. We will learn on how to create thumbnail from input image.
In this video, we are going to learn and have a hands on with DocC to create rich documentation for Swift Framework and host it to GitHub Pages Static Hosting Site.
In this video, we're going to build a macOS Menu Bar App with SwiftUI & WebSocket to show realtime currency price from coincap.io
In this video, we will build the Trello Clone from scratch with SwiftUI. It has Board List and Card CRUD support, Drag and Drop, disk persistence support.
In this video, we are going to update the MovieDB App that we have built last year with the initial release of SwiftUI on iOS 13 to SwiftUI 3 iOS 15 SDK and Swift 5.5 Async Await API
We are going to add Widgets to the SwiftUI News App for iOS, iPadOS, and macOS. We’ll learn to build User Intent Configurable Widget and Composable UI for All system family sizes from small, medium, large, and extra large
Pagination can improve the memory usage of the app by limiting the number of data requested to the server. We don't want to fetch 50 or 100 article in a single request as it will consume mobile data as well as high memory usage. With the infinity scrolling pagination, the data is fetched lazily or as needed when the last view in List appears
We are going to learn on how to implement Caching Layer to a News App that currently using iOS 15 SwiftUI Task Modifier to trigger data fetching. At the end of this video, we should be able implement the In Memory and Disk Based Cache to improve the efficiency of our app:
In this course, we are going to build a Full News App for tvOS 15 using SwiftUI and News API. Learn all about native tvOS Tab View UX, focusable system for navigation, fetch multiple endpoint into single news feed using Group Task API, Bookmark, and Search Articles!
In this course, we are going to build a Full NewsApp for watchOS 8 using SwiftUI and News API. Learn all things about complication, watch connectivity, handoff, and many more!
In this course, we will build a Full macOS News App using SwiftUI 3 that fetches latest news from newsapi.org. We'll use native macOS APIs such as Menu Bar Command, Touchbar, Preferences Window, Share Picker, Context Menu, Preferences Window.
In this course, we will add iPadOS UX adaptivity to the iOS News App we have created on the previous course. By the end of the course, our News App will have full adaptivity to transition between regular and compact horizontal size class regardless the type and model of the device.
In this course, we will build a Full News App using SwiftUI 3 from scratch to finish that fetches latest news from newsapi.org. Along the way, we'll learn and use most of the new APIs such as Async Await, Structured Concurrency, Actors, AsyncImage, Refreshable, SwipeActions, Searchable with suggestions
In this article, we will be learning and experimenting with Swift Async Await to fetch multiple REST API endpoints and eliminate Pyramid of Doom callback hell to improve code readability and maintanability. I will introduce Structured Concurrency Task API to execute single and parallel async tasks. Finally, we'll use Continuation API to interface current synchronous code with callback to async function.
In this video, we will learn how to build a simple static blog website using an open source Swift Static Site Generator tool named Publish by John Sundell. To deploy the blog to the internet, we will use Netlify as the hosting provider. It supports Git Continuous Deployment and provides high performance distributed CDN to serve the content around the world.
In this video, we're going to learn to implement per section based grid or list layout using Compositional Layout by building single and multi line carousels, list, and adaptive grid with dynamic font support.
In this video, we're going to learn all about editing data with diffable data source and snapshot with edit mode for delete, reorder items, accessories checkmark, and swipe to delete
In this video, we're going to learn all about diffable data source from scratch by building Data Source Snapshot, Update, and Implement Search With Combine
In this video, we are going to learn and build list in collection view using the new compositional layout list configuration, list cell, and content configuration API.
In this video, we are going to learn and implement modern cell registration in collection view to help us register and dequeue cell with Swift strongly typed generic parameters.
In this 3 part video series we will learn how to implement UICollectionView from scratch using UICollectionViewFlowLayout and UICollectionViewDataSource. Also included: Self-Sizing Cell and Collection Diffing.
In this video tutorial, we will learn on how to add and test the App Clips target to an iOS App so the user can instantly access the app using NFC Tags without downloading from the App Store.
In this tutorial video, we'll learn all about WidgetKit by building the Widgets UI from scratch to complete. The widget support all the sytem family sizes and use Static Configuration.
In this tutorial video, we'll learn about the fundamentals of the LazyVGrid and GridItem, difference between grid item type such as fixed, flexible, and adaptive using the live preview.
In this tutorial, we’re going to explore about new SwiftUI 2.0 OutlineGroup and DisclosureGroup views, and how we can use them in practice to build List that represent hierarchical data in the UI by building three different kind of screens.
In this tutorial, we'll build a simple Swift Serverless REST API endpoints to create, update, delete, and retrieve list of todo using Swift AWS Lambda Runtime & Dynamo DB SDK
Building SwiftUI MovieDB Full App with TMDb API video tutorial series. In this series, we'll learn on how to build a full iOS app that fetches data from TMDb API with features to display movie in list, show movie detail, and search movie.
Launching Xcoding With Alfian Youtube Channel. The first video is a speed code on building SwiftUI Movie App with TMDb API from scratch to finish. Please watch and subscribe!
tvOS is the operating system used by Apple TV to deliver immersive and rich contents, media, games, apps to users through the living room. We can leverage SwiftUI to build user interface for tvOS. The declarative, composable, and reactive paradigms of SwiftUI enables us to build dynamic user interface rapidly. In this tutorial, we'll be focusing to build Expense Tracker Apple TV App.
With the introduction of watchOS 6 in WWDC 2019, Apple finally provided the capability for developers to create a fully independent App Experience on Apple Watch without a companion app on iOS. In this tutorial, we'll be focusing on building the Expense Tracker independent watchOS App. Similar to the iOS & macOS app in the previous article, our App will also have the dashboard and expense log list screen as well as the form to create and edit log.
CloudKit is a framework by Apple where developers can use to build app with iCloud integration to store data in a database or assets within containers. In this tutorial, we're going to focus on integrating Core Data Cloud with CloudKit using NSPersistentCloudKitContainer to an existing expense tracker iOS & macOS app.
Persisting user data in a productivity-based offline application is the essential primary feature that we need to provide to users. Core Data, as one of the native persistence solutions, uses high performance and compact SQLite database as its default implementation. In this tutorial, we are going to build an expense tracker iOS app using Core Data and SwiftUI.
In this tutorial, we will use SwiftUI to build an Authentication screen where the user can signup and login via email and password as well as login using the new iOS 13 Sign in with Apple. We will be utilizing Firebase Auth SDK to implement those features. Also, we will make sure our app show screen based on the authentication state of the user.
In the previous project, we have successfully built the Image Filter macOS app with SwiftUI. In this tutorial, we are going to expand our target platform to the mobile, iOS. We will learn on how to share all the models and services code between platform as they are independent of the UI. Also, to share some of the View code when the design makes sense.
SwiftUI enables developers to use unified tools and API for building full native applications across Apple platforms. In this tutorial, we will build a native Image Filter using SwiftUI and GPUImage2 targeting macOS platform in specific.
Since iOS 10, Apple has already provided rich notification support for push notification with the introduction of new frameworks, UserNotifications and UserNotificationsUI. Besides all this rich notification support, Apple also added new interactive custom UI support in iOS 13. In this article, we are going to build an interactive custom push notification UI to display a video preview of a trailer with interactive controls.
Xcoding with Alfian is a blog focusing on mobile development articles, tutorials, tips, and tricks. My main focus is on topics about the development of Apple technologies from Swift, SwiftUI, iOS, Catalyst, macOS, watchOS, and tvOS. My mission to create this blog is to share and contribute back to the software development community around the world about some of the little things that I learned along with my experience in software development.
Diffable Data Source API helps us to manage data sources both in TableView and CollectionView by using snapshot. Snapshot acts as a source of truth between our view and data source, whenever there are changes in our model, we just need to construct a new snapshot and applies it to the current snapshot.
Alongside many new feature that come with the Swift 5.1, one of the most interesting feature is Property wrappers. Basically, it’s a layer/delegate that sits in the middle between how the declared property should behave and how the property will be stored.
Combine is a framework that has just been recently released for all Apple platforms and it is included in Xcode 11. By using combine, it’s easier to process sequence of value over time whenever it is updated. It also helps us to simplify asynchronous code by not using delegation and avoiding complex nested callbacks.
Opaque return types is a new language feature that is introduced in Swift 5.1 by Apple. It can be used to return some value for function/method , and property without revealing the concrete type of the value to client that calls the API.
In this article, we will be building a real life practical SwiftUI app using IGDB API. We will learn about how SwiftUI handles the flow of data along as we build the app.
Dependency Injection is a software engineering technique that can be used to pass other object/service as a dependency to an object that will use the service. It’s sometime also called inversion of control, which means the object delegates the responsibility of constructing the dependencies to another object.
Grand Central Dispatch (GCD) is a framework provided by Apple that was released in 2009 with OS X Snow Leopard & iOS 4. It provides easy to use API for the developers to to run background tasks by creating queue in serial or concurrent style without managing threads by themselves.
In a typical iOS app that uses MVC as the architecture, the View Controller has to handle the navigation between other View Controllers. It means that the View Controller must know in advance the other controllers that it will navigate to. This creates a tight coupling between the controllers that we should avoid whenever possible.
At Google Cloud Next 2019, Google has just introduced Google Cloud Run. It’s a serverless computing service, which means we don’t have to manage the infrastructure by ourselves. It is based on containers, so we only need to provide the Dockerfile that contains our HTTP server application and deploy.
Swift 5 has finally been released by Apple to the stable channel at the end of March 2019. In this article, we’ll talk about the new Result type for Swift 5 and how we can utilize that to create an asynchronous API request and simplify handling the completion handler closure.tags: swift, asynchronous
MVC is the app architecture that Apple recommends to the developers when developing iOS application. It provides clear separation between view, model, and controller.
UICollectionView is an UIKit view that manages collection of ordered items and presents the items using customizable layout. In this article we are going to build a responsive movie list app that is adaptive to various form factors from the small iPhone 5 up to largest iPad Pro using UICollectionViewFlowLayout.
Near-field communication (NFC) is the technology that enables contactless communication between 2 devices within a certain distance. In this tutorial, we are going to build a simple app that act as a product scanner.
Drag & Drop is the user interaction that works naturally when we want to build an app where user can move data around the screen. In this tutorial, we will use the drag & drop API to build a Trello like app.
View Controller is the component that provides basic building block that we use as a foundation to build application in iOS development. In this article we are going to use View Controller Containment and Child View Controller to avoid Massive View Controller.
Flutter has just achieved its latest milestone with the release of stable 1.0 version. It has many amazing features that provide a foundation for amazing future ahead as it matures. To celebrate the release of Flutter 1.0, we are going to build an app to display and search nearby places inside Map View using Google Map and Google Places API.
Siri Shortcut is a new API that Apple introduced in iOS 12 built on top of SiriKit framework. It provides ways for developer to provide custom shortcut to the activities that the user often used within the app. In this article, I would like to provide a simple example on how we can use Siri Shortcut to perform search on upcoming movies using The Movie DB API.
Task scheduling is a very important tools for developers to run various automated tasks in a system such as performing database maintenance, perform daily big data batch operations, and overall system maintenance. In this article, we will build a simple notification service to setup daily scheduled data reporting using several Google Cloud Services and notification using Slack HTTP Webhook.
TableView Controller is an essential UIKit component that is almost used in every iOS app out there to present collection of data in list. When we have different type of data that we want to display in the UITableViewController, most of the time we create a new subclass to display the related type of data. This approach works, but can lead to repetition and difficulty in maintenance if we have many different types of data in our application.
Google App Engine is a Platform as a Service (PaaS) solution provided by Google Cloud for customer to build scalable backend service without managing server deployment. In this article, we will use Google App Engine Flexible Custom Runtime to build a Swift Vapor Backend Web Framework server using Docker.
Constructing URL is a routine task that every Swift developers do when building an iOS application. It’s very important to make sure the URL we construct are safe and correctly encoded using the percent encoding format.
What is the current state of writing asynchronous code in Swift 4?. The current mostly used pattern is to provide a callback closure that will be invoked when the task complete passing the result or an error. While this pattern works, it can be very hard to maintain and understand when we need to write multiple asynchronous tasks that also depends on the result of previous task.
Core Data is an object graph and persistence framework provided by Apple for developing iOS Apps. It handles object life cycle, object graph management, and persistence.
One of many common questions that many developers ask when using Firebase Realtime Database is how to design the schema for model with many-to-many relationship efficiently. In this case, i am going to use many-to-many relationship between students and classes.
gRPC is an universal remote procedure call framework developed by Google that has been gaining interests among many software developers that were developing microservices. In this article, we are going to build a iOS Swift application that connects to the gRPC Server that runs locally.
gRPC is a remote procedure call framework developed by Google that has been gaining interests among many software developers that were developing microservices in recent years. In this article, we will build a simple gRPC Server with node.js that provides services that provide the create, read, update, delete method for Note.
Kitura is a Server Side Swift web framework created by IBM. It’s licensed under MIT License, free to use, and the source code is open source. Recently with the 2.0 release, Kitura team introduces the new Codable Routes feature which make it very easy for the developers to handle URL Request and Response automatically using Swift 4 Codable.
Test Driven Development (TDD) is one of the approach that software developers can use in Software Development. In TDD, developers plan the features of the software they want to create, then before writing implementation of the feature, they write test cases for each features of the software.
UITableView and UICollectionView are two of the main user interface elements that drives an iOS app when presenting list of data. In this article, we are going to avoid massive view controller code by encapsulating the UITableViewDataSource and UITableViewDelegate into separate DataSourceProvider Class.
Text to Speech synthesis is the process of text transformation into human speech audio using computer. Many Operating System had built the feature for text to speech since 1990s. The advancement in Machine Learning and Artificial Intelligence in recent years results in many new advance voice synthesis technologies such as WaveNet Deep Learning Neural Network from DeepMind.
Asynchronous tasks like fetching data from network, parsing, processing, and saving data to local cache are routine tasks apps nowaday perform. In this article we are going to build an asynchronous Operation Subclass that fetch repositories from GitHub API asynchronously, and a dependent Operation subclass that parse and serialize the fetch repository data into Swift Class.
Asynchronous tasks like fetching data from network, parsing, processing, and saving data to local cache are routine tasks apps nowaday perform. In this article we are going to build an asynchronous Operation Subclass that fetch repositories from GitHub API asynchronously, and a dependent Operation subclass that parse and serialize the fetch repository data into Swift Class.
Deciding which application architecture to use when building an iOS application is one of the most challenging task, there are many architectures to choose from MVC, MVVM, MVP, View State, VIPER and many more. . In this article we will build a simple TodoList app using VIPER as our application architecture.
In this article, we will build a Flutter application with the features of scanning QR Code using Camera, generating QR Code with text data, and sharing the image file of QR code to other apps using platform specific image sharing mechanism for both iOS and Android.
React Apollo Client is an open source community driven React library that is designed to build web application that fetches data with GraphQL endpoint. In this article, we will build a web application that uses GitHub GraphQL API to fetch repositories with most stars in recent week.
GraphQL had gained popularity in recent years, it makes querying data from API becomes much more expressive, customisable, and flexible because of its strongly typed system. In this article, we will build an Android app that lists all the current trending repositories in GitHub by calling Github GraphQL API endpoint using Apollo Android GraphQL library.
ML Kit is a collection of powerful machine learning API released to the public by Google at IO 18 under the Firebase brand. In this article, we will use text recognition and barcode scanning to build a Flutter app where user can pick image from camera or gallery and then uses MLKit to detect the text or barcode from the image.
Serverless Application Architecture has been gaining massive popularity in recent years. In this article, i am going to focus on demonstrating how to build a simple CRUD node.js Express REST API using Google Cloud Function and store the data using Firestore NoSQL database.
Building iOS application using MVVM architecture has many advantages compared to using MVC. One of advantage is reducing Massive View Controller issues by separating the Model and View to a separate MVVM object. Is there any built in solution that the Apple Foundation Framework provides that we can use to build a MVVM app in iOS architecture?. Yes, the answer is Cocoa Key Value Observing.
This article is a continuation of Building GitHub Flutter App series from Part 1 where we have built list of trending GitHub Repositories Widget using Flutter connecting to GitHub API to query the repositories with most stars in 1 week. In this part 2, we will continue to build the Search List Widget where user can search the latest trending repositories based on the keyword they enter to the textfield.
This article is a continuation of Building GitHub Flutter App series from Part 1 where we have built list of trending GitHub Repositories Widget using Flutter connecting to GitHub API to query the repositories with most stars in 1 week. In this part 2, we will continue to build the Search List Widget where user can search the latest trending repositories based on the keyword they enter to the textfield.
For many years Android developers have been using Loaders to request data from server asynchronously on background thread safely. Luckily at IO 2017, Google released Android Architecture Components suites of library for the developers so we can build more scalable, maintainable, crash free, and testable application easier.