Skip to content
/ YBS Public

A simple and efficient iOS app for browsing and viewing Flickr photos, built with SwiftUI.

Notifications You must be signed in to change notification settings

mogis94/YBS

Repository files navigation

YBS: Flickr Photo App

Introduction

This is an iOS application built using SwiftUI for the frontend interface. The app leverages the power of Alamofire for networking tasks and SDWebImageSwiftUI for efficient image loading and caching.

Why Alamofire?

Code Readability: Alamofire's syntax and methods are straightforward, making the codebase cleaner and more maintainable. Speed: Alamofire speeds up the development process by handling many networking tasks that would otherwise require a lot of boilerplate code. Advanced Features: Alamofire supports advanced functionalities like multipart data, JSON encoding and decoding, and custom request headers.

Why SDWebImageSwiftUI?

Performance: SDWebImageSwiftUI is highly efficient when it comes to image loading and caching, thus providing a smooth user experience. Compatibility: It works seamlessly with SwiftUI. Rich Features: From progressive image loading to placeholder support, SDWebImageSwiftUI covers a broad spectrum of features.

Why SwiftUI?

Declarative Syntax: SwiftUI uses a declarative syntax, which makes it easier to write UI code. Code Reusability: You can reuse code across different iOS platforms (iOS, macOS, watchOS, and tvOS). Dynamic Interface: Creating dynamic and animated user interfaces is simplified. Community Support: As SwiftUI has become commonly used for iOS development, there is extensive community support for it, including tutorials, libraries, and third-party tools. Advantages of SwiftUI in this Project

Faster Development: SwiftUI's easy-to-use interface builders and pre-built UI components made the development process much faster. Maintainability: Code is easier to read and maintain. Dynamic UI: The app takes advantage of SwiftUI's state management features for a dynamic and responsive UI.

How To Run

Clone the repository to your local machine. Open the project folder, and you'll find a .xcodeproj file. Double-click the .xcodeproj file to open the project in Xcode. The dependencies (Alamofire and SDWebImageSwiftUI) are managed through Swift Package Manager. They should automatically resolve when you build the project for the first time. If they don't, you can manually fetch them by going to File -> Swift Packages -> Update to Latest Package Versions. Choose the desired simulator or real device in Xcode. Build and run the app by pressing the Run button or using the Cmd+R shortcut.

Testing

Types of Tests

  • Unit Tests: For testing individual components in isolation.
  • UI Tests: For testing the user interface and interaction.

Running Tests

  • Open the project in Xcode.
  • Navigate to Product > Test or use the shortcut Cmd+U to run the test suite.

Dependencies

XCTest for unit and UI tests

Conclusion

This project makes use of Alamofire and SDWebImageSwiftUI to offload complex networking and image management tasks, allowing for a more streamlined and efficient development process. Coupled with the advantages of SwiftUI, this app aims to provide an excellent user experience.

About

A simple and efficient iOS app for browsing and viewing Flickr photos, built with SwiftUI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages