All Projects → twostraws → Unwrap

twostraws / Unwrap

Licence: other
Learn Swift interactively on your iPhone.

Programming Languages

swift
15916 projects
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to Unwrap

Pulley
A library to imitate the iOS 10 Maps UI.
Stars: ✭ 1,928 (-3.21%)
Mutual labels:  iphone, ipad, xcode
Apple Device Model List
All Apple devices model name list. 通过内部编号判断 iOS 设备型号。
Stars: ✭ 149 (-92.52%)
Mutual labels:  iphone, ipad, xcode
Blockparty
Ad Blocker App for iOS, macOS
Stars: ✭ 722 (-63.76%)
Mutual labels:  iphone, ipad, xcode
Device
Light weight tool for detecting the current device and screen size written in swift.
Stars: ✭ 1,503 (-24.55%)
Mutual labels:  iphone, ipad, xcode
Streetmusicmap
StreetMusicMap is a collab line up of street music performers from all over the world.
Stars: ✭ 13 (-99.35%)
Mutual labels:  iphone, xcode
Numericaltextentry
An iOS library for beautiful number entry fields. iPad friendly. Written in Swift.
Stars: ✭ 16 (-99.2%)
Mutual labels:  iphone, ipad
Responsivedevices.css
Responsive CSS Device frames for your landing pages
Stars: ✭ 59 (-97.04%)
Mutual labels:  iphone, ipad
Datepicker
A Date Picker with Calendar for iPhone and iPad Apps.
Stars: ✭ 103 (-94.83%)
Mutual labels:  iphone, ipad
Open Source Ios Apps
📱 Collaborative List of Open-Source iOS Apps
Stars: ✭ 28,826 (+1347.09%)
Mutual labels:  iphone, ipad
Gmimagepicker.xamarin
Port of the original GMImagePicker component to Xamarin.iOS
Stars: ✭ 65 (-96.74%)
Mutual labels:  iphone, ipad
Colorify
Colorify - simple, yet powerful color library.
Stars: ✭ 106 (-94.68%)
Mutual labels:  iphone, ipad
Chat Sdk Ios
Chat SDK iOS - Open Source Mobile Messenger
Stars: ✭ 813 (-59.19%)
Mutual labels:  iphone, ipad
Gravityslider
🔄 GravitySlider is a beautiful alternative to the standard UICollectionView flow layout.
Stars: ✭ 784 (-60.64%)
Mutual labels:  iphone, xcode
Otganttchartkit
OTGanttChartKit is gantt chart framework for iOS. This framework use easily like UITableView.
Stars: ✭ 38 (-98.09%)
Mutual labels:  iphone, ipad
A2hs.js
📲 A useful modern JavaScript solution that helps your website users to add (install) a progressive web application (PWA) to the Home Screen of their mobile iOS devices.
Stars: ✭ 113 (-94.33%)
Mutual labels:  iphone, ipad
Jotify
Sticky notes reimagined - written in Swift
Stars: ✭ 79 (-96.03%)
Mutual labels:  iphone, ipad
Canijailbreak.com
a website which tells you whether you can jailbreak your iOS device.
Stars: ✭ 112 (-94.38%)
Mutual labels:  iphone, ipad
Ioctocat
iOctocat v1 - GitHub for iOS (works on the iPhone, iPad, and iPod Touch)
Stars: ✭ 1,665 (-16.42%)
Mutual labels:  iphone, ipad
Wsprogresshud
This is a beauful hud view for iPhone & iPad
Stars: ✭ 588 (-70.48%)
Mutual labels:  iphone, ipad
Alsystemutilities
THIS REPO IS NO LONGER MAINTAINED! Check https://github.com/andrealufino/Luminous. This library provides a list of 80 methods to get every kind of system information!
Stars: ✭ 644 (-67.67%)
Mutual labels:  iphone, ipad

Unwrap logo

Twitter: @twostraws

Unwrap is an app that helps you learn Swift faster and more effectively.

At its core lies almost 100 video lessons that teach all the fundamentals of the Swift programming language, with each lesson backed up by an interactive review.

Once you’ve made some progress learning, you can dive into a selection of practice activities that make you write code by tapping, dragging, or typing, find errors, predict program output, and more. There are also daily challenges that test your overall language knowledge once per day, helping your new skills really sink in.

Unwrap app is available to download for free on the App Store. I’ve made the code available so that anyone who wants to can see how I structure my code and perhaps learn from it. If you’d like to help you’re most welcome to and there are many opportunities, but make sure you read the contribution guidelines first.

Trying it yourself

Unwrap is written using Xcode 10.2 and Swift 5.0. All the CocoaPods are checked in to this repository, so you should be able to clone this and build it immediately by opening Unwrap.xcworkspace.

As far as I know the app is feature complete, but there are likely to be errors all over the place at least to begin with – if you hit problems, either building or running the app, please let me know.

Contribution guide

Any help you can offer with this project is most welcome, and trust me: there are opportunities big and small, so that someone with only a few weeks of Swift experience can help.

However, before you start please read the LICENSE.md and CONTRIBUTING.md files. Although all the source code of Unwrap is available under the MIT license, the assets are not redistributable – please see the license for more detail.

If you’d like to help, here are some suggestions ordered from most easy to most difficult. I’ve added documentation to most if not all of the code, but there’s also a separate document in this repository called CONTRIBUTING.md that documents how the code is structured and how it works.

Easy

  1. Just try running the app and let me know if you hit any problems.
  2. I’ve written a huge amount of all-new content for this app, so if (and when!) you see any typos please correct them and open a PR.
  3. If you spot any redundant code, or code that repeats itself that can sensible be refactored not to repeat, you’re welcome to clean it up. Any unused code should be deleted rather than just commented out.
  4. If you can write (sensible!) solutions for Free Coding problems that aren’t currently accepted, please add them.
  5. If you see any Sixty Seconds chapters that don’t have a postscript (alert message shown between the chapter text and review), and you think there’s something important to add there, add it.
  6. Write new tests. It doesn’t matter how small they might seem, tests are always appreciated and won’t require you to modify any of the core code.

Intermediate

  1. If you find any bugs and can fix them, by all means do.
  2. If you spot any performance hotspots that can be resolved smoothly, go for it.
  3. All the practice activities have their data stored as JSON. I’ve tried to create samples of each of them, but it would be awesome to add more.
  4. Right now the app is available only in English. We could look at localizing all the text, but I have concerns partly because Swift continues to change and partly because the videos will get in the way. If you have suggestions, let me know!
  5. Did I already mention adding tests?

Advanced

  1. Although I’m pretty happy with the app’s architecture, it could always be improved – if you have suggestions, let me know!
  2. I’ve added the basics of theme support, but it’s not implemented or tested yet. This could be expanded to work everywhere, and new themes could be added.
  3. The storyboard started off small and grew far too big for its boots. This is particularly annoying because many screens are similar. Some of the UI is now built in code already. To resolve this we could switch to building even more UI in code, starting with a direct copy of the storyboard, then try to refactor it so that similar view controllers are created using shared code.

Again, please make sure you read the LICENSE.md and CONTRIBUTING.md files before you start just to avoid problems.

Credits

Unwrap was designed and built by Paul Hudson. Hacking with Swift, Swift in Sixty Seconds, Unwrap, and the Unwrap logo are all copyright © Paul Hudson 2019.

Unwrap is built using some third-party frameworks and fonts: DZNEmptyDataSet, Font Awesome, MKRingProgressView, QuickLayout, SDWebImage, Sourceful, Zephyr, and SwiftEntryKit. Their licenses are stored inside their respective Pods directories, and are repeated inside the app’s credits screen.

Swift, the Swift logo, Xcode, Instruments, Cocoa Touch, Touch ID, AirDrop, iBeacon, iPhone, iPad, Safari, App Store, watchOS, tvOS, Mac and macOS are trademarks of Apple Inc., registered in the U.S. and other countries.

Unwrap includes an iMessage sticker pack that incorporates a variety of logos from around the Swift community – these are used with permission, and we're grateful to each person or project for granting that permission:

If you liked Unwrap and want more like it, I have a whole website full of free Swift tutorials.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].