This gist's comment stream is a collection of webdev apps for OS X. Feel free to add links to apps you like, just make sure you add some context to what it does — either from the creator's website or your own thoughts.
— Erik
#Intro
Kotlin is a new programming language for the JVM. It produces Java bytecode, supports Android and generates JavaScript. The latest version of the language is Kotlin M5.3
Kotlin project website is at kotlin.jetbrains.org.
All the codes here can be copied and run on Kotlin online editor.
Let's get started.
//iOS 7 스토리보드 대신 xib 방식으로 개발하기 | |
//solution 1 | |
1. empty application 생성 | |
2. new class file 생성 -> name : ViewController, UIViewController sub class, with XIB check | |
3. appdelegate 헤더 파일 수정 | |
@class ViewController; | |
@property (strong, nonatomic) ViewController *viewController; | |
4. appdelegate m 파일 수정 |
import UIKit | |
import Foundation | |
import XCPlayground | |
XCPSetExecutionShouldContinueIndefinitely() | |
class RemoteAPI { | |
func getData(completionHandler: ((NSArray!, NSError!) -> Void)!) -> Void { | |
let url: NSURL = NSURL(string: "http://itunes.apple.com/search?term=Turistforeningen&media=software") | |
let ses = NSURLSession.sharedSession() |
Step 1: Enable capabilities "background fetch" | |
Step2 : Setup AppDelegate.swift | |
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { | |
let settings = UIUserNotificationSettings(forTypes: UIUserNotificationType.Alert, categories: nil) | |
UIApplication.sharedApplication().registerUserNotificationSettings(settings) | |
UIApplication.sharedApplication().setMinimumBackgroundFetchInterval(UIApplicationBackgroundFetchIntervalMinimum) | |
return true; |
// | |
// LocationService.swift | |
// | |
// | |
// Created by Anak Mirasing on 5/18/2558 BE. | |
// | |
// | |
import Foundation | |
import CoreLocation |
// derived from https://www.veasoftware.com/posts/uipageviewcontroller-in-swift-xcode-62-ios-82-tutorial | |
import UIKit | |
@UIApplicationMain | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
var window: UIWindow? | |
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { | |
window = UIWindow(frame: UIScreen.mainScreen().bounds) | |
window!.rootViewController = ViewController() |
// | |
// CoreGraphics+AspectRatio.swift | |
// EmptySpriteKitGame | |
// | |
// Created by Jamie Kosoy on 11/6/15. | |
// Copyright © 2015 Arbitrary. All rights reserved. | |
// | |
import UIKit | |
import Foundation |
// workaround for Swift compiler bug, cheers compiler team :) | |
func castOptionalOrFatalError<T>(value: AnyObject?) -> T? { | |
if value == nil { | |
return nil | |
} | |
let v: T = castOrFatalError(value) | |
return v | |
} | |
func castOrThrow<T>(resultType: T.Type, _ object: AnyObject) throws -> T { | |
guard let returnValue = object as? T else { |