RFC: making Swift.org a more valuable resource for the Swift community

Code examples with up-to-date APIs. That is the biggest problem with StackOverflow. You kinda have to assume the APIs are outdated but the underlying idea is accurate.

5 Likes

In a different thread, Ben mentioned compiling a collection of algorithms that are desirable additions to Swift, but still need discussions and proposals to work out the details. Creating and promoting this list on swift.org could help encourage a lower sugar/higher protein evolution diet :)

3 Likes

First thing I can think of is a documentation section. Hopefully something better organised than what we currently have on the developer website (Apple Developer Documentation). I'm thinking something more like https://swiftdoc.org, but less automatic and more manually crafted.
I just saw that the excellent language guide made it to swift.org (The Basics — The Swift Programming Language (Swift 5.7)), although it could be more prominently featured and misses and advanced section (mostly regarding generics).

2 Likes

"Why Swift for X" documents, similar to Why Swift For Tensorflow.
As we try to push adoption of Swift into new domains (systems programming, backend development) it would be nice to have some robust arguments for why you would use Swift in those domains, as well as highlighting some of the tradeoffs and why they are good tradeoffs or how they may be addressed by future Swift features. Finally, having some callouts like "here is a company building a sophisticated web application with Swift" would also be helpful.

9 Likes

@tkremenek! Swift is a great language, and I'm loving it!

  1. More articles about the internals, reasons why, or updates to the language:

    1. Dictionary and Set Improvements in Swift 4.0 @nnnnnnnn
    2. Objective-C id as Swift Any
    3. The Swift Evolution proposals are sometimes a bit dense, and a more beginner friendly article on a change, why it matters, how it helps move the language forward would be nice.
  2. There's a disconnect with the Swift Blog from the developer site. No updates since Oct 12th 2016.

    1. Accessed from: Swift - Apple Developer
  3. Swift Evolution dashboard should definitely be linked!

  4. Can you feature community educational content?

    1. I want to create more training resources for Swift, so featuring community content would be nice.
    2. The hardest part is that you keep changing the tools, UI, and language which makes it hard to do videos + articles.
  5. One big challenge on StackOverflow is that there's so much content for Swift 1, 2, 3, 4, and Objective-C, so for beginners it's really hard to know what code is up-to-date. Most of it isn't, so it's this dance you have to play when you're trying to get code to work.

Semi-related: Apple Documentation

  1. I find the new Swift documentation confusing with all the clicking I have to do.
    1. Compared to the guides which I could read linearly, now I have to drill in and out of the documentation to figure out how to do something
  2. Search on developer.apple.com is bad, it's easier for me to find things searching Google

Thanks!

3 Likes

As a newcomer, I totally agree with this point. A paths of gradually deepening into subject links - to documentation and tutorials, maybe divided into topics, but finally wrapping it all as a whole - would be a great help getting into Swift and the infrastructure. In other words, it would be cool to have one starting point, then diverging paths showing how to act in Swift World, finally getting into one point again, saying something like: "Congrats, now you're prepared to live in this world" :smile:

3 Likes

Idea: Start with a focus on things that help people to contribute.

1 Like

Thank you very much for opening this question up for community feedback. I think that documentation, sample code, and getting started tutorials would be a valuable addition to Swift.org. I think this would help new developers get started and expose them to the wider ecosystem that Swift encompasses outside of just iOS development.

Thank you for everyone's terrific feedback here. I need to sort through these and incorporate them into an aggregate plan, but this input has been immensely helpful.

10 Likes

I've been making an online Swift playground long before IBM Swift Sandbox. I name it WebSwift, you may try it here. Well, its look isn't as fancy as IBM's, but it works and it accepts input. Just updated it to Swift v.4.1.3 a few days ago.

About the swift.org site, here's my suggestions


  • Official swift online playground that is written in Swift too, at least the backend part.
  • Better "Get Started" section to help new comers (like me) but don't too focus only on XCode and iOS. Please, also add support for Linux and MacOS users as well.
  • Better documentation, obviously. But please add more examples and working demoes.
  • Project gallery as show case for great third party projects that are written in Swift.
  • Community contributed wiki pages. It has to be moderated to make sure each page has correct and updated informations.

I think that's enough for now.

4 Likes

And that's definitely great! Is the kind of thing that the community should do without waiting for an official answer. :smiley:

That said, my hopes is that having an official Swift Online Playground we could see more contributions from the community and maybe even a hook into the CI to be able to try snapshots online, or even builds from a pending PR to be able to offer better feedback in an evolution proposal.

2 Likes

I really like the spirit behind the events section idea. I love the idea of being able to make Swift.org a place for swift users to organize to meet in the real world.

2 Likes

+1 for item 1

Kotlin is moving super fast and now includes an online playground:
https://play.kotlinlang.org

I think this would be very valuable for swift to do the same.

5 Likes

http://online.swiftplayground.run/

1 Like

Now that the Swift for TensorFlow team has developed a Jupyter kernel for Swift, an official Swift web playground could be based on that instead of being a basic compile-and-run interface.

You can try an example in Binder using the iSwift Jupyter kernel.

8 Likes

I'm think that idea wasn't mentioned yet:

When releasing new versions of Swift there is only a summary of new features in the language measured by the 'implemented' proposals. However I would really appreciate if there was a list of other improvements, fixes and even silent new features (e.g. @Slava_Pestov added support for CRTP for pure Swift which will be available in Swift 5).

7 Likes

Probably not the right scope, but I would appreciate it if all the javascript click-tracking (?) junk was removed from the blog posts so that command-clicking links would actually open them in a new tab. Try command-clicking the “ReflectionMirror.swift” link on this post, for example.

<a href="https://github.com/apple/swift/blob/master/stdlib/public/core/ReflectionMirror.swift"
  onclick="s_objectID=&quot;https://github.com/apple/swift/blob/master/stdlib/public/core/ReflectionMirror.swift_1&quot;;return this.s_oc?this.s_oc(e):true">
  <code class="highlighter-rouge">ReflectionMirror.swift</code>
</a>

I now notice that command-clicking doesn't work on the main swift.org page either, for the same reason.

9 Likes

I don’t know, if it’s related to the topic, but it would be really nice to have a swift forum app, like for example the stackoverflow app. On a phone it’s much nicer to use an app than the website.

1 Like

There is a Discourse app for iOS.