From 70f36c273f263270ade50d5f338f94842e1cb36d Mon Sep 17 00:00:00 2001 From: Nicolas Nunge Date: Wed, 28 Feb 2024 10:14:45 +0100 Subject: [PATCH] feat(content): add and rewrite content --- radar/2023-01-01/Objective-C.md | 15 ++++-- radar/2023-01-01/Swift.md | 25 ++++++++-- radar/2023-06-10/Alamofire.md | 25 +++++++--- radar/2023-06-10/AlamofireImage.md | 19 +++++-- radar/2023-08-31/Alamofire.md | 8 --- radar/2023-08-31/AlamofireImage.md | 8 --- radar/2023-08-31/AppleMap.md | 9 ---- radar/2023-08-31/Charles.md | 10 ---- radar/2023-08-31/CoreStore.md | 12 ----- .../FirebaseCrashlytics for Android.md | 14 ------ .../2023-08-31/FirebaseCrashlytics for iOS.md | 14 ------ .../FirebaseCrashlytics for react.md | 15 ------ .../FirebaseRemoteConfig for Android.md | 14 ------ .../FirebaseRemoteConfig for iOS.md | 15 ------ .../FirebaseRemoteConfig for react.md | 15 ------ radar/2023-08-31/GoogleMap for Android.md | 9 ---- radar/2023-08-31/GoogleMap for iOS.md | 10 ---- radar/2023-08-31/GoogleMap for react.md | 9 ---- radar/2023-08-31/ReachFive.md | 16 ------ radar/2023-08-31/SonarQube.md | 12 +++-- radar/2023-08-31/SwiftUI.md | 13 ++--- radar/2023-08-31/apple-maps.md | 18 +++++++ radar/2023-08-31/charles-proxy.md | 16 ++++++ radar/2023-08-31/core-store.md | 31 ++++++++++++ .../firebase-crashlytics-android.md | 49 +++++++++++++++++++ radar/2023-08-31/firebase-crashlytics-ios.md | 49 +++++++++++++++++++ .../2023-08-31/firebase-crashlytics-react.md | 49 +++++++++++++++++++ .../firebase-remoteconfig-android.md | 13 +++++ radar/2023-08-31/firebase-remoteconfig-ios.md | 13 +++++ .../2023-08-31/firebase-remoteconfig-react.md | 13 +++++ radar/2023-08-31/googlemaps-android.md | 13 +++++ radar/2023-08-31/googlemaps-ios.md | 17 +++++++ radar/2023-08-31/googlemaps-react.md | 14 ++++++ radar/2023-08-31/lottie for android.md | 13 ----- radar/2023-08-31/lottie for iOS.md | 13 ----- radar/2023-08-31/lottie for react.md | 13 ----- radar/2023-08-31/lottie-android.md | 14 ++++++ radar/2023-08-31/lottie-ios.md | 14 ++++++ radar/2023-08-31/lottie-react.md | 14 ++++++ radar/2023-08-31/proxyman.md | 13 ++--- radar/2023-08-31/reach-five.md | 34 +++++++++++++ radar/2024-02-28/bitrise.md | 27 ++++++++++ radar/2024-02-28/cocoapods.md | 16 ++++++ radar/2024-02-28/react-navigation.md | 27 ++++++++++ radar/2024-02-28/react-reanimated.md | 27 ++++++++++ 45 files changed, 553 insertions(+), 254 deletions(-) delete mode 100644 radar/2023-08-31/Alamofire.md delete mode 100644 radar/2023-08-31/AlamofireImage.md delete mode 100644 radar/2023-08-31/AppleMap.md delete mode 100644 radar/2023-08-31/Charles.md delete mode 100644 radar/2023-08-31/CoreStore.md delete mode 100644 radar/2023-08-31/FirebaseCrashlytics for Android.md delete mode 100644 radar/2023-08-31/FirebaseCrashlytics for iOS.md delete mode 100644 radar/2023-08-31/FirebaseCrashlytics for react.md delete mode 100644 radar/2023-08-31/FirebaseRemoteConfig for Android.md delete mode 100644 radar/2023-08-31/FirebaseRemoteConfig for iOS.md delete mode 100644 radar/2023-08-31/FirebaseRemoteConfig for react.md delete mode 100644 radar/2023-08-31/GoogleMap for Android.md delete mode 100644 radar/2023-08-31/GoogleMap for iOS.md delete mode 100644 radar/2023-08-31/GoogleMap for react.md delete mode 100644 radar/2023-08-31/ReachFive.md create mode 100644 radar/2023-08-31/apple-maps.md create mode 100644 radar/2023-08-31/charles-proxy.md create mode 100644 radar/2023-08-31/core-store.md create mode 100644 radar/2023-08-31/firebase-crashlytics-android.md create mode 100644 radar/2023-08-31/firebase-crashlytics-ios.md create mode 100644 radar/2023-08-31/firebase-crashlytics-react.md create mode 100644 radar/2023-08-31/firebase-remoteconfig-android.md create mode 100644 radar/2023-08-31/firebase-remoteconfig-ios.md create mode 100644 radar/2023-08-31/firebase-remoteconfig-react.md create mode 100644 radar/2023-08-31/googlemaps-android.md create mode 100644 radar/2023-08-31/googlemaps-ios.md create mode 100644 radar/2023-08-31/googlemaps-react.md delete mode 100644 radar/2023-08-31/lottie for android.md delete mode 100644 radar/2023-08-31/lottie for iOS.md delete mode 100644 radar/2023-08-31/lottie for react.md create mode 100644 radar/2023-08-31/lottie-android.md create mode 100644 radar/2023-08-31/lottie-ios.md create mode 100644 radar/2023-08-31/lottie-react.md create mode 100644 radar/2023-08-31/reach-five.md create mode 100644 radar/2024-02-28/bitrise.md create mode 100644 radar/2024-02-28/cocoapods.md create mode 100644 radar/2024-02-28/react-navigation.md create mode 100644 radar/2024-02-28/react-reanimated.md diff --git a/radar/2023-01-01/Objective-C.md b/radar/2023-01-01/Objective-C.md index 95eeaca..a7c6f42 100644 --- a/radar/2023-01-01/Objective-C.md +++ b/radar/2023-01-01/Objective-C.md @@ -1,11 +1,16 @@ --- title: "Objective-C" -ring: adopt +ring: hold quadrant: iOS tags: [language, iOS] --- -

Development language

-Apple documentation -

Old Apple development language -

+### Development Language + +Objective-C is a programming language commonly used for macOS and iOS app development. It's been a staple in the Apple development ecosystem for decades. However, its usage has been overshadowed by Swift, Apple's newer programming language. + +Objective-C's syntax and conventions can be seen as outdated compared to Swift. Swift offers modern features, better performance, and safer coding practices. Additionally, Apple has been actively promoting Swift and integrating it into its development tools and frameworks. Consequently, for new iOS projects, Swift is generally preferred over Objective-C due to its advantages in readability, safety, and compatibility with the latest Apple technologies. + +### Docs + +- [Apple Documentation](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html) diff --git a/radar/2023-01-01/Swift.md b/radar/2023-01-01/Swift.md index b6a0737..43b5b56 100644 --- a/radar/2023-01-01/Swift.md +++ b/radar/2023-01-01/Swift.md @@ -5,7 +5,24 @@ quadrant: iOS tags: [language, iOS] --- -

Development language

-Apple documentation -

Core Apple Development Language -

+### Development Language + +Swift is a modern, powerful programming language developed by Apple for macOS, iOS, watchOS, and tvOS app development. It was introduced in 2014 as a replacement for Objective-C, offering a more intuitive syntax, safety features, and performance optimizations. + +For new iOS projects, Swift is the preferred choice for several reasons: + +1. **Modern Syntax**: Swift features a clean and concise syntax that makes code easier to read and write compared to Objective-C. Its modern features, such as optionals, generics, and type inference, streamline development and reduce the likelihood of errors. + +2. **Safety Features**: Swift incorporates safety features like optionals and type inference, which help developers write more robust and reliable code. Additionally, Swift's strong type system helps catch errors at compile-time, reducing the risk of runtime crashes. + +3. **Performance**: Swift is designed to deliver high performance, with optimizations that make it comparable to Objective-C in terms of execution speed. Its modern compiler and runtime leverage advanced techniques to optimize code for efficiency. + +4. **Active Development**: Apple continues to invest in Swift, regularly releasing updates and improvements to the language and its development tools. This ensures that Swift remains compatible with the latest iOS features and technologies. + +5. **Community Support**: Swift has a vibrant and growing community of developers who contribute libraries, frameworks, and resources to the ecosystem. This community support makes it easier for developers to find solutions to common problems and share best practices. + +Overall, Swift offers a modern, safe, and efficient platform for iOS app development, making it the recommended choice for any new project in the Apple ecosystem. + +### Docs + +- [Apple Documentation](https://developer.apple.com/swift) diff --git a/radar/2023-06-10/Alamofire.md b/radar/2023-06-10/Alamofire.md index 02d17e6..b44f0ac 100644 --- a/radar/2023-06-10/Alamofire.md +++ b/radar/2023-06-10/Alamofire.md @@ -1,12 +1,23 @@ --- title: "Alamofire" -ring: assess +ring: adopt quadrant: iOS -tags: [iOS] +tags: [network, iOS] --- -

Network calls framework

-

Link to Github

-Can still be found in legacy projects.
-However, we strongly recommend to use the native language to make network calls: Apple doc

-​ +### Network Library + +Alamofire is a popular networking library for iOS and macOS development. It provides an elegant interface for making network requests and handling responses in Swift. + +With Alamofire, developers can easily perform tasks like making HTTP requests, handling authentication, uploading and downloading files, and parsing JSON responses. It abstracts away the complexities of network programming, making it easier to write clean, concise code for networking tasks in Swift-based applications. + +Alamofire is widely used in the iOS and macOS development communities and is known for its reliability, performance, and extensive feature set. + +### When to use? When not to use? + +We strongly recommend to use the native network methods included in `Foundation` when possible. Relying on a third-party library can be a security and/or maintenance issue when native functionality can easily be the go-to solution. + +### Docs + +- [Github Repository](https://github.com/Alamofire/Alamofire) +- [Native URLRequest in Foundation](https://developer.apple.com/documentation/foundation/urlrequest) diff --git a/radar/2023-06-10/AlamofireImage.md b/radar/2023-06-10/AlamofireImage.md index d6078cc..0c77f7d 100644 --- a/radar/2023-06-10/AlamofireImage.md +++ b/radar/2023-06-10/AlamofireImage.md @@ -2,10 +2,19 @@ title: "AlamofireImage" ring: assess quadrant: iOS -tags: [image, iOS] +tags: [network, image, iOS] --- -

Online image recovery framework

-

Link to Github

-Can still be used in old projects.
-However, it would be better to use the native language to make network calls: Apple doc

+### Online Image Management + +AlamofireImage is an extension of the Alamofire networking library, specifically designed for handling image requests in iOS and macOS applications. + +It simplifies the process of downloading, caching, and displaying images from remote URLs, offering features like automatic caching, image decompression, and efficient memory management. + +With AlamofireImage, developers can easily integrate remote images into their apps, handle image loading asynchronously, and optimize performance by leveraging its caching capabilities. + +AlamofireImage is a widely used library in the iOS and macOS development community, known for its simplicity, reliability, and seamless integration with Alamofire. + +### Docs + +- [Github Repository](https://github.com/Alamofire/Alamofireimage) diff --git a/radar/2023-08-31/Alamofire.md b/radar/2023-08-31/Alamofire.md deleted file mode 100644 index 0c707dd..0000000 --- a/radar/2023-08-31/Alamofire.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "Alamofire" -ring: assess -quadrant: iOS -tags: [network, iOS] ---- - -update tags diff --git a/radar/2023-08-31/AlamofireImage.md b/radar/2023-08-31/AlamofireImage.md deleted file mode 100644 index ff93b78..0000000 --- a/radar/2023-08-31/AlamofireImage.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: "AlamofireImage" -ring: assess -quadrant: iOS -tags: [network, image, iOS] ---- - -update tags diff --git a/radar/2023-08-31/AppleMap.md b/radar/2023-08-31/AppleMap.md deleted file mode 100644 index ab30ab6..0000000 --- a/radar/2023-08-31/AppleMap.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Apple Map" -ring: adopt -quadrant: iOS -tags: [cartograpy, iOS, hybrid] ---- - -

Apple Map

-MapKit documentation diff --git a/radar/2023-08-31/Charles.md b/radar/2023-08-31/Charles.md deleted file mode 100644 index 2d8f52c..0000000 --- a/radar/2023-08-31/Charles.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Charles" -ring: adopt -quadrant: tools -tags: [network, proxy, Android, iOS, hybrid] ---- - -

Tool for network frame analysis -link to the tool -

Allows via proxy to view and analyze a device's network frames.
diff --git a/radar/2023-08-31/CoreStore.md b/radar/2023-08-31/CoreStore.md deleted file mode 100644 index 854a32c..0000000 --- a/radar/2023-08-31/CoreStore.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -title: "CoreStore" -ring: hold -quadrant: iOS -tags: [Database, iOS] ---- - -

Database

-

Github link

-Allows you to manage the database and will serve as an overlay for CoreData -However, it is better to use CoreData natively. -

diff --git a/radar/2023-08-31/FirebaseCrashlytics for Android.md b/radar/2023-08-31/FirebaseCrashlytics for Android.md deleted file mode 100644 index 3eb6b3e..0000000 --- a/radar/2023-08-31/FirebaseCrashlytics for Android.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Firebase Crashlytics for Android" -ring: adopt -quadrant: Android -tags: [debug, crash, Android] ---- - -

Firebase Crashlytics

- -Product presentation
-Official documentation -
-

RGPD Compliant

-

Used to collect crashes in an application.

diff --git a/radar/2023-08-31/FirebaseCrashlytics for iOS.md b/radar/2023-08-31/FirebaseCrashlytics for iOS.md deleted file mode 100644 index 6adadab..0000000 --- a/radar/2023-08-31/FirebaseCrashlytics for iOS.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Firebase Crashlytics for iOS" -ring: adopt -quadrant: iOS -tags: [debug, crash, iOS] ---- - -

Firebase Crashlytics

- -Product presentation
-Documentation for iOS -
-

RGPD Compliant

-

Used to collect crashes in an application.

diff --git a/radar/2023-08-31/FirebaseCrashlytics for react.md b/radar/2023-08-31/FirebaseCrashlytics for react.md deleted file mode 100644 index 2b915ed..0000000 --- a/radar/2023-08-31/FirebaseCrashlytics for react.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Firebase Crashlytics for React native" -ring: adopt -quadrant: React -tags: [debug, crash, React native] ---- - -

Firebase Crashlytics

- -Product presentation
-Documentation -
-

RGPD Compliant

-

Use to collect crashes in an application -

diff --git a/radar/2023-08-31/FirebaseRemoteConfig for Android.md b/radar/2023-08-31/FirebaseRemoteConfig for Android.md deleted file mode 100644 index 1782627..0000000 --- a/radar/2023-08-31/FirebaseRemoteConfig for Android.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -title: "Firebase Remote Config for Android" -ring: adopt -quadrant: Android -tags: [config, Android] ---- - -

Firebase Remote Config

- -Product presentation
-Offical documentation
-
-

RGPD Compliant

-

Allows sending a simple variable or complete json to an application based on parameters such as version, build variant / scheme or even analytics data.

diff --git a/radar/2023-08-31/FirebaseRemoteConfig for iOS.md b/radar/2023-08-31/FirebaseRemoteConfig for iOS.md deleted file mode 100644 index 1a207f7..0000000 --- a/radar/2023-08-31/FirebaseRemoteConfig for iOS.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Firebase Remote Config for iOS" -ring: adopt -quadrant: iOS -tags: [config, iOS] ---- - -

Firebase Remote Config

- -Product Overview
-Official documentation
-Neopixl Documentation -
-

GDPR Compliant

-

Allows the sending of a simple variable or complete json to an application depending on parameters such as version, build variant / scheme or even analytics data.

diff --git a/radar/2023-08-31/FirebaseRemoteConfig for react.md b/radar/2023-08-31/FirebaseRemoteConfig for react.md deleted file mode 100644 index dbc8c14..0000000 --- a/radar/2023-08-31/FirebaseRemoteConfig for react.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: "Firebase Remote Config for React native" -ring: adopt -quadrant: React -tags: [config, React native] ---- - -

Firebase Remote Config

- -Product Overview
-Official documentation
-Neopixl Documentation -
-

GDPR Compliant

-

Allows the sending of a simple variable or complete json to an application depending on parameters such as version, build variant / scheme or even analytics data.

diff --git a/radar/2023-08-31/GoogleMap for Android.md b/radar/2023-08-31/GoogleMap for Android.md deleted file mode 100644 index aacb717..0000000 --- a/radar/2023-08-31/GoogleMap for Android.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Google Map for Android" -ring: adopt -quadrant: Android -tags: [cartography, Android] ---- - -

Google Map

-Official documentation diff --git a/radar/2023-08-31/GoogleMap for iOS.md b/radar/2023-08-31/GoogleMap for iOS.md deleted file mode 100644 index 61b15d7..0000000 --- a/radar/2023-08-31/GoogleMap for iOS.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: "Google Map for iOS" -ring: adopt -quadrant: iOS -tags: [cartograpy, iOS] ---- - -

Google Map

-Official documentation -

It is preferable to use the native OS tools. So Google Map will be the most recommended on Android but on iOS we will prefer the official MapKit SDK.

diff --git a/radar/2023-08-31/GoogleMap for react.md b/radar/2023-08-31/GoogleMap for react.md deleted file mode 100644 index a2f7c51..0000000 --- a/radar/2023-08-31/GoogleMap for react.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: "Google Map for React native" -ring: adopt -quadrant: React -tags: [cartograpy, React native] ---- - -

Google Map

-Documentation diff --git a/radar/2023-08-31/ReachFive.md b/radar/2023-08-31/ReachFive.md deleted file mode 100644 index c9aa521..0000000 --- a/radar/2023-08-31/ReachFive.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -title: "ReachFive" -ring: hold -quadrant: tools -tags: [Database, login, iOS, React native] ---- - -

Login management framework

-

iOS Documentation

-

Android Documentation

-

Library problems:
-- implements third-party libraries (for example for the network, can cause conflicts if we use the same lib)
-- infrequent update (last time, they deprecated an API, and we had to contact them to update their lib...)
-- doesn't really make sense (the different possible authentications are listed by the API, but they must still be declared on the mobile side for security reasons, so even if they change a config, an update of the apps is necessary)
-- insufficient or imprecise documentation, which complicates major version upgrades
-

diff --git a/radar/2023-08-31/SonarQube.md b/radar/2023-08-31/SonarQube.md index 7c152ab..ae64d43 100644 --- a/radar/2023-08-31/SonarQube.md +++ b/radar/2023-08-31/SonarQube.md @@ -5,7 +5,11 @@ quadrant: tools tags: [code quality, Android, iOS, React native] --- -

Code analysis tool

-

Allows you to analyze the code based on a linter and reference smell codes, code duplication problems or even vulnerabilities -

-

Here's a link to a step we created for our iOS projects

+SonarQube is an open-source platform for continuous inspection of code quality. It performs automated code reviews with static analysis to detect bugs, code smells, vulnerabilities, and security vulnerabilities in over 20 programming languages. SonarQube provides detailed reports and metrics, helping development teams improve code quality, maintainability, and security throughout the software development lifecycle. + +### Docs + +- [SonarQube Documentation](https://docs.sonarqube.org/latest/) +- [SonarQube Community](https://community.sonarsource.com/) +- [SonarQube Plugins](https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/) +- [Neopixl's Security Bitrise Step for iOS](https://github.com/neopixl/bitrise-step-sonarqube-ios) diff --git a/radar/2023-08-31/SwiftUI.md b/radar/2023-08-31/SwiftUI.md index 313f308..445ea64 100644 --- a/radar/2023-08-31/SwiftUI.md +++ b/radar/2023-08-31/SwiftUI.md @@ -5,9 +5,10 @@ quadrant: iOS tags: [language, iOS] --- -

Development language

-Apple Documentation -

Apple's officiel development language. We consider this language to be usable and stable from iOS 15 onwards. -On iOS 14, many aspects must be bypassed or worked around for proper functioning and links must be made with UIKit. -iOS 16 also brings new non-retro compatible features. -

+SwiftUI is a user interface toolkit provided by Apple for building declarative user interfaces across all Apple platforms, including iOS, macOS, watchOS, and tvOS. It allows developers to describe the layout, appearance, and behavior of their UI using a simple and intuitive syntax, leveraging Swift's expressive language features. SwiftUI promotes a modern and reactive programming paradigm, enabling developers to create dynamic and interactive UIs with less code and better readability compared to traditional imperative UI frameworks. + +### Docs + +- [SwiftUI Documentation](https://developer.apple.com/documentation/swiftui) +- [SwiftUI Tutorials](https://developer.apple.com/tutorials/swiftui) +- [SwiftUI by Example](https://www.hackingwithswift.com/quick-start/swiftui) diff --git a/radar/2023-08-31/apple-maps.md b/radar/2023-08-31/apple-maps.md new file mode 100644 index 0000000..74df47b --- /dev/null +++ b/radar/2023-08-31/apple-maps.md @@ -0,0 +1,18 @@ +--- +title: "Apple Map" +ring: adopt +quadrant: iOS +tags: [cartograhy, iOS, hybrid] +--- + +Apple Maps, powered by MapKit, is a mapping service provided by Apple for iOS, macOS, watchOS, and tvOS applications. It offers developers a powerful framework for integrating interactive maps and location-based services into their apps. + +With MapKit, developers can display custom maps, annotations, and overlays, as well as provide features like directions, geocoding, and local search. MapKit also supports various map types, such as standard, satellite, and hybrid views, and offers integration with Siri for voice-guided navigation. + +Apple Maps is deeply integrated into the Apple ecosystem, providing a seamless user experience across devices. It leverages data from various sources to offer accurate mapping and navigation services to users worldwide. + +MapKit is a popular choice for developers looking to integrate mapping and location features into their iOS and macOS applications, offering a comprehensive set of tools and functionalities. + +### Docs + +- [Apple Documentations](https://developer.apple.com/documentation/mapkit/) diff --git a/radar/2023-08-31/charles-proxy.md b/radar/2023-08-31/charles-proxy.md new file mode 100644 index 0000000..701fbe7 --- /dev/null +++ b/radar/2023-08-31/charles-proxy.md @@ -0,0 +1,16 @@ +--- +title: "Charles" +ring: adopt +quadrant: tools +tags: [network, proxy, Android, iOS, hybrid] +--- + +Charles Proxy is a web debugging proxy application that allows developers to monitor, inspect, and manipulate HTTP/HTTPS traffic between their devices and the internet. + +With Charles Proxy, developers can intercept network requests and responses, view HTTP headers, examine SSL certificates, and simulate various network conditions like latency and throttling. It provides insights into network communication, helping developers diagnose and debug issues in their web and mobile applications. + +Charles Proxy is widely used by developers for debugging and testing web and mobile applications, offering a user-friendly interface and powerful features for analyzing network traffic. It supports various platforms, including macOS, Windows, and Linux, making it a versatile tool for developers across different environments. + +### Docs + +- [Charles Official Website](https://www.charlesproxy.com/documentation/welcome/) diff --git a/radar/2023-08-31/core-store.md b/radar/2023-08-31/core-store.md new file mode 100644 index 0000000..287c03a --- /dev/null +++ b/radar/2023-08-31/core-store.md @@ -0,0 +1,31 @@ +--- +title: "CoreStore" +ring: hold +quadrant: iOS +tags: [Database, iOS] +--- + +CoreStore is a Swift-based framework that provides a layer of abstraction on top of CoreData, Apple's persistence framework for iOS and macOS applications. It aims to simplify the usage of CoreData by offering a more modern and Swifty API. + +With CoreStore, developers can perform common CoreData operations such as creating, fetching, updating, and deleting objects in a more intuitive and type-safe manner. It also provides features like automatic migration, thread-safety, and transaction management to simplify CoreData usage and reduce boilerplate code. + +While CoreStore offers convenience and additional features, there are reasons why it may be preferable to rely on CoreData directly: + +1. **Learning Curve**: CoreStore introduces its own concepts and API, which may require developers to learn additional frameworks and paradigms beyond CoreData. + +2. **Dependency**: Adding CoreStore as a dependency introduces another layer of complexity and potential points of failure in the project. + +3. **Maintenance**: CoreStore is a third-party framework, so developers rely on its maintainers to keep it up-to-date with the latest Swift and CoreData changes. Depending directly on CoreData ensures compatibility with future iOS and macOS updates. + +4. **Flexibility**: CoreData is a powerful framework with extensive features and customization options. Relying on it directly allows developers to leverage its full capabilities and tailor solutions to specific project requirements without being constrained by a higher-level abstraction. + +While CoreStore may provide convenience for certain projects, in many cases, relying on CoreData directly offers more control, flexibility, and long-term stability for iOS and macOS applications. + +### When to use? When not to use? + +We strongly recommend to use the native `CoreData` when possible. Relying on a third-party library can be a security and/or maintenance issue when native functionality can easily be the go-to solution. + +### Docs + +- [Github Repository](https://github.com/JohnEstropia/CoreStore) +- [Apple Documentation for CoreData](https://developer.apple.com/documentation/coredata) diff --git a/radar/2023-08-31/firebase-crashlytics-android.md b/radar/2023-08-31/firebase-crashlytics-android.md new file mode 100644 index 0000000..2ee470d --- /dev/null +++ b/radar/2023-08-31/firebase-crashlytics-android.md @@ -0,0 +1,49 @@ +--- +title: "Firebase Crashlytics for Android" +ring: adopt +quadrant: Android +tags: [debug, crash, Android] +--- + +Firebase Crashlytics is a crash reporting and analysis tool provided by Google as part of the Firebase mobile development platform. It is designed to help developers track and analyze app crashes, enabling them to identify and resolve issues quickly. + +Key features of Firebase Crashlytics include: + +- **Real-time Crash Reporting**: Firebase Crashlytics provides real-time reports on app crashes, including information about the device, operating system, and the sequence of events leading up to the crash. + +- **Issue Prioritization**: Crashes are automatically prioritized based on their impact on users, helping developers focus on resolving critical issues first. + +- **Detailed Crash Insights**: Developers receive detailed crash reports, including stack traces, device information, and user interactions leading to the crash, facilitating efficient debugging. + +- **Integration with Firebase**: Firebase Crashlytics seamlessly integrates with other Firebase services, allowing developers to correlate crash data with analytics, user engagement, and performance metrics. + +- **Automated Alerts**: Developers can set up automated alerts to receive notifications when new issues arise or when existing issues reach a certain threshold. + +Firebase Crashlytics is widely used by mobile app developers to improve the stability and reliability of their applications by quickly identifying and addressing issues that lead to crashes. + +⚠️ **Important Notice Regarding Firebase Crashlytics and GDPR Compliance** ⚠️ + +When integrating Firebase Crashlytics into your application, it's crucial to ensure compliance with the General Data Protection Regulation (GDPR) if your app collects and processes personal data of individuals in the European Union (EU). + +Firebase Crashlytics collects crash reports and diagnostic information from users' devices, which may include personal data such as device identifiers, IP addresses, and in some cases, user-specific data if custom keys are included in crash reports. + +To comply with the GDPR: + +1. **Transparency**: Clearly inform users in your app's privacy policy about the use of Firebase Crashlytics, including what data is collected, how it is processed, and for what purposes. + +2. **User Consent**: Obtain explicit consent from users before collecting and processing any personal data through Firebase Crashlytics. Users must have the option to opt-in or opt-out of crash reporting. + +3. **Data Minimization**: Only collect the minimum amount of data necessary for crash reporting purposes. Avoid including any unnecessary personal data in crash reports. + +4. **Data Processing Agreement (DPA)**: If you are using Firebase services as a data processor on behalf of your users (e.g., if you're a developer of an app that collects personal data), ensure that you have a Data Processing Agreement (DPA) in place with Google, the provider of Firebase services. + +5. **Data Retention**: Review and adjust the data retention settings in Firebase Console to comply with GDPR requirements. Consider minimizing the retention period for crash reports containing personal data. + +Failure to comply with the GDPR's requirements regarding the processing of personal data may result in significant fines and legal consequences. Therefore, it's essential to review your app's use of Firebase Crashlytics and take appropriate measures to ensure compliance with data protection regulations. + +For detailed guidance on GDPR compliance and Firebase services, refer to the official documentation provided by Google and consult legal experts specializing in data protection laws. + +### Docs + +- [Product Presentation](https://firebase.google.com/products/crashlytics) +- [Official Documentation](https://firebase.google.com/docs/crashlytics/get-started?hl=fr&platform=android) diff --git a/radar/2023-08-31/firebase-crashlytics-ios.md b/radar/2023-08-31/firebase-crashlytics-ios.md new file mode 100644 index 0000000..4b42943 --- /dev/null +++ b/radar/2023-08-31/firebase-crashlytics-ios.md @@ -0,0 +1,49 @@ +--- +title: "Firebase Crashlytics for iOS" +ring: adopt +quadrant: iOS +tags: [debug, crash, iOS] +--- + +Firebase Crashlytics is a crash reporting and analysis tool provided by Google as part of the Firebase mobile development platform. It is designed to help developers track and analyze app crashes, enabling them to identify and resolve issues quickly. + +Key features of Firebase Crashlytics include: + +- **Real-time Crash Reporting**: Firebase Crashlytics provides real-time reports on app crashes, including information about the device, operating system, and the sequence of events leading up to the crash. + +- **Issue Prioritization**: Crashes are automatically prioritized based on their impact on users, helping developers focus on resolving critical issues first. + +- **Detailed Crash Insights**: Developers receive detailed crash reports, including stack traces, device information, and user interactions leading to the crash, facilitating efficient debugging. + +- **Integration with Firebase**: Firebase Crashlytics seamlessly integrates with other Firebase services, allowing developers to correlate crash data with analytics, user engagement, and performance metrics. + +- **Automated Alerts**: Developers can set up automated alerts to receive notifications when new issues arise or when existing issues reach a certain threshold. + +Firebase Crashlytics is widely used by mobile app developers to improve the stability and reliability of their applications by quickly identifying and addressing issues that lead to crashes. + +⚠️ **Important Notice Regarding Firebase Crashlytics and GDPR Compliance** ⚠️ + +When integrating Firebase Crashlytics into your application, it's crucial to ensure compliance with the General Data Protection Regulation (GDPR) if your app collects and processes personal data of individuals in the European Union (EU). + +Firebase Crashlytics collects crash reports and diagnostic information from users' devices, which may include personal data such as device identifiers, IP addresses, and in some cases, user-specific data if custom keys are included in crash reports. + +To comply with the GDPR: + +1. **Transparency**: Clearly inform users in your app's privacy policy about the use of Firebase Crashlytics, including what data is collected, how it is processed, and for what purposes. + +2. **User Consent**: Obtain explicit consent from users before collecting and processing any personal data through Firebase Crashlytics. Users must have the option to opt-in or opt-out of crash reporting. + +3. **Data Minimization**: Only collect the minimum amount of data necessary for crash reporting purposes. Avoid including any unnecessary personal data in crash reports. + +4. **Data Processing Agreement (DPA)**: If you are using Firebase services as a data processor on behalf of your users (e.g., if you're a developer of an app that collects personal data), ensure that you have a Data Processing Agreement (DPA) in place with Google, the provider of Firebase services. + +5. **Data Retention**: Review and adjust the data retention settings in Firebase Console to comply with GDPR requirements. Consider minimizing the retention period for crash reports containing personal data. + +Failure to comply with the GDPR's requirements regarding the processing of personal data may result in significant fines and legal consequences. Therefore, it's essential to review your app's use of Firebase Crashlytics and take appropriate measures to ensure compliance with data protection regulations. + +For detailed guidance on GDPR compliance and Firebase services, refer to the official documentation provided by Google and consult legal experts specializing in data protection laws. + +### Docs + +- [Product Presentation](https://firebase.google.com/products/crashlytics) +- [Official Documentation](https://firebase.google.com/docs/crashlytics/get-started?hl=fr&platform=ios) diff --git a/radar/2023-08-31/firebase-crashlytics-react.md b/radar/2023-08-31/firebase-crashlytics-react.md new file mode 100644 index 0000000..8a4e5a1 --- /dev/null +++ b/radar/2023-08-31/firebase-crashlytics-react.md @@ -0,0 +1,49 @@ +--- +title: "Firebase Crashlytics for React native" +ring: adopt +quadrant: React +tags: [debug, crash, React Native] +--- + +Firebase Crashlytics is a crash reporting and analysis tool provided by Google as part of the Firebase mobile development platform. It is designed to help developers track and analyze app crashes, enabling them to identify and resolve issues quickly. + +Key features of Firebase Crashlytics include: + +- **Real-time Crash Reporting**: Firebase Crashlytics provides real-time reports on app crashes, including information about the device, operating system, and the sequence of events leading up to the crash. + +- **Issue Prioritization**: Crashes are automatically prioritized based on their impact on users, helping developers focus on resolving critical issues first. + +- **Detailed Crash Insights**: Developers receive detailed crash reports, including stack traces, device information, and user interactions leading to the crash, facilitating efficient debugging. + +- **Integration with Firebase**: Firebase Crashlytics seamlessly integrates with other Firebase services, allowing developers to correlate crash data with analytics, user engagement, and performance metrics. + +- **Automated Alerts**: Developers can set up automated alerts to receive notifications when new issues arise or when existing issues reach a certain threshold. + +Firebase Crashlytics is widely used by mobile app developers to improve the stability and reliability of their applications by quickly identifying and addressing issues that lead to crashes. + +⚠️ **Important Notice Regarding Firebase Crashlytics and GDPR Compliance** ⚠️ + +When integrating Firebase Crashlytics into your application, it's crucial to ensure compliance with the General Data Protection Regulation (GDPR) if your app collects and processes personal data of individuals in the European Union (EU). + +Firebase Crashlytics collects crash reports and diagnostic information from users' devices, which may include personal data such as device identifiers, IP addresses, and in some cases, user-specific data if custom keys are included in crash reports. + +To comply with the GDPR: + +1. **Transparency**: Clearly inform users in your app's privacy policy about the use of Firebase Crashlytics, including what data is collected, how it is processed, and for what purposes. + +2. **User Consent**: Obtain explicit consent from users before collecting and processing any personal data through Firebase Crashlytics. Users must have the option to opt-in or opt-out of crash reporting. + +3. **Data Minimization**: Only collect the minimum amount of data necessary for crash reporting purposes. Avoid including any unnecessary personal data in crash reports. + +4. **Data Processing Agreement (DPA)**: If you are using Firebase services as a data processor on behalf of your users (e.g., if you're a developer of an app that collects personal data), ensure that you have a Data Processing Agreement (DPA) in place with Google, the provider of Firebase services. + +5. **Data Retention**: Review and adjust the data retention settings in Firebase Console to comply with GDPR requirements. Consider minimizing the retention period for crash reports containing personal data. + +Failure to comply with the GDPR's requirements regarding the processing of personal data may result in significant fines and legal consequences. Therefore, it's essential to review your app's use of Firebase Crashlytics and take appropriate measures to ensure compliance with data protection regulations. + +For detailed guidance on GDPR compliance and Firebase services, refer to the official documentation provided by Google and consult legal experts specializing in data protection laws. + +### Docs + +- [Product Presentation](https://firebase.google.com/products/crashlytics) +- [RNFirebase Documentation](https://rnfirebase.io/crashlytics/usage) diff --git a/radar/2023-08-31/firebase-remoteconfig-android.md b/radar/2023-08-31/firebase-remoteconfig-android.md new file mode 100644 index 0000000..cb83351 --- /dev/null +++ b/radar/2023-08-31/firebase-remoteconfig-android.md @@ -0,0 +1,13 @@ +--- +title: "Firebase Remote Config for Android" +ring: adopt +quadrant: Android +tags: [config, Android] +--- + +Firebase Remote Config is a cloud service provided by Google Firebase that allows developers to remotely change the behavior and appearance of their apps without requiring app updates. It enables A/B testing, targeted rollouts, and personalized experiences by delivering parameter values to the app dynamically from the Firebase console. + +### Docs + +- [Firebase Remote Config Documentation](https://firebase.google.com/docs/remote-config) +- [Firebase Remote Config Android Reference](https://firebase.google.com/docs/remote-config/get-started?hl=fr&platform=android) diff --git a/radar/2023-08-31/firebase-remoteconfig-ios.md b/radar/2023-08-31/firebase-remoteconfig-ios.md new file mode 100644 index 0000000..43fdd08 --- /dev/null +++ b/radar/2023-08-31/firebase-remoteconfig-ios.md @@ -0,0 +1,13 @@ +--- +title: "Firebase Remote Config for iOS" +ring: adopt +quadrant: iOS +tags: [config, iOS] +--- + +Firebase Remote Config is a cloud service provided by Google Firebase that allows developers to remotely change the behavior and appearance of their apps without requiring app updates. It enables A/B testing, targeted rollouts, and personalized experiences by delivering parameter values to the app dynamically from the Firebase console. + +### Docs + +- [Firebase Remote Config Documentation](https://firebase.google.com/docs/remote-config) +- [Firebase Remote Config Android Reference](https://firebase.google.com/docs/remote-config/get-started?hl=fr&platform=ios) diff --git a/radar/2023-08-31/firebase-remoteconfig-react.md b/radar/2023-08-31/firebase-remoteconfig-react.md new file mode 100644 index 0000000..f6f1965 --- /dev/null +++ b/radar/2023-08-31/firebase-remoteconfig-react.md @@ -0,0 +1,13 @@ +--- +title: "Firebase Remote Config for React native" +ring: adopt +quadrant: React +tags: [config, React Native] +--- + +Firebase Remote Config is a cloud service provided by Google Firebase that allows developers to remotely change the behavior and appearance of their apps without requiring app updates. It enables A/B testing, targeted rollouts, and personalized experiences by delivering parameter values to the app dynamically from the Firebase console. + +### Docs + +- [Firebase Remote Config Documentation](https://firebase.google.com/docs/remote-config) +- [RNFirebase](https://rnfirebase.io/) diff --git a/radar/2023-08-31/googlemaps-android.md b/radar/2023-08-31/googlemaps-android.md new file mode 100644 index 0000000..6f3c4a5 --- /dev/null +++ b/radar/2023-08-31/googlemaps-android.md @@ -0,0 +1,13 @@ +--- +title: "Google Maps for Android" +ring: adopt +quadrant: Android +tags: [cartography, Android] +--- + +Google Maps for Android is a powerful mapping service provided by Google, offering detailed maps, satellite imagery, street views, and route planning functionalities. It allows Android developers to integrate interactive maps into their applications, enabling features such as location tracking, geocoding, and place autocomplete. + +### Docs + +- [Google Maps Android API Documentation](https://developers.google.com/maps/documentation/android-sdk/intro) +- [Google Maps Android API Reference](https://developers.google.com/android/reference/com/google/android/libraries/maps/package-summary) diff --git a/radar/2023-08-31/googlemaps-ios.md b/radar/2023-08-31/googlemaps-ios.md new file mode 100644 index 0000000..e9ddd04 --- /dev/null +++ b/radar/2023-08-31/googlemaps-ios.md @@ -0,0 +1,17 @@ +--- +title: "Google Maps for iOS" +ring: adopt +quadrant: iOS +tags: [cartograpy, iOS] +--- + +Google Maps for iOS is a comprehensive mapping solution developed by Google, offering features like detailed maps, satellite imagery, street view, and route planning. It provides iOS developers with tools to integrate interactive maps into their applications, enabling functionalities such as location services, geocoding, and place search. + +### When to use? When not to use? + +We strongly recommend to use the native `MapKit` when possible. Relying on a third-party library can be a security and/or maintenance issue when native functionality can easily be the go-to solution. + +### Docs + +- [Google Maps SDK for iOS Documentation](https://developers.google.com/maps/documentation/ios-sdk/intro) +- [Google Maps SDK for iOS Reference](https://developers.google.com/maps/documentation/ios-sdk/reference/) diff --git a/radar/2023-08-31/googlemaps-react.md b/radar/2023-08-31/googlemaps-react.md new file mode 100644 index 0000000..086800b --- /dev/null +++ b/radar/2023-08-31/googlemaps-react.md @@ -0,0 +1,14 @@ +--- +title: "Google Maps for React Native" +ring: adopt +quadrant: React +tags: [cartography, React Native] +--- + +Google Maps for React Native is a library that allows developers to integrate Google Maps into their React Native applications. It provides components and APIs for rendering interactive maps, markers, polylines, and other map features within the React Native environment. + +### Docs + +- [React Native Maps Documentation](https://github.com/react-native-maps/react-native-maps) +- [Google Maps Platform - React Native Quickstart](https://developers.google.com/maps/documentation/react-native/start) +- [React Native Maps GitHub Repository](https://github.com/react-native-maps/react-native-maps) diff --git a/radar/2023-08-31/lottie for android.md b/radar/2023-08-31/lottie for android.md deleted file mode 100644 index 5b65178..0000000 --- a/radar/2023-08-31/lottie for android.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Lottie for Android" -ring: adopt -quadrant: Android -tags: [Animations, Android] ---- - -

Animation framework

-

Link to Github Android page

-Allows you to play JSON animations -animation example here -with an account this also allows you to test the animations provided by the designers to check the rendering. -

diff --git a/radar/2023-08-31/lottie for iOS.md b/radar/2023-08-31/lottie for iOS.md deleted file mode 100644 index 3495863..0000000 --- a/radar/2023-08-31/lottie for iOS.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Lottie for iOS" -ring: adopt -quadrant: iOS -tags: [Animations, iOS] ---- - -

Animation framework

-

Link to the iOS Github repo

-Allows you to play JSON animations -animation example here -with an account this also allows you to test the animations provided by the designers to check the rendering. -

diff --git a/radar/2023-08-31/lottie for react.md b/radar/2023-08-31/lottie for react.md deleted file mode 100644 index fa760aa..0000000 --- a/radar/2023-08-31/lottie for react.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: "Lottie for React native" -ring: adopt -quadrant: React -tags: [Animations, React native] ---- - -

Animation framework

-

Link to the React Github repo

-Allows you to play JSON animations -animation example here -with an account this also allows you to test the animations provided by the designers to check the rendering. -

diff --git a/radar/2023-08-31/lottie-android.md b/radar/2023-08-31/lottie-android.md new file mode 100644 index 0000000..605d81b --- /dev/null +++ b/radar/2023-08-31/lottie-android.md @@ -0,0 +1,14 @@ +--- +title: "Lottie for Android" +ring: adopt +quadrant: Android +tags: [Animations, Android] +--- + +Lottie for Android is a library developed by Airbnb that renders Adobe After Effects animations natively in real-time in Android applications. It simplifies the process of adding complex animations to apps by allowing developers to export animations as JSON files from After Effects and render them using the Lottie library. + +### Docs + +- [Lottie for Android GitHub Repository](https://github.com/airbnb/lottie-android) +- [Lottie Android Documentation](https://airbnb.io/lottie/android/) +- [LottieFiles - Community Animation Library](https://lottiefiles.com/) diff --git a/radar/2023-08-31/lottie-ios.md b/radar/2023-08-31/lottie-ios.md new file mode 100644 index 0000000..6a888eb --- /dev/null +++ b/radar/2023-08-31/lottie-ios.md @@ -0,0 +1,14 @@ +--- +title: "Lottie for iOS" +ring: adopt +quadrant: iOS +tags: [Animations, iOS] +--- + +Lottie for iOS is a library developed by Airbnb that enables developers to seamlessly integrate Adobe After Effects animations into their iOS applications. It allows for the rendering of animations in real-time, enhancing user experience by bringing visually engaging motion graphics directly into iOS apps. + +### Docs + +- [Lottie for iOS GitHub Repository](https://github.com/airbnb/lottie-ios) +- [Lottie iOS Documentation](http://airbnb.io/lottie/#/ios) +- [LottieFiles - Community Animation Library](https://lottiefiles.com/) diff --git a/radar/2023-08-31/lottie-react.md b/radar/2023-08-31/lottie-react.md new file mode 100644 index 0000000..6c7dfdd --- /dev/null +++ b/radar/2023-08-31/lottie-react.md @@ -0,0 +1,14 @@ +--- +title: "Lottie for React native" +ring: adopt +quadrant: React +tags: [Animations, React native] +--- + +Lottie for React is a library that enables developers to incorporate Adobe After Effects animations into their React applications effortlessly. It provides a React component to render Lottie animations, allowing for seamless integration of visually appealing animations into React projects. + +### Docs + +- [Lottie for React GitHub Repository](https://github.com/airbnb/lottie-react-native) +- [Lottie for React Documentation](https://airbnb.io/lottie/#/react-native) +- [LottieFiles - Community Animation Library](https://lottiefiles.com/) diff --git a/radar/2023-08-31/proxyman.md b/radar/2023-08-31/proxyman.md index 9e2c321..9a554b6 100644 --- a/radar/2023-08-31/proxyman.md +++ b/radar/2023-08-31/proxyman.md @@ -5,9 +5,10 @@ quadrant: tools tags: [network, proxy, Android, iOS, React native] --- -

Tool for network frame analysis -Tool link -

Allows via proxy to see and analyze the network frames of a device.
-Under consideration for a potential replacement for Charles
-the tool is more graphic and pleasant to use
-Possibility of using it via a VPN on the mobile using a tool like openVPN.
+Proxyman is a modern debugging proxy tool designed for developers to monitor, intercept, and manipulate HTTP/HTTPS traffic between their applications and the internet. It offers a user-friendly interface with powerful features such as SSL certificate generation, request/response inspection, latency simulation, and more. Proxyman simplifies the debugging process by providing detailed insights into network requests and responses, allowing developers to diagnose and troubleshoot issues effectively. + +### Docs + +- [Proxyman Documentation](https://docs.proxyman.io/) +- [Proxyman GitHub Repository](https://github.com/ProxymanApp/Proxyman) +- [Proxyman Blog](https://blog.proxyman.io/) diff --git a/radar/2023-08-31/reach-five.md b/radar/2023-08-31/reach-five.md new file mode 100644 index 0000000..da02d8d --- /dev/null +++ b/radar/2023-08-31/reach-five.md @@ -0,0 +1,34 @@ +--- +title: "ReachFive" +ring: hold +quadrant: tools +tags: [Database, login, iOS, React native] +--- + +Reach5 is a customer identity and access management (CIAM) platform designed to help businesses streamline user authentication, registration, and account management processes. It provides a comprehensive set of authentication methods such as social login, passwordless authentication, and multi-factor authentication (MFA), allowing businesses to offer a seamless and secure login experience for their users across web and mobile applications. + +#### Should be used in a new project if: + +- You need to implement user authentication and registration functionality in your application. +- You want to offer social login options (e.g., via Facebook, Google, LinkedIn) to your users. +- You require advanced features such as passwordless authentication or MFA to enhance security. +- You value a flexible and customizable CIAM solution with SDKs and APIs for easy integration into your application. + +#### Should not be used in a new project if: + +- Your project does not involve user authentication or registration processes. +- You already have an existing CIAM solution that meets your requirements. +- You prefer to build and manage authentication features in-house rather than using a third-party platform. + +### Known Issues + +- Implements third-party libraries (for example for the network, can cause conflicts if we use the same lib) +- infrequent update (last time, they deprecated an API, and we had to contact them to update their lib...) +- doesn't really make sense (the different possible authentications are listed by the API, but they must still be declared on the mobile side for security reasons, so even if they change a config, an update of the apps is necessary) +- insufficient or imprecise documentation, which complicates major version upgrades + +### Docs + +- [Reach5 Documentation](https://developer.reach5.co/) +- [Reach5 API Reference](https://developer.reach5.co/reference/) +- [Reach5 Developer Guides](https://developer.reach5.co/guides/) diff --git a/radar/2024-02-28/bitrise.md b/radar/2024-02-28/bitrise.md new file mode 100644 index 0000000..3d7e2d9 --- /dev/null +++ b/radar/2024-02-28/bitrise.md @@ -0,0 +1,27 @@ +--- +title: "Bitrise" +ring: adopt +quadrant: tools +tags: [ci, Android, iOS, React native] +--- + +Bitrise is a continuous integration and continuous delivery (CI/CD) platform designed specifically for mobile app development. It provides a streamlined workflow for automating the build, test, and deployment processes of mobile applications across iOS and Android platforms. With Bitrise, developers can easily set up workflows to automatically build, test, and deploy their apps whenever changes are pushed to their version control system. It supports integration with popular version control systems, testing frameworks, and deployment platforms, making it an essential tool for mobile app development teams to ensure code quality, reliability, and speed of delivery. + +#### Should be used in a new project if: + +- You are developing mobile applications for iOS and Android platforms and need a CI/CD solution tailored specifically for mobile app development. +- You want to automate the build, test, and deployment processes of your mobile apps to improve efficiency and reduce manual effort. +- You value a cloud-based platform with a user-friendly interface and easy setup for creating and managing CI/CD pipelines. +- You need support for integrating with popular version control systems (e.g., GitHub, Bitbucket, GitLab), testing frameworks (e.g., XCTest, Espresso), and deployment platforms (e.g., App Store, Google Play Store). + +#### Should not be used in a new project if: + +- Your project does not involve mobile app development or does not require CI/CD automation. +- You prefer to use other CI/CD platforms that offer more features or better integration with your existing tools and infrastructure. +- You have specific requirements or constraints that are not supported by Bitrise. + +### Docs + +- [Bitrise Documentation](https://devcenter.bitrise.io/) +- [Bitrise Getting Started Guide](https://devcenter.bitrise.io/getting-started/) +- [Bitrise API Reference](https://api-docs.bitrise.io/) diff --git a/radar/2024-02-28/cocoapods.md b/radar/2024-02-28/cocoapods.md new file mode 100644 index 0000000..dd0725e --- /dev/null +++ b/radar/2024-02-28/cocoapods.md @@ -0,0 +1,16 @@ +--- +title: "CocoaPods" +ring: hold +quadrant: iOS +tags: [dependency management] +--- + +CocoaPods is a dependency manager for Swift and Objective-C projects, primarily used for managing third-party libraries and dependencies in iOS and macOS applications. It simplifies the process of integrating external libraries into Xcode projects by providing a centralized repository of open-source libraries and a straightforward way to install and manage dependencies. CocoaPods also offers features such as version management, dependency resolution, and integration with Xcode workspaces, making it an essential tool for iOS and macOS developers to streamline their development workflow. + +CocoaPods should not be used on new projects anymore. Alternative dependency management tools like Swift Package Manager must be used. + +### Docs + +- [CocoaPods Guides](https://guides.cocoapods.org/) +- [CocoaPods Documentation](https://docs.cocoapods.org/) +- [CocoaPods GitHub Repository](https://github.com/CocoaPods/CocoaPods) diff --git a/radar/2024-02-28/react-navigation.md b/radar/2024-02-28/react-navigation.md new file mode 100644 index 0000000..742725f --- /dev/null +++ b/radar/2024-02-28/react-navigation.md @@ -0,0 +1,27 @@ +--- +title: "React Navigation" +ring: adopt +quadrant: react +tags: [navigation] +--- + +React Navigation is a popular library for routing and navigation in React Native applications. It provides a flexible and customizable navigation solution that allows developers to define and manage navigation between screens in their React Native apps with ease. React Navigation supports various navigation patterns such as stack navigation, tab navigation, drawer navigation, and more, enabling developers to create intuitive and user-friendly navigation experiences for their mobile apps. + +#### Should be used in a new project if: + +- You are building a React Native application and need a reliable and feature-rich navigation solution. +- You want to implement common navigation patterns such as stack-based navigation (e.g., for navigation between different screens in a linear sequence), tab navigation (e.g., for navigating between multiple tabs), or drawer navigation (e.g., for implementing a side menu). +- You value a library with good community support, active development, and regular updates to address issues and introduce new features. +- You prefer a navigation solution that is easy to set up, configure, and customize to meet the specific requirements of your app. + +#### Should not be used in a new project if: + +- Your project does not involve React Native development or does not require navigation between screens. +- You prefer to use other navigation libraries or custom navigation solutions that better suit your project's needs. +- You have specific requirements or constraints that are not supported by React Navigation. + +### Docs + +- [React Navigation Documentation](https://reactnavigation.org/docs/getting-started) +- [React Navigation GitHub Repository](https://github.com/react-navigation/react-navigation) +- [React Navigation API Reference](https://reactnavigation.org/docs/api-reference) diff --git a/radar/2024-02-28/react-reanimated.md b/radar/2024-02-28/react-reanimated.md new file mode 100644 index 0000000..25f2e7b --- /dev/null +++ b/radar/2024-02-28/react-reanimated.md @@ -0,0 +1,27 @@ +--- +title: "React Reanimated" +ring: adopt +quadrant: react +tags: [animation] +--- + +React Reanimated is a React Native library that provides a powerful set of APIs for building highly performant and complex animations and gestures. It allows developers to create smooth and interactive animations with native-like performance by leveraging the power of the native animation APIs on both iOS and Android platforms. React Reanimated is particularly useful for creating complex UI interactions, transitions, and animations that require low-level control and optimization. + +#### Should be used in a new project if: + +- You are building a React Native application and need to implement complex and high-performance animations or gestures. +- You want to create smooth and responsive UI interactions that feel native to the platform. +- You value a library with low-level control over animations and gestures, allowing you to fine-tune performance and optimize for smoothness. +- You prefer to use a declarative and composable API for defining animations and gestures in your React Native components. + +#### Should not be used in a new project if: + +- Your project does not involve React Native development or does not require complex animations or gestures. +- You prefer to use other animation libraries or native animation APIs that better suit your project's needs. +- You have specific requirements or constraints that are not supported by React Reanimated. + +### Docs + +- [React Reanimated Documentation](https://docs.swmansion.com/react-native-reanimated/) +- [React Reanimated GitHub Repository](https://github.com/software-mansion/react-native-reanimated) +- [React Reanimated API Reference](https://docs.swmansion.com/react-native-reanimated/docs/api)