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

  • 基于Django花卉商城系统的设计与实现-2885fb37-.zip

    基于Django花卉商城系统的设计与实现_2885fb37--.zip

  • 102页-智慧农业解决方案.pdf

    智慧农业,作为现代农业的新篇章,正引领着农业生产的革命性变革。本解决方案以物联网、云计算、大数据等先进技术为核心,为农业生产打造了一套全面、智能的管理系统。 想象一下,从温室大棚到广袤田野,智能传感器遍布每个角落,它们能实时感知空气温湿度、土壤水分、光照强度等环境参数,仿佛为农作物装上了“眼睛”和“耳朵”。这些数据通过物联网技术传输到云端,经过大数据分析,为农民提供精准的种植建议,如何时灌溉、施肥、防虫,让农业生产变得更加科学、高效。 更有趣的是,通过智慧农业平台,农民可以远程监控作物生长情况,甚至用手机就能控制温室大棚的遮阳板、通风设备等,实现“指尖上的农业”。此外,方案还包含了农产品可追溯系统,从田间到餐桌,每一步都可追溯,让消费者吃得放心。而智慧农业电商平台,则让农产品销售更加便捷,农民直接对接市场,收益倍增。 总之,这套智慧农业解决方案不仅让农业生产变得更加智能、高效,还提升了农产品的质量和安全,为农民带来了实实在在的收益,开启了农业现代化的新篇章。 对于想要投身智慧农业领域的你来说,这不仅仅是一套解决方案,更是一把开启现代农业大门的钥匙,引领你走向更加辉煌的未来。

  • 【人工智能模型部署】DeepSeek本地部署与WebUI可视化:环境搭建、模型启动及界面开发指南文档的主要内容

    内容概要:本文档详细介绍了DeepSeek本地部署与WebUI可视化的一般步骤。本地部署方面,涵盖了环境准备(硬件要求如多核CPU、8GB以上内存或带适当显存的NVIDIA GPU,软件环境涵盖操作系统如Ubuntu 20.04及以上版本、Python环境及依赖库如PyTorch或TensorFlow)、获取DeepSeek模型代码和权重(通过官方仓库克隆代码,从指定渠道下载权重)、模型配置与启动(配置模型参数,运行启动脚本以初始化模型和服务)。WebUI可视化部分则推荐了Streamlit和Gradio两种框架,介绍了它们的安装、使用方法(通过编写脚本调用DeepSeek API构建交互界面),以及集成与部署(确保WebUI与模型服务之间的数据正确传递,在本地运行后可通过浏览器访问)。 适合人群:对深度学习模型部署有一定了解的技术人员,尤其是那些希望将DeepSeek模型应用于本地环境并提供用户友好界面的研发人员。 使用场景及目标:①为希望在本地环境中运行DeepSeek模型的研究者或开发者提供详细的部署指南;②帮助用户快速搭建一个带有图形化操作界面的DeepSeek应用,降低使用门槛,提高用户体验。 阅读建议:在阅读时,应根据自己的操作系统环境和硬件条件调整相应的配置要求,同时注意按照官方文档的具体指引操作,确保各组件版本兼容,以便顺利完成部署和可视化工作。

  • MISRA C 2014和MISRA CPP 2008版本

    MISRA C 2014和MISRA CPP 2008版本

  • Revit2024二次开发之安装Addin

    Revit2024二次开发之安装Addin

  • ai应用文生视频大模型及AI人应用方案设计.docx### 文生视频大模型及AI人应用方案总结

    内容概要:本文详细介绍了文生视频大模型及AI人应用方案的设计与实现。文章首先阐述了文生视频大模型的技术基础,包括深度生成模型、自然语言处理(NLP)和计算机视觉(CV)的深度融合,以及相关技术的发展趋势。接着,文章深入分析了需求,包括用户需求、市场现状和技术需求,明确了高效性、个性化和成本控制等关键点。系统架构设计部分涵盖了数据层、模型层、服务层和应用层的分层架构,确保系统的可扩展性和高效性。在关键技术实现方面,文章详细描述了文本解析与理解、视频生成技术、AI人交互技术和实时处理与反馈机制。此外,还探讨了数据管理与安全、系统测试与验证、部署与维护等重要环节。最后,文章展示了文生视频大模型在教育、娱乐和商业领域的应用场景,并对其未来的技术改进方向和市场前景进行了展望。 适用人群:具备一定技术背景的研发人员、产品经理、数据科学家以及对AI视频生成技术感兴趣的从业者。 使用场景及目标:①帮助研发人员理解文生视频大模型的技术实现和应用场景;②指导产品经理在实际项目中应用文生视频大模型;③为数据科学家提供技术优化和模型改进的思路;④让从业者了解AI视频生成技术的市场潜力和发展趋势。 阅读建议:本文内容详尽,涉及多个技术细节和应用场景,建议读者结合自身的专业背景和技术需求,重点阅读与自己工作相关的章节,并结合实际项目进行实践和验证。

  • 黑板风格毕业答辩模板25个

    黑板风格毕业答辩模板是一系列富有创意和趣味性的答辩文档模板,专为追求独特表达的大学生设计。这25个模板模拟了传统黑板的效果,结合了手绘风格与现代设计理念,使得内容呈现既生动又具学术感。每个模板都强调清晰的结构和易于理解的布局,适用于各类学科和研究领域,帮助学生有效地展示研究成果和核心观点。 黑板风格不仅带来亲切感,还能唤起人们对课堂学习的回忆,为答辩增添了轻松而专业的氛围。这些模板配备了丰富的图标、示意图和配色,既美观又实用,能够帮助学生在答辩中更好地吸引评审的注意力,增强信息的传达效果。无论是科技、艺术还是人文社科,黑板风格毕业答辩模板都能够为你的演示增添一份独特的魅力,提升你的表现,助力你在毕业答辩中取得成功。

Global site tag (gtag.js) - Google Analytics