阅读更多
苹果对于 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 ...

  • C++ 实现新年倒计时与烟花显示效果的图形界面程序

    内容概要:该文档介绍了一个用C++编写的控制台应用程序,主要功能是在新年来临之际展示倒计时、播放音符以及渲染烟花效果,最终以艺术字体显示新年祝福语。具体实现了粒子系统来模拟烟花绽放,并定义了不同形状(如“2025”)由小点组成的图像,再逐帧更新显示,营造烟火燃放的视觉冲击力。此外还有通过 Beep 函数发出不同频率的声音以配合倒计时刻度,同时加入了输入姓名和许愿的功能增加互动感。 适用人群:熟悉C/C++语言基础的学生群体及开发者。 使用场景及目标:适用于希望通过生动有趣的小项目加深对控制台操作的理解的学习者;也可以作为一个简单有趣的案例用于节日庆祝活动中。 其他说明:由于使用了许多特定于 Windows 平台的API函数,比如 Beep(), SetConsoleTextAttribute() 和 GetStdHandle(), 本程序仅能在 Windows 上运行良好。并且涉及到了较多关于粒子系统和声音处理的知识点,在教学过程中可以借此讲解一些图形渲染的基本原理和音频处理方法。

  • 儿歌、手指谣、律动.docx

    儿歌、手指谣、律动.docx

  • 基于Msp430设计的环境监测系统(完整系统源码等资料)实物仿真.zip

    【文章链接:https://blog.csdn.net/2403_86849624/article/details/145739426?spm=1001.2014.3001.5502】基于 MSP430 微控制器的环境监测系统的设计与实现。该系统集成了温湿度、光照度、烟雾浓度以及 PM2.5 浓度等多参数的监测功能,具备数据显示、阈值设置和报警等功能。通过硬件电路与软件程序的协同工作,系统能够实时、准确地获取环境信息,并为用户提供直观的数据展示和有效的预警。文中深入探讨了系统的硬件选型、电路设计、软件编程思路及关键代码实现,经实际测试验证,该系统运行稳定、性能可靠,在环境监测领域具有一定的应用价值。关键词:MSP430;环境监测;传感器;数据处理 随着工业化进程的加速和人们生活水平的提高,环境质量对人类健康和社会发展的影响愈发显著。准确、实时地监测环境参数,对于预防环境污染、保障人体健康以及推动可持续发展至关重要。

  • 基于COMSOL仿真的电磁超声压电接收技术在铝板裂纹检测中的应用研究,COMSOL模拟:电磁超声压电接收技术在铝板裂纹检测中的应用,comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kH

    基于COMSOL仿真的电磁超声压电接收技术在铝板裂纹检测中的应用研究,COMSOL模拟:电磁超声压电接收技术在铝板裂纹检测中的应用,comsol电磁超声压电接收EMAT 在1mm厚铝板中激励250kHz的电磁超声在200mm位置处设置一个深0.8mm的裂纹缺陷,左端面设为低反射边界。 在85mm位置处放置一个压电片接收信号,信号如图3所示,三个波分别为始波,裂纹反射波(S0模态)和右端面回波(S0)。 ,comsol;电磁超声;压电接收;EMAT;裂纹缺陷;信号接收;波;始波;S0模态;右端面回波,电磁超声检测技术:裂纹缺陷定位与信号分析

  • MATLAB环境中基于PSO算法的机器人路径规划系统:可视化界面下的障碍物自定义与终点规划,MATLAB实现PSO算法的机器人路径规划系统:支持自定义障碍物、起点终点的可视化界面操作,基于MATLAB

    MATLAB环境中基于PSO算法的机器人路径规划系统:可视化界面下的障碍物自定义与终点规划,MATLAB实现PSO算法的机器人路径规划系统:支持自定义障碍物、起点终点的可视化界面操作,基于MATLAB的粒子群优化(PSO)算法的机器人路径规划,可视化界面,可自定义障碍物,起点和终点。 ,MATLAB; 粒子群优化(PSO)算法; 机器人路径规划; 可视化界面; 自定义障碍物; 起点和终点,MATLAB PSO算法机器人路径规划与可视化界面

  • 五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用,五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab

    五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用,五电平无刷直流电机BLDC矢量控制仿真模型研究:转速稳定、多电平可调参数的Matlab Simulink模型应用分析,五电平无刷直流电机BLDC矢量控制仿真模型,给定转速1000r min,运行良好; 三电平,两电平均可做,可调参数; matlab simulink模型 ,五电平BLDC矢量控制; 仿真模型; 1000r_min; 三电平控制; 可调参数; Matlab_Simulink模型。,五电平BLDC矢量控制仿真模型:三电平可调参数,1000r/min良好运行,Matlab Simulink实现

  • VSG预同步控制与电流双环控制的Matlab仿真模型研究及电力电子入门指南,基于Matlab的VSG预同步控制仿真模型:涵盖并网逆变器、VSG控制及电流双环管理等多模块研究参考文献详实电力电子仿真入门

    VSG预同步控制与电流双环控制的Matlab仿真模型研究及电力电子入门指南,基于Matlab的VSG预同步控制仿真模型:涵盖并网逆变器、VSG控制及电流双环管理等多模块研究参考文献详实电力电子仿真入门指南,VSG预同步控制matlab仿真模型 主要模块: 并网逆变器+VSG控制+预同步控制+电流电流双环控制 锁相环、三相准PR控制、PWM。 并附带参考文献,内容详实,适合电力电子入门仿真参考。 ,VSG预同步控制; MATLAB仿真模型; 并网逆变器; VSG控制; 预同步控制; 电流双环控制; 锁相环; 三相准PR控制; PWM; 参考文献。,Matlab仿真模型:VSG预同步控制及多模块协同仿真研究

Global site tag (gtag.js) - Google Analytics