分享好友 编程语言首页 频道列表

Swift语言与Applescript的区别?AppleScript的发展状况?

其它  2015-07-12 20:360

本人为非开发人员(科研工作者),使用Mac,最近了解到Applescript对提高工作效率有很多帮助,希望学一下Applescript。不过最近10.10系统将发布,新的swift语言据说也能实现AppleScript的功能。我希望能了解Applescript最近的发展状况(Apple是否会逐渐淘汰这门语言),以及学习了swift是不是就不用学AppleScript了。希望高人解答,感谢大家

1、什么是applescript

AppleScript是用在MacOSX上的脚本语言,和操作系统结合的相当紧密,不过一般来说我也没兴趣学一门应用不太广泛的专属语言,但一来是项目需要,而且这个语言确实好用并且简单易学,就当消遣消遣好了。写好的脚本可以用NSTask很方便的执行,而脚本本身几乎什么都能做。

编辑器可以选择自带的Apple Script Editor就在应用程序的实用工具下面,应付是绝对够了,需要代码提示的话请把偏好设置中的“使用脚本助理”勾选,而代码提示的输入是用Esc键,当然你也可以选择Xcode,它也可以创建AppleScript文件,代码提示什么的也比较习惯,不过本着轻松的态度,我还是使用自带的。

打开AppleScript编辑器,面板很简单,左上角是四个主要按键,录制,停止,运行,编译。录制什么的我还没用过,停止自然不用说,编译其实也无所谓,因为你在点运行的时候会先编译的。中间是编码框,当然是用来输入脚本的,最下面是描述与系统日志的输出,不做录制的话一般我们只需要关心系统日志的结果就行了。

2、swift

Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来是的编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。

  Swift已经存在了多年。Apple基于已有的编译器、调试器、框架作为其基础架构。通过ARC(Automatic Reference Counting,自动引用计数)来简化内存管理。我们的框架栈则一直基于Cocoa。Objective-C进化支持了块、collection literal和模块,允许现代语言的框架无需深入即可使用。(by gashero)感谢这些基础工作,才使得可以在Apple软件开发中引入新的编程语言。

  Objective-C开发者会感到Swift的似曾相识。Swift采用了Objective-C的命名参数和动态对象模型。提供了对Cocoa框架和mix-and-match的互操作性。基于这些基础,Swift引入了很多新功能和结合面向过程和面向对象的功能。

  Swift对新的程序员也是友好的。他是工业级品质的系统编程语言,却又像脚本语言一样的友好。他支持playground,允许程序员实验一段Swift代码功能并立即看到结果,而无需麻烦的构建和运行一个应用。

  Swift集成了现代编程语言思想,以及Apple工程文化的智慧。编译器是按照性能优化的,而语言是为开发优化的,无需互相折中。(by gashero)可以从"Hello, world"开始学起并过渡到整个系统。所有这些使得Swift成为Apple软件开发者创新的源泉。

  Swift是编写iOS和OSX应用的梦幻方式,并且会持续推进新功能的引入。我们迫不及待的看到你用他来做点什么。

总结:

AppleScript 是给非开发者用的语言,语法接近自然语言。作为普通用户比较容易上手,相信苹果不会淘汰 AppleScript
如果只是想优化工作流提高效率,AppleScript 完全可以应付。Swift 作为新语言,语法还在调整,建议等上一段时间相对成熟后再学习。

查看更多关于【其它】的文章

展开全文
相关推荐
反对 0
举报 0
评论 0
图文资讯
热门推荐
优选好物
更多热点专题
更多推荐文章
swift 命令行工具初探
亲爱的同学们好,今天我们要介绍这么一个东西。相信有过解释型语言(PHP,Ruby,等)使用经验的同学会更加熟悉,就是 Swift 也为我们提供了命令行运行工具,俗称 REPL。好了,我们进入正题,在安装好 Swift 开发环境的机器上,打开命令行,输入 swift 命令,就进

0评论2023-03-16457

swift -懒加载创建view
 // 只有外界访问到headerView的时候才会去执行闭包, 然后将闭包的返回值赋值给headerView    // 注意: 一定要记住闭包后面需要写上(), 代表执行闭包    //懒加载创建UIView    lazy var headerView: UIView = {        let view = UIView()

0评论2023-02-09837

Swift--非常好用的适合局部的代码约束
// 哪个控件的哪个属性等于(大于、小于)另外一个控件的哪个属性乘以多少再加上多少 eg:let widthContraint = NSLayoutConstraint(item: messageLabel, attribute: NSLayoutAttribute.Width, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLa

0评论2023-02-09722

Swift -- 官方文档Swift-Guides的学习笔记
在经历的一段时间的郁闷之后,我发现感情都是虚伪的,只有代码是真实的(呸)因为看了swift语法之后依然不会用swift,然后我非常作死的跑去看官方文档,就是xcode里自带的help》documentation and API reference其中的swift里的guide这里主要总结一下里面每一

0评论2023-02-09486

Swift - 进度条(UIProgressView)的用法
 1,创建进度条1234var progressView=UIProgressView(progressViewStyle:UIProgressViewStyle.Default)progressView.center=self.view.centerprogressView.progress=0.5 //默认进度50%self.view.addSubview(progressView); 2,设置进度,同时有动画效果1p

0评论2023-02-09398

[Swift]LeetCode358. 按距离为k隔离重排字符串 $ Rearrange String k Distance Apart
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文

0评论2023-02-09394

swift 实现QQ好友列表功能
最近项目中有类似QQ好友列表功能,整理了一下,话不多说,直接上代码import UIKitclass QQFriend: NSObject {var name: String?var intro: String?init(dic: NSDictionary) {super.init()self.setValuesForKeys(dic as! [String : AnyObject])}}import UIKitc

0评论2023-02-09810

Swift - 界面的跳转模式
 iOS开发中界面跳转有两种方式,上下跳转和左右跳转。上下跳转_TO: let secondViewController = SecondViewController()  self.presentViewController(secondViewController, animated: true, completion: nil)   上下跳转_BACK:dismissViewC

0评论2023-02-09965

【Swift】Starscream 实现socket连接
import UIKitimport Starscreamclass ViewController: UIViewController,WebSocketDelegate {var socket: WebSocket!var isConnected = falselet server = WebSocketServer()var button1 : UIButton!var button2 : UIButton!override func viewDidLoad() {sup

0评论2023-02-09861

swift 添加rootViewController
   let rootV = ViewController()       let  rootNav  = UINavigationController.init(rootViewController: rootV)       self.window?.rootViewController=rootNav

0评论2023-02-09473

iOS8 蓝牙设备的重连接(retrieve) Swift实现
  今天App写到了蓝牙重连的阶段,以前针对sdk 6.0写的代码,蓝牙设备的回复是通过- (void)retrievePeripherals:(NSArray *)peripheralUUIDs然后回调 centralManager:didRetrievePeripherals:函数来得到可以回复设备的Array。在SDK7之后,- (void)retrievePe

0评论2023-02-09891

Swift - enumerateObjectsUsingBlock的用法
enumerateobjectsusingblock:不是Array的方法在NSArray使用。如果你想使用它,你需要一个实例NSArray而不是Array。import Foundationvar array: NSArray = ["Some", "strings", "in", "an", "array"]array.enumerateObjectsUsingBlock({ object, index

0评论2023-02-09442

更多推荐