用 20+ 行 JavaScript 代码,短暂“变身” iOS 程序员!
摘要:你有没有尝试过在 iOS 中创建小部件,感受一把身为 iOS 程序员的快乐?本文作者将用二十几行 JavaScript 代码教你构建一个 iOS 小部件,据他所说,这“一点都不难”。
原文链接:https://stackonfire.com/feel-yourself-ios-developer-with-20-lines-of-javascript
声明:本文为 CSDN 翻译,未经授权,禁止转载。
作者 | Dimitri Ivashchuk
在这篇入门指南中,我们将构建如下软件,实际所需编写的 JavaScript 代码非常少。
这个软件的创意来源有两个:
1.有人使用这个小部件来显示收入。
2.频繁检查 GitHub 代码库的星星数量很麻烦。
我发现,构建 iOS 小部件一点都不难,只要有合适的工具,再加上非常基础的 JavaScript 知识即可!
项目简介
这个项目是一个 iOS 小部件,用来显示 GitHub 代码库的星星数量。这里我通过自己的一个开源项目为例进行说明。我们将采用 Scriptable,这个工具可以通过 JavaScript 生成漂亮的小部件,就像上图一样。
代码
// Request
// Nothing special here, just an async request function GitHub open API
async function getGithubData() {
const url = "https://api.github.com/repos/lost-pixel/lost-pixel";
const request = new Request(url);
const response = await request.loadJSON();
return response;
}
//UI
// Function that defines the element of the widget
async function createWidget() {
// Fetching data with the function we prepared before
const githubData = await getGithubData();
// Create new wdiget & set black background color
let listwidget = new ListWidget();
listwidget.backgroundColor = new Color("#000000");
// Create heading and style it properly
let heading = listwidget.addText("⭐ Lost Pixel ⭐");
heading.centerAlignText();
heading.font = Font.lightSystemFont(25);
heading.textColor = new Color("#fff");
// Add spacer between elements
listwidget.addSpacer(15);
// Create the stars display and style it properly. We use the data from API here
let stars = listwidget.addText(githubData.stargazers_count);
stars.centerAlignText();
stars.font = Font.semiboldSystemFont(20);
stars.textColor = new Color("#ffffff");
return listWidget;
}
// Execute createWidget function that returns us the widget
let widget = await createWidget();
// Show the widget when added to IOS homescreen
if (config.runsInWidget) {
Script.setWidget(widget);
} else {
widget.presentMedium();
}
// finish the execution of the script
Script.complete();
显示小部件
1.在 iOS 设备上安装 Scriptable for iOS;
2.点击 + 按钮创建一个新的脚本。
3. 将上面的代码粘贴到空白输入处。
4. 保存,这样就完成了!
5. 最后一步,只需将这个小部件添加到主屏幕即可:通过 Scriptable 小部件,将刚刚建好的小部件添加到主屏幕。
好了,恭喜你完成了!
☞Node 之父斥责 Oracle:你们也不用,那请交出 JavaScript 商标! ☞苹果往事:“我们必须制造 iPhone,它一定会终结 iPod” ☞JavaScript 后端开发者必须跨的 10 道门槛!
-
JavaScript 未必是最优选,下一代浏览器语言会是什么样?
【CSDN 编者按】提及前端,JavaScript 是一门避不开的编程语言。不过在浏览器领域,本文作者认为直接使用 JavaScript 未必是最佳选择,同时在开发过程中,使用编译为 WebAssem
-
SegmentFault 思否技术周刊 — 如何有效地学习 JavaScript ?
本期技术周刊一起了解 Javascript,欢迎大家阅读 ~文章推荐手写一个同步服务端时间的小工具 作者:jump__jump在前端开发的过程中,开发者经常会用到 new Date() 来获取当前时间
-
社区精选|深入剖析 JavaScript 闭包
今天小编为大家带来的是社区作者 程序员海军 的文章,让我们一起来深入剖析 JavaScript 闭包导读目录什么是闭包闭包的特性闭包的优缺点闭包的作用闭包的注意点什么是闭包?一个函数和对其周围状态的引
关注公众号:拾黑(shiheibook)了解更多
赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 告别版本混乱,Teams 让工作事半功倍
- 千亿满帮:空有巨头名,没有巨头命
- 从22%到9%,LightCounting下调以太网光模块市场增长预期
- 【有料视频】又细又长的表格怎么打印在一张纸上?
- 全球数字经济大会|中国信科陈山枝:5G赋能数字化转型,激发行业新动能
- 烽火通信联合中国移动、中国联通制定的首个“类人网网络架构和实现”国际标准正式发布
- 市值一夜蒸发800多亿,耐克为啥不香了?
- 美国联邦通信委员会表示,替换中企设备资金不足
- 有用,但这是什么原理?
- 新款 MacBook Pro 很强,但它的大刘海让人越来越怀念乔布斯了
- 8.6-8,历经半年筹备,首次Apache亚洲大会正式上演
- 华为“Digital GTS”变革:以平台战略积极拥抱数字化转型