Skip to content

Commit

Permalink
Merge pull request #20 from neopixl/review-tech
Browse files Browse the repository at this point in the history
feat(content): add and rewrite content
  • Loading branch information
Nicolas Nunge authored Feb 28, 2024
2 parents c96860c + 70f36c2 commit 583accc
Show file tree
Hide file tree
Showing 45 changed files with 553 additions and 254 deletions.
15 changes: 10 additions & 5 deletions radar/2023-01-01/Objective-C.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
---
title: "Objective-C"
ring: adopt
ring: hold
quadrant: iOS
tags: [language, iOS]
---

<p><b>Development language</b></p>
<em><a href=https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html">Apple documentation</a></em>
<p>Old Apple development language
</p>
### 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)
25 changes: 21 additions & 4 deletions radar/2023-01-01/Swift.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,24 @@ quadrant: iOS
tags: [language, iOS]
---

<p><b>Development language</b></p>
<em><a href="https://developer.apple.com/swift/">Apple documentation</a></em>
<p>Core Apple Development Language
</p>
### 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)
25 changes: 18 additions & 7 deletions radar/2023-06-10/Alamofire.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,23 @@
---
title: "Alamofire"
ring: assess
ring: adopt
quadrant: iOS
tags: [iOS]
tags: [network, iOS]
---

<p>Network calls framework</p>
<p><a href="https://github.com/Alamofire/Alamofire">Link to Github</a> <br /> <br />
Can still be found in legacy projects.<br />
However, we strongly recommend to use the native language to make network calls: <a href="https://developer.apple.com/documentation/foundation/urlrequest">Apple doc</a></p>
### 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)
19 changes: 14 additions & 5 deletions radar/2023-06-10/AlamofireImage.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,19 @@
title: "AlamofireImage"
ring: assess
quadrant: iOS
tags: [image, iOS]
tags: [network, image, iOS]
---

<p>Online image recovery framework</p>
<p><a href="https://github.com/Alamofire/Alamofireimage">Link to Github</a> <br /> <br />
Can still be used in old projects.<br />
However, it would be better to use the native language to make network calls: <a href="https://developer.apple.com/documentation/foundation/urlrequest">Apple doc</a></p>
### 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)
8 changes: 0 additions & 8 deletions radar/2023-08-31/Alamofire.md

This file was deleted.

8 changes: 0 additions & 8 deletions radar/2023-08-31/AlamofireImage.md

This file was deleted.

9 changes: 0 additions & 9 deletions radar/2023-08-31/AppleMap.md

This file was deleted.

10 changes: 0 additions & 10 deletions radar/2023-08-31/Charles.md

This file was deleted.

12 changes: 0 additions & 12 deletions radar/2023-08-31/CoreStore.md

This file was deleted.

14 changes: 0 additions & 14 deletions radar/2023-08-31/FirebaseCrashlytics for Android.md

This file was deleted.

14 changes: 0 additions & 14 deletions radar/2023-08-31/FirebaseCrashlytics for iOS.md

This file was deleted.

15 changes: 0 additions & 15 deletions radar/2023-08-31/FirebaseCrashlytics for react.md

This file was deleted.

14 changes: 0 additions & 14 deletions radar/2023-08-31/FirebaseRemoteConfig for Android.md

This file was deleted.

15 changes: 0 additions & 15 deletions radar/2023-08-31/FirebaseRemoteConfig for iOS.md

This file was deleted.

15 changes: 0 additions & 15 deletions radar/2023-08-31/FirebaseRemoteConfig for react.md

This file was deleted.

9 changes: 0 additions & 9 deletions radar/2023-08-31/GoogleMap for Android.md

This file was deleted.

10 changes: 0 additions & 10 deletions radar/2023-08-31/GoogleMap for iOS.md

This file was deleted.

9 changes: 0 additions & 9 deletions radar/2023-08-31/GoogleMap for react.md

This file was deleted.

16 changes: 0 additions & 16 deletions radar/2023-08-31/ReachFive.md

This file was deleted.

12 changes: 8 additions & 4 deletions radar/2023-08-31/SonarQube.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ quadrant: tools
tags: [code quality, Android, iOS, React native]
---

<p>Code analysis tool</p>
<p> Allows you to analyze the code based on a linter and reference smell codes, code duplication problems or even vulnerabilities
</p>
<p>Here's a <a href="https://github.com/neopixl/bitrise-step-sonarqube-ios">link</a> to a step we created for our iOS projects</p>
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)
13 changes: 7 additions & 6 deletions radar/2023-08-31/SwiftUI.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ quadrant: iOS
tags: [language, iOS]
---

<p><b>Development language</b></p>
<em><a href="https://developer.apple.com/xcode/swiftui/">Apple Documentation</a></em>
<p>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.
</p>
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)
18 changes: 18 additions & 0 deletions radar/2023-08-31/apple-maps.md
Original file line number Diff line number Diff line change
@@ -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/)
16 changes: 16 additions & 0 deletions radar/2023-08-31/charles-proxy.md
Original file line number Diff line number Diff line change
@@ -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/)
Loading

0 comments on commit 583accc

Please sign in to comment.