Available for Work
Swift
Language
Swift is a powerful and intuitive programming language developed by Apple. Introduced in 2014, Swift combines the performance of low-level languages with the expressiveness and readability of high-level languages. It features modern syntax, type inference, and safety mechanisms that help prevent common programming errors. Swift supports both object-oriented and functional programming paradigms, offering a versatile and efficient platform for building a wide range of applications.
SwiftUI
Framework
SwiftUI is a game-changer to create powerful and intuitive user interfaces with less effort and more flexibility. It allows to define user interface components, layout, and interactions in a clean and concise manner, making the code more readable and eliminating a lot of the boilerplate code. It's the modern way to create beautiful and efficient user interfaces.
UIKit
Framework
With its object-oriented design and event-driven architecture, UIKit enables to handle user interactions, manage views, and customise the look and feel of their applications. It still can play a crucial role in the development of iOS and tvOS apps, making it easier to create truly custom and intuitive interfaces.
Fastlane
CI/CD
An open-source platform for automating the deployment, testing, and release of mobile apps. It simplifies the often complex and time-consuming processes involved in app development by providing a set of tools and predefined workflows. The tool is highly customisable, allowing developers to define their deployment pipelines and streamline repetitive tasks.
MapKit
Framework
This framework provides a robust set of tools for creating applications with mapping functionalities, making it easier for developers to enhance the user experience with rich and dynamic geographic content. It leverages Apple's mapping data, allowing users to explore locations, get directions, and interact with maps seamlessly.
Google Maps SDK
Framework
The SDK offers a range of features, including the ability to display maps, obtain directions, and perform geocoding and reverse geocoding. We can customise map styles, incorporate Street View panoramas, and integrate with various services such as Places API for location-based information. It's a valuable tool for creating applications that rely on mapping and location services.
Core Data
Persistence
It serves as an object graph and data modelling framework, allowing developers to represent the application's data model in a high-level, object-oriented manner. Core Data facilitates the storage, retrieval, and manipulation of data, eliminating the need for developers to write complex SQL queries. Core Data supports various persistent stores, including SQLite, XML, and in-memory stores, offering flexibility in choosing the right storage option for different use cases.
Realm
Persistence
Realm is a mobile database designed for efficient and seamless data persistence in iOS, Android, and other platforms. It offers a lightweight and easy-to-use alternative to traditional databases, mapping objects in code directly to database entities. With features like automatic real-time synchronisation and encryption, Realm is well-suited for collaborative and secure mobile applications.
KeyChain
Framework
With best in tech encryption, the framework ensures the confidentiality of stored data. It facilitates secure credential management, contributing to enhanced user privacy and data protection.
Push Notifications
Framework
Push notifications are short messages sent by server applications to the devices of users who have installed a mobile app. These notifications provide a way for apps to deliver timely information, updates, or alerts even when the app is not actively in use. Push notifications are a crucial tool for engaging users and keeping them informed about new content, messages, or important events.
Core location
Framework
Framework allows us to determine the device's geographical coordinates, altitude, course, and speed. Core Location leverages a combination of GPS, Wi-Fi, cellular data, and other sensors to provide accurate and real-time location information.
URLSession
Framework
React is my dynamic web development framework. I apply it to build interactive web applications with rich user interfaces. It's instrumental in creating engaging, responsive, and data-driven web experiences.
Firebase
Back end as a service
Firebase is a comprehensive mobile and web development platform developed by Google, providing a set of tools and services to streamline the development process. It includes features such as real-time database, authentication, cloud functions, hosting, and more. Firebase's real-time database facilitates the synchronisation of data across clients, ensuring instant updates.
Supabase
Back end as a service
Supabase is an open-source platform that provides a set of tools and services for building scalable and real-time applications with a focus on simplicity and ease of use. It offers a PostgreSQL database-as-a-service, allowing developers to store and retrieve data with the familiarity and power of PostgreSQL. Supabase also includes features such as real-time subscriptions, authentication, and serverless functions, providing a full-stack solution for application development.
Alamofire
Framework
Alamofire is a widely used Swift-based HTTP networking library. It simplifies the process of making network requests by providing a concise and expressive interface built on top of Apple's URLSession. With features like parameter encoding, response validation, and support for background downloads, Alamofire streamlines common networking tasks.
Moya
Framework
Moya is a Swift-based networking library that simplifies the implementation of network requests. Built on top of Alamofire, Moya offers a protocol-oriented approach to define API endpoints as enum cases, enhancing code readability and maintainability. It streamlines network-related tasks by providing a clear and type-safe interface, supporting features such as parameter encoding, response handling, and request abstraction.
Swift Cuncurrency
Asynchronous Programming
Introduced with Swift 5.5, revolutionises how developers handle asynchronous and concurrent programming tasks. The model introduces structured concurrency, which simplifies the management of concurrent tasks by providing a clear and organised way to handle asynchronous operations. It introduces new language features such as async and await to write asynchronous code more naturally and concisely. Swift's modern concurrency also includes actors, a way to manage shared mutable state in a safe and efficient manner, reducing the risk of data races.
GCD
Asynchronous Programming
Grand Central Dispatch (GCD) is a multithreading technology developed by Apple. It simplifies the development of concurrent code by providing a high-level, efficient way to manage and execute tasks concurrently on multicore processors. GCD abstracts the complexities of thread management, allowing developers to focus on writing modular and efficient code. It employs a queue-based model, where tasks are added to dispatch queues, and GCD automatically handles the scheduling and execution of those tasks.
Combine
Framework
Combine is a declarative Swift framework for processing values over time in a reactive programming paradigm. Introduced in iOS 13 and later extended to other Apple platforms, Combine enables developers to work with asynchronous and event-driven code in a more concise and readable manner.
RxSwift
Framework
RxSwift is a popular reactive programming framework for Swift, inspired by the ReactiveX paradigm. This framework promotes a reactive programming paradigm, making it easier to handle user input, network requests, and other asynchronous tasks. RxSwift provides a powerful and expressive way to manage and propagate changes in data and state within iOS and macOS applications, leading to more modular, scalable, and maintainable code.
SPM
Dependency Management
The Swift Package Manager (SPM) is Apple's official dependency management tool for Swift programming language projects. SPM allows developers to define packages, including their dependencies, in a Package.swift file, and it can automatically fetch, build, and link these dependencies during the build process. Swift Package Manager supports the creation of reusable Swift packages, making it easier for developers to share and distribute code across projects.
Cocoapods
Dependency Management
CocoaPods is a widely used dependency manager. It simplifies the integration of third-party libraries and frameworks into Xcode projects by providing a centralised repository for Swift and Objective-C code. It streamlines the process of updating and versioning libraries, promoting code reuse and collaboration within the iOS and macOS development communities.
C#
Language
Is a modern, versatile, and object-oriented programming language developed by Microsoft. It is a key component of the .NET framework and is widely used for building a variety of applications, including desktop, web, mobile, and cloud-based systems. I have learned, worked and mastered it, so that I can “see sharp”