Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Native macOS application, or the world of AppKit
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
1024jp
March 21, 2019
Technology
10k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Native macOS application, or the world of AppKit
presentation slides for "try! Swift Tokyo 2019"
video:
https://youtu.be/lSiwCAQVKQk
1024jp
March 21, 2019
More Decks by 1024jp
See All by 1024jp
What's new in AppKit on macOS 26
1024jp
0
480
Outline View in SwiftUI
1024jp
1
1.6k
OSSのアプリケーションを開発「し続ける」ための哲学 / Philosophy to continue developing OSS application
1024jp
8
3.6k
TextKitでのシンタックスハイライト高速化 / Optimize Syntax Highlight with TextKit
1024jp
7
3.2k
家の明るさ制御 / Brightness Control in My House
1024jp
0
990
Big Surからの四角いアイコン / Rounded Rectangle Icons since Big Sur
1024jp
5
2.3k
NSTextView とは何なのか / What is NSTextView
1024jp
6
3.8k
GNUstepとCocotron / GNUstep and Cocotron
1024jp
2
2.2k
環境設定の作法 / Manners of Preferences Window on macOS
1024jp
3
2.5k
Other Decks in Technology
See All in Technology
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Service Connect 上のサービスに ECS Service の外側から到達できなかった話
ota1022
1
120
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
3
420
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
370
Data Hubグループ 紹介資料
sansan33
PRO
0
3.1k
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
210
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
250
SnowflakeCoCoでデータエンジニアリング!
foursue
0
170
toio・myCobotでフィジカルAIっぽいことを行うための検討(とりあえず調査) / フィジカルAI LT(IoTLTによる開催)
you
PRO
0
280
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
200
AIエージェントの知識表現と推論に なぜグラフが使われるのか - 記号的AIの復権とニューラルAIとの統合
yohei1126
1
280
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
190
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
330
Producing Creativity
orderedlist
PRO
348
40k
Documentation Writing (for coders)
carmenintech
77
5.4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
790
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
A better future with KSS
kneath
240
18k
Transcript
title: presenter: place: date: Native macOS application, or the world
of AppKit try! Swift 2019 2019-03-21 1024jp ʢnative macOS applicationɺ·ͨAppKitͷੈքʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Who’s 1024jp ? academic researcher in real life Dr. 1024jp
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Who’s 1024jp ? CotEditor Gapplin Qli application work plain-text editor SVG viewer movie player macOS meet-up hobby macOS developer/designer @1024jp icon work (academic researcher in real life)
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp CotEditor lightweight plain-text editor written in pure Swift + Cocoa github.com/coteditor
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp CotEditor Seriously, I tried hundreds of different text editors, I'm extremely picky and I couldn't believe I found this one. Tons of features and customization options, but also straight to the point and really fast. Excellent code formatting, excellent native, minimal UI. No useless extra features or weird themes. It launches instantly on any machine. I use CotEditor every single day for every text related task, and it's all I need. #1 text editor for Mac Nov 10, 2018 | Italy ˒˒˒˒˒ I was looking for another really light-weight multipurpose editor with proper syntax highlighting that was Cocoa native. This will finally replace Smultron which I loved until the developer thought he was a designer and fubar'd the UI. Particularly love being able to customise line height, because this is too often forgotten, Kudos for this app. Finally, another lightweight and simple editor Jul 14, 2017 | Japan ˒˒˒˒˒ This is the one what I'm looking for whole this time. I was looking for simple text editor with mac os interface elements and some basic features. I gave up searching. I decided to develop one on my own. And, I almost start to develop. Then, I found this app. It's saves my time. My request: Only I missing is project file directory as sidebar. This is the One Dec 1, 2018 | Sri Lanka ˒˒˒˒˒ Great code editor! /* Please add a left Sidebar */ Simple, Powerful, and True to macOS UI Feb 1, 2019 | United States ˒˒˒˒˒ 4.7 out of 5 346 37 11 4 8 ˒˒˒˒˒ ˒˒˒˒ ˒˒˒ ˒˒ ˒
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Survey ʢௐࠪʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Survey | Q1 Experienced developing a macOS app using AppKit ʢAppKitΛͬͨmacOSΞϓϦέʔγϣϯͷ։ൃܦݧ͕͋Δʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Survey | Q2 Develop macOS apps still actively ʢࠓͰ׆ൃʹmacOSΞϓϦέʔγϣϯΛ։ൃ͍ͯ͠Δʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Survey | Q3 Code Swift mainly on Mac ʢීஈMacͰSwiftΛॻ͍͍ͯΔʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Subject of this talk developing native macOS application ① ②
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp What’s a native macOS application? programming language Swift / Obj-C framework Cocoa UI design macOS Human Interface Guidelines ? ? ? ʢϓϩάϥϜݴޠʣ ʢϑϨʔϜϫʔΫʣ ʢϢʔβΠϯλʔϑΣΠεઃܭʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp “an application that is designed for macOS” “Native” native | ˈneɪtɪv | 1 associated with the place or circumstances of a person's birth: … 2 (of a plant or animal) of indigenous origin or growth: … 3 (of a quality) belonging to a person's character from birth; innate: … 4 (of a metal or other mineral) found in a pure or uncombined state. 5 Computing designed for or built into a given system, especially denoting the language associated with a given processor, computer, or compiler, and programs written in it. (特定のシステムに向けて 設計もしくはビルドされた) Oxford Dictionary of English ʢmacOSͷͨΊʹઃܭ͞ΕͨΞϓϦέʔγϣϯʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp “Native” ab$#inu@ moof! non-native language ʢඇωΠςΟϒͳݴޠʣ ? what want to say ʢݴ͍͍ͨ͜ͱʣ listener ʢฉ͖खʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Importance of native in macOS applications
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Application’s domain in display macOS app iOS app control the entire display. ʢը໘ͯ͢Λࢧʣ control only a part of the display. ʢը໘Ұ෦ͷΈࢧʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Window to content content ʢຊ࣭ʣ window ʢΠϯυ=૭ʣ user ʢϢʔβʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp application content application content Window to content macOS app iOS app frame = device ʢʹσόΠεʣ frame = window ʢʹΠϯυʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp CotEditor File Edit Format View Text Find Window Help Physical objects in macOS Moof!
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp System features among applications App A App B App C App A App A
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Titlebar Example highlight toolbar button document icon titlebar standard titlebar ʢඪ४తͳλΠτϧόʔʣ cross section ʢஅ໘ʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Titlebar Example modern? titlebar ʢϞμϯͳʁλΠτϧόʔʣ index.html
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Titlebar Example
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Titlebar Example modern? titlebar ʢϞμϯͳʁλΠτϧόʔʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Integrate into platform culture
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Developer’s ego aim application user ʢϢʔβʣ ʢΞϓϦέʔγϣϯʣ ʢతʣ developer ʢ։ൃऀʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Skill-set for GUI application development ʢίʔσΟϯάʣ ʢ͓ֆ͔͖ʣ ʢઃܭʣ Designing Coding Drawing Aesthetic work – Creating visual components – Determining color scheme – … Programming work – Implementing features – Performance optimization – … Planning work – Shaping the future direction of apps – Designing UI/UX – …
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Tools for native macOS application AppKit’s APIs
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Tools for native macOS application AppKit’s APIs macOS HIG +
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp How about Marzipan? “iOS-style Mac app is just a good-looking Electron” ʢiOS෩ͷMac AppͨͩͷΩϨΠͳElectronͰ͔͠ͳ͍ʣ
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp AppKit is not dead
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp A good application should… be transparent, be native.
try! Swift 2019 Native macOS application, or the world of
AppKit © 2019 1024jp Thank you.