Skip to content

Commit

Permalink
patch: andraid progress
Browse files Browse the repository at this point in the history
  • Loading branch information
liquidg3 committed Mar 25, 2024
1 parent a2f7782 commit a28472b
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 14 deletions.
Binary file modified .DS_Store
Binary file not shown.
30 changes: 17 additions & 13 deletions src/pages/getting-started/frameworks/android.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,22 +57,26 @@ tr:nth-child(even) {

# Transitioning from Android to Spruce

Android development typically involves Java or Kotlin, while Spruce is a TypeScript-based framework. This guide will help you connect your knowledge of Android development to Spruce's architecture, showing you how to adapt your existing skills to the Spruce environment.
Android development typically involves Java or Kotlin, while Spruce is a TypeScript-based platform.

While Android focuses on front-end and does support directly implementing some backend type functionality, most times an Android app is communicating with a remote API to do it's work. Spruce, on the other hand, is a "full-stack platform" that allows for both beautiful UI's and robust back-ends.

This guide will help you connect your knowledge of Android development to Spruce's architecture, showing you how to adapt your existing skills to the Spruce environment.

## Key Differences between Android and Spruce Development

| Development Aspect | Android | Spruce |
|------------------------|--------------------------|--------------------------|
| **Programming Language** | Java/Kotlin | TypeScript |
| **IDE** | Android Studio | Visual Studio Code |
| **UI Design** | XML Layouts | HTML, CSS, JavaScript/TypeScript |
| **Data Management** | SQLite/Room | Schemas |
| **Event Handling** | Intents | Centralized Event System |
| **API Integration** | Retrofit/OkHttp | HTTP Requests, Sockets via Mercury Client |
| **Data Persistence** | SharedPreferences | Stores |
| **Error Handling** | Try-Catch Blocks | Try-Catch Blocks in TypeScript |
| **Testing** | JUnit, Espresso | Jest, Mocha |
| **User Authentication** | OAuth, Firebase Auth | Token-Based Methods, Web-Based Authentication |
| | Android | Spruce |
|-----------------------|--------------------------|--------------------------|
| **Programming Language** | Java/Kotlin | TypeScript |
| **IDE** | Android Studio | Visual Studio Code |
| **App Lifecycle** | Application Class, Activities, Services, etc. | No Equivalent |
| **UI Design** | Activities, Fragments | Heartwood, ViewControllers |
| **Event Handling** | Broadcast Receivers, LocalBroadcastManager | Mercury |
| **Data Persistence** | Core Data, UserDefaults | Data Stores |
| **Error Handling** | NSError, Error Protocol, Try-Catch Blocks | Try-Catch Blocks, SpruceErrors |
| **Testing** | XCTest | TDD by the 3 laws |
| **User Authentication** | Apple's Frameworks, Custom Server-Side Solutions | Mercury, Authenticator |
| **User Permissions** | Apple's Frameworks, Custom Server-Side Solutions | Mercury, Authorizor |

### Programming Language

Expand Down
6 changes: 5 additions & 1 deletion src/pages/getting-started/frameworks/ios.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@ tr:nth-child(even) {
</style>


Modern iOS development primarily uses Swift. Spruce on the other hand, is a TypeScript-based framework. The following guide will help you draw parallels between familiar iOS concepts and Spruce’s architecture, and provide a clear understanding of how your existing skills can be adapted and applied in Spruce.
iOS development typically involves Swift or Objective C, while Spruce is a TypeScript-based platform.

While iOS focuses on front-end and does support directly implementing some backend type functionality, most times an iOS app is communicating with a remote API to do it's work. Spruce, on the other hand, is a "full-stack platform" that allows for both beautiful UI's and robust back-ends.

This guide will help you connect your knowledge of Android development to Spruce's architecture, showing you how to adapt your existing skills to the Spruce environment.

## Key Differences between iOS and Spruce Development

Expand Down

0 comments on commit a28472b

Please sign in to comment.