
http://djyde.github.io/WebShell/
有很多时候我希望一个常用的 web app 是一个 native app 而不是一个 browser tab. 所以我学了一下 swift 和 cocoa ,想把自己常用的一些 web app 做成 native app 。这个 native app 仅仅是一个包含 WebView 的窗口就够了。
结果我发现每个 app 都这样做很费时间,所以我决定写一个基础的 seed project ——把基本的逻辑都写好,这样做一个新的 app 的时候只需要 clone 一下这个 seed project 然后改个 url 就完成了。
于是就有了 WebShell ,你只需要在 ViewController.swift 里改一些 configurations ,改个 icon ,立即就能把 web app 当成 native app 来跑,然后用 xcode archive 一个 .app 包就能使用。
比如说你现在只需要 $ git clone [email protected]:djyde/WebShell.git APP_NAME 就能建立一个 app project 跑起来。
这个是用 WebShell build 的 StackEdit (一个 markdown editor):

这个是 JS Bin

|  |      1djyde OP 另外求懂 osx 开发的朋友帮忙 fix 一下 issue 的问题 😂 | 
|  |      2oott123      2015-12-21 16:24:00 +08:00 via Android 相比 electron 和 nw.js 有什么优势呢? | 
|  |      3djyde OP @oott123 electron 和 nw.js 包装了整个 node.js runtime, 而 WebShell 仅仅是一个 WebView 。做的事情不一样,没法比较 | 
|  |      4oott123      2015-12-21 16:43:49 +08:00 via Android  1 _(:з」∠)_也就是说你是它的子集咯。 其实我就是看楼主冷场了来凑个热闹,并没有 Mac OS 设备。( | 
|  |      5oott123      2015-12-21 16:45:42 +08:00 via Android (对了,在 Windows 上这个叫 hta | 
|  |      6chemzqm      2015-12-21 16:48:11 +08:00 这个搞起来简单啊,但是应该不能跨平台 | 
|  |      7little_cup      2015-12-21 16:50:23 +08:00 以前拿 MacGap 打包试过,不过不会 OS X 开发,支持楼主! 希望可以自定义 UA ,和可以支持改变状态栏颜色,直接在配置中指定或者读取 Chrome theme-color 都好。 | 
|  |      8ericshine      2015-12-21 16:54:08 +08:00 解决了极大痛点 | 
|  |      9djyde OP @little_cup 可以提个 issue | 
|      10v1024      2015-12-21 18:48:13 +08:00 via iPhone 支持推送消息到通知中心吗?支持自定义 logo 吗? cookie 和 localstorage 如何处理的? | 
|  |      11djyde OP @v1024 notification 还在做, cookie 和 localstorage 和浏览器一样。 icon 是在 xcode 里自己 drag 进去的 | 
|  |      12kendetrics      2015-12-21 20:41:13 +08:00 槽我一直想要个 StackEdit 的客户端 好评如潮 | 
|  |      13l0wkey      2015-12-21 20:52:35 +08:00 是否可以自定义引入文件, 如 js , css | 
|      14poke707      2015-12-21 20:53:44 +08:00 via Android Logo 不错 | 
|  |      17TangMonk      2015-12-21 21:17:54 +08:00 not work on 10.10 | 
|  |      19ericshine      2015-12-21 23:30:37 +08:00 应该也可以试试在 iOS 上做同样的事情。 | 
|  |      20sox      2015-12-21 23:33:18 +08:00 我用 MacGap 写了一句 `location.href = 'xxx'` 感觉差不多。。 | 
|  |      21ETiV      2015-12-21 23:37:19 +08:00 via iPhone 这个世界怎么了…… 光是 WebView 怎么能说是 native app …… | 
|  |      24canautumn      2015-12-22 00:20:22 +08:00 很多年前有一个叫 Fluid 的 App 可以实现类似功能,还支持 Badge Icon 之类的。 | 
|  |      25Citrus      2015-12-22 00:29:01 +08:00 via iPhone  3 建议楼主了解一下 WebShell 这个词的意思。。。看得我好蛋疼。。。 | 
|  |      26pynix      2015-12-22 06:17:27 +08:00 cordova | 
|  |      27Wao      2015-12-22 08:27:21 +08:00 有计划加入对本地离线资源的支持吗? 想自己打包个本地下载好的 YAAW | 
|  |      30g0thic      2015-12-22 09:32:44 +08:00 WebShell  。。。。难道是我以前理解的 webshell 有问题 | 
|  |      31MrX      2015-12-22 10:00:18 +08:00  1 | 
|  |      32AWSAM      2015-12-22 10:03:06 +08:00 要是能支持配置 socks5 代理就好了 | 
|  |      35panlilu      2015-12-22 10:15:46 +08:00 这名字的确让人误解。。。 webshell | 
|      38YuJianrong      2015-12-22 15:49:54 +08:00 我想了想是不是 chrome 的 app 就是做这件事情的…… | 
|  |      39djyde OP @YuJianrong 是 | 
|  |      40hst001      2015-12-23 14:24:27 +08:00 我没记错,一行命令就可以了 chrome --app=http://xxxx | 
|  |      42jaminzzhang      2015-12-26 21:21:45 +08:00 非常 cool 的东西,厉害。 |