阅读更多
苹果对于 Swift Server 端的发力让诸多服务端框架应运而生,而由位于加拿大多伦多的 PerfectlySoft Inc. 公司研发推出的 Swift 服务端开源框架 Perfect 自开源以来便颇受开发者们喜爱,比如来自去哪儿网的团队便基于 Perfect 完成了一套 RESTful API 的开发。今天,PerfectlySoft 总裁尚·史蒂芬斯为我们带来了关于 Perfect 的最新动作——PerfectlySoft 与 SCADE 协商,允许 Perfect 社区成员独家参与其 Swift 跨平台全栈 IDE 测试,并且 SCADE 实现了对 Perfect 的排他性集成。

SCADE 类似 Xcode 的图形界面集成开发工具,但是可以将 Swift 源代码直接编译为 Android 原生应用,实现了 Swift 从 iOS 到 Perfect 服务器端,再继续延伸到 Android 系统的跨平台突破,真正实现了 Swift 全栈。

对此,Perfect 工程师 Jonathan Guthrie 分享了他对于使用 SCADE 的一点心得,具体如下:

首先,使用 Perfect 搭建一个 Swift 服务器,内容包括了服务器、认证和网页管理工具:

其内容就是一个欢迎页面、数据库记录列表和详单,即基本操作之类。

随后开始安装 SCADE,当时手头的 MacBook 并没有任何 Android 开发工具,而是直接按照以下网站提供的手册进行安装。
https://scade.readme.io/docs/installation

在使用时并不会有太多阻力,因为其图形界面部分是基于 Eclipse。有一点不同的是,Xcode 使用“Storyboards”,但是 SCADE 更简单,直接基于页面对象即可,即创建一个页面然后直接关联到 Swift 文档类,真不错。

如上图,直接创建了一个带菜单条和标题栏的页面。

随后就可以将界面控件放到页面上,并可以将控件与页面导航直接结合进行编程(老先生品论说这可比 iOS 开发要更透明一些):
let btn1 = self.page.getWidgetByName("volunteersbtn") as! SCDWidgetsToolBarItem
btn1.onClick.append(
    SCDWidgetsEventHandler{
        _ in self.navigation.go(
            “volunteer.page”,     
            transition:”FORWARD_PUSH”
       )
    }
)

上面的程序非常清晰地描述了点击按钮后跳转到页面的过程,不过有一点要注意,SCADE 有自己的 API,但是学习起来并不麻烦,只要使用这些函数之后,SCADE 就自动将这些函数映射到 Android 或 iOS 的函数库里去,为程序员们节省了巨大的时间和精力。

随后可以使用 SCADE 提供的“services(数据服务)”,将刚刚编好的服务器 API 映射到正在开发的客户端程序中,非常简单:

然后点击 invoke 激活与服务器的链接,系统会自动获取 API 返回的 JSON 数据,这样就可以进行映射了:

// 设置一个数组做容器
dynamic var presenters : [Presenter] = []
// 在客户端读取服务器 API 数据
let svc: presenterService = 
        SCDRuntime.loadService(“presenterService.service”)!
let presenterResponse = svc.getPresenters()
if let prs = presenterResponse?.presenters {
    self.setupList(prs)
}
// 将数据列表追加到客户端的容器中
func setupList(_ presenters: [Presenters]) {
    for presenter in presenters {
        self.presenters.append(
            Presenter(
                 id: presenter.id, 
                 firstname: presenter.firstname, 
                 lastname: presenter.lastname,
                 photo: presenter.photo,
                 company: presenter.company,
                 companylogo: presenter.companylogo,
                 twitter: presenter.twitter,
                 linkedin: presenter.linkedin
                 bio: presenter.bio
            )
        )
    }
}

随后进入 SCADE 的页面可视化设计部分,将控件与数据类对象用鼠标进行关联和绑定,和 XCode 的拖拽关联做法差不多:

唯一需要注意的是如果要加载远程图片对象,则应该用二进制数组方式读取链接,然后在程序中使用这个变量即可。全都准备好之后,就可以在 Android 上跑跑看了:

随后 SCADE 调用 Swift 编译工具,同步生成 iOS 和 Android 客户端,首次编译大约一分半钟:

生成的客户端效果如下:

  • 大小: 72.4 KB
  • 大小: 72.8 KB
  • 大小: 31.4 KB
  • 大小: 19 KB
  • 大小: 45.7 KB
  • 大小: 177.8 KB
  • 大小: 149.8 KB
  • 大小: 18.2 KB
  • 大小: 58.9 KB
  • 大小: 130.2 KB
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 以 Swift 作为服务器的软件框架功能对比(节选)

    Benefits of the Top Server-Side Swift Frameworks 作者:Ryan Collins 译者:Rocky Wei 【CSDN 有奖征稿啦】技术之路,共同进步,欢迎投稿、给文章纠错,请发送邮件至mobilehub@csdn.net,或加微信 tree-...

  • fir.im Weekly - 如何愉悦地进行持续集成

    本期 fir.im Weekly 收录了关于 Android、iOS 持续集成的最新实践分享,也有一些开发工具、源码和 UI 动画的分享。iOS搭建CI持续集成环境@大慈大悲大熊猫 写的这篇文章总结了自己在 iOS 下的自动化打包,搭建可持续...

  • 世界顶级音效公司_世界顶级游戏开发公司

    ZeptoLab成立于2010年,是一家俄罗斯视频游戏开发商,以开发Cut the Rope系列而闻名,该系列自发布以来已下载超过4亿次,可在Android,iOS,Windows Phone,HTML5 Internet等主要平台上播放浏览器,OS X,Nintendo ...

  • 2020年用于Web应用程序开发的十大Node js框架21

    This is true that the market is rapidly growing with emerging technologies and advanced ... Different types of mobile apps are coded using multiple programming languages such as Android apps are...

  • java web开发初学_2018年学习Web开发的绝对初学者指南

    java web开发初学This post was originally published on Coder-Coder.com. 该帖子最初发布在Coder-Coder.com上 。 If you’re a beginner coder, this guide is for you! 如果您是初学者,那么本指南适合您! ...

  • 使用Wisej将Windows桌面应用程序迁移到Web

    考虑为其项目使用全栈开发工具的开发人员将有机会利用Wisej提供的可伸缩性,灵活性和安全性。 案例研究:业务线应用程序面临的挑战 (Case Study: Challenges with Line-of-Business Applications) Today’s world ...

  • 移动终端安全 顶级会议_顶级移动应用开发公司

    服务项目:产品策略,原型和概念开发,产品设计,iOS应用开发,Android应用开发,Web应用开发,Bot和会话界面开发,交互式电视开发,Xamarin开发,SAP开发,质量保证和测试,移动后端工程,安全与合规性,应用分析...

  • Stack Overflow Developer Survey 2016 Results(2016stack overflow 开发者调查报告)

    主管们相比其他开发职业能更轻易使用更多的语言和框架,这大概是由于他们经验比较丰富。 There are roughly just as many developers who call themselves Mobile Developers as there are Android Mobile ...

  • CSDN博客专家证书发放名单(已暂停)

    图像分类领域博主 Octopus21 ZWZhangYu ZWZhangYu的博客_CSDN博客-分布式和微服务理论与实践,数据库,开发工具和组件领域博主 shanglianlm mingo_敏 https://blog.csdn.net/shanglianlm qq_36478920 Swift社区 ...

  • ios 优秀的三方块总结

    (LeeGo 是一个Swift框架,旨在带来更 声明式的,可配置的和易复用的UI开发方式,让UI开发变得像玩乐高积木一样简单直观,某种程度上取代ComponentKit) 网络请求Network AFNetworking (不解释了...都懂) Alamofire ...

  • 我扑在书上就像饥饿的人扑在_扑向下一件大事

    它使我们能够使用单个代码库针对台式机,移动设备和Web进行开发。 它还允许您使用Flutter的小部件,图层和交互式资产创建漂亮的UI。 Flutter Web, one of the most hyped features of Flutter implies that it has ...

  • CSDN日报20170621——《开发者,只有被裁,没有退休》

    本源代码展示了如何在服务器端使用 Perfect TensorFlow 开发 Swift 应用,并实现人工 智能 图像识别的网络服务。 点击阅读全文 Android | 带你解锁蓝牙 skill 作者: fanfan_story ...

  • 下载的资源,下载后解压

    python->exe

  • 前段web开发实战-哪吒2哪吒闹海网站(超酷哪吒主题网页,HTML+CSS 带你畅游)

    宝子们,快来看看这个超炫的哪吒主题网页!用 HTML 和 CSS 精心打造,有酷炫的头部导航、精彩的横幅内容,还有各种哪吒相关人物介绍和超燃票房海报。代码简单易懂,非常适合前端小白学习,一起动手搭建属于自己的哪吒世界吧!

  • Java毕业设计-SpringBoot+Vue的家乡特色推荐系统(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

  • 2023年专升本计算机复习题.pdf

    2023年专升本计算机复习题.pdf

  • 基于SSM+JSP的班级同学录网站+数据库(Java毕业设计,包括源码,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:jsp 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

  • 【工程项目】MATLAB虫害监测(带识别率).zip

    【工程项目】MATLAB虫害监测(带识别率)

  • 金刚石化学机械抛光(CMP)中层状双氢氧化物催化作用研究及应用

    内容概要:本文详细研究了金刚石(Single Crystal Diamond, SCD)化学机械抛光(CMP)过程中,抛光浆料的组成成分对其表面质量的影响。通过对浆料的化学成分(氧化剂种类及浓度、催化剂种类)及机械因素(磨料粒径)进行系统性探索,研究揭示了氧化剂、磨料和催化剂之间复杂的相互作用关系。重点介绍了层状双氢氧化物(Layered Double Hydroxides, LDH)的应用和芬顿反应机理,探讨其对提高抛光效果的独特贡献,特别是表面粗糙度和质量的提升。实验中通过一系列对照测试比较不同浆料配置对抛光结果的不同影响,得出了具体的最优配置参数,实现了Ra约为0.109 nm的原子级平整表面。 适合人群:从事CMP工艺研究的专业人士、材料科学及物理学相关背景研究人员和技术人员、关注高端材料制备与处理的企业研发人员。 使用场景及目标:适用于需要深入了解CMP技术细节及应用的科学研究项目;针对希望提升超硬材料如金刚石表面加工品质的实际工业生产环境。本研究所建立的最佳浆料配比及相应抛光参数对实现高效能CMP处理流程有着重要的指导意义,尤其有助于优化半导体器件制造和其他高精度要求的技术

Global site tag (gtag.js) - Google Analytics