-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docs: adds mobile programming languages #945
Conversation
appropriate. For example, the GOV.UK PaaS team uses TypeScript | ||
because they are used to working with a statically typed, compiled language, | ||
and they think the compilation and static-analysis tooling is better for | ||
their workflow. There's more information about TypeScript on the | ||
their workflow. Ther’s more information about TypeScript on the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
their workflow. Ther’s more information about TypeScript on the | |
their workflow. There’s more information about TypeScript on the |
@@ -98,6 +98,24 @@ We used Scala in the early days of GDS. GOV.UK Licensing is the only remaining | |||
application written in Scala but we’ve found it hard to support because of a lack | |||
of skills in GDS. Do not use Scala for new projects. | |||
|
|||
## Mobile Development | |||
|
|||
For developing mobile apps, we use Swift for iOS and Kotlin for Android. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mcgarj in line with other docs, consider annotating some of the brand names here with links back to the product pages of that stuff.
So Swift, Kotlin, hell even iOS and Android.
Imagine you're reading this as a dev who (ahem... perhaps like me a few months ago) has zero starting point for this. Let's link richly through to the right pages so someone can go find out what we mean by Swift, Android or even iOS.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great start Joe thanks for this.
Keen to get some eyes from other senior colleagues and those language specific bits filled in
These languages have been chosen over using frameworks such as Flutter or .NET MAUI so that the apps | ||
feel like a native Android/iOS app without writing extra code to account for the specific OS in Flutter, for example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a great statement, and one I might like to see expanded.
I wonder if one of the mobile seniors or folks involved with these decisions wouldn't mind chipping in here?
I think there's a candidate here for a separate GDS Way page about "preferences for native first / web first or hybrid".
It'd be good if we could write this paragraph in a way we could link off to that when we have more guidance later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we'd be overreaching here to specify in this that we have an organisational preference for single platform mobile apps over cross platform tooling - as I understand DI and GOV.UK both made the decision to go single platform based on individual project requirements.
I think it'd be better to just leave how someone would approach a cross platform app as undefined here as we've not yet established a pattern/preferred framework in the org - and maybe we never will? And then to amend the above sentence to be: "For developing native mobile apps, we use Swift for iOS and Kotlin for Android."
I imagine there could be a sentence or two to explain why Kotlin over an alternative like Java for native Android development and why Swift over Objective-C for native iOS - but it could be a little superfluous given how dominant both languages in the sphere. So as an alternative something that just says "These languages have been chosen as they are the common industry standard and vendor recommended languages to use for their respective platforms"
The Swift version is generally tied to the version of Xcode you're using. As long as the Xcode version supports the minimum targeted iOS version | ||
of your team's app, you can use the most recent version if desired. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
huh the suggestion tool disappeared from github, I must be doing something odd...
Consider putting this on one line
Closing this one, replacing it with #946 as that one has a clean start |
This expands on the programming languages used in GDS to include the mobile languages.
This is still in progress and will be updated as specific info is confirmed/discussed amongst the mobile teams