python kivy ios_Kivy跨平台技术开发iOS
#kivy
Kivy是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,对于多点触控有着非常良好的支持,是一套专门用于跨平台快速应用开发的开源框架,使用Python和Cython编写,基于OpenGL ES 2只需一套代码,即可运行于主流桌面和移动平台之上,支持大部分原生输入协议和设备,包括WM_Touch、WM_Pen、Mac OS X Trackpad和Magic Mouse、Mtdev、Linux Kernel HID、TUIO,此外,还包含一个多点触控的鼠标模拟器。
#demofrom kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
这样就可以在Mac和ios以及安卓上运行
kivy demo
kivy 与iOS交互,新建一个demo.pyprint "Hello Kivy"
python demo.py
ios .m文件里面 调用
FILE * fp = fopen(Queuet.py", "r");
if (fp == NULL)
return 1;
PyRun_SimpleFile(fp, "demo.py");
iOS与python交互通过一个文件,或字符串的形式来做PyRun_String,PyRun_SimpleFile
这样的方式对于编译型语法的程序员来说很别扭,不过kivy主要开发是用python,
PyRun_SimpleFile估计是官方给的一个并不好的交互方式。
python调用iOS pyobjus,主要是调用iOS里面一些特有的类型,目前支持delegate回调方式from pyobjus import autoclass
from pyobjus.dylib_manager import load_framework, INCLUDE
load_framework(INCLUDE.AppKit)
NSAlert = autoclass('NSAlert')
NSString = autoclass('NSString')
ns = lambda x: NSString.alloc().initWithUTF8String_(x)
alert = NSAlert.alloc().init()
alert.setMessageText_(ns('Hello world from python!'))
alert.addButtonWithTitle_(NSString.stringWithUTF8String_("OK"))
alert.addButtonWithTitle_(NSString.stringWithUTF8String_("Cancel"))
alert.runModal()
python 对于网络,数据库,动画,3d,逻辑实现是可以的,但是kivy的gui界面实在做得是差强人意,和xib相比可以用粗制滥造来形容,开发人员少,毕竟没苹果那么财雄势大。这点还是可以理解的
lisview
UI可视化编辑器
编辑器
整体来说做逻辑可以考虑kivy,,另外就是kivy官方的更新速度不是很快。 编译器的完善性有待项目检验,不过它的UI框架使用起来比iOS方便很多,独有的kivy语法很神奇,写界面很方便。但是界面确实不敢恭维。
期待kivy进一步完善。
python kivy ios_Kivy跨平台技术开发iOS相关推荐
- 使用Kotlin Native技术开发iOS应用
AppCode简介 AppCode是JetBrains公司出品的用于开发Mac OS X以及iOS应用程序的集成开发环境,能够支持Xcode项目的运行和调试功能,并为Swift和Objective-C ...
- python kivy ios_kivy iOS部署人员
我试图在我的kivy应用程序中使用tornado.在Linux和Mac上运行良好,但是在iOS上tornado并没有被导入.在2013-07-21 16:50:11.862 application[8 ...
- python kivy显示图片_Kivy 图形界面开发初体验
本文是觅道文档连载教程<使用Kivy构建现代桌面GUI应用> 的第一个实例,如需细致的介绍,可点击此处进行阅读 Kivy 是一个开源的 Python 第三方库,可以用来快速开发应用程序. ...
- 一起谈.NET技术,分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发
在许多年前,"语言"就等同于"平台",例如C,C++以及最早的Ruby和Python等等.但是随着技术发展,出现了一些通用的平台,例如.NET和Java,逐渐这 ...
- 【新书推荐】《微软开源跨平台移动开发实践》带你走近微软开源开源跨平台技术
上周收到本书作者李争送的一本12月份的新书<微软开源跨平台移动开发实践--利用ASP.NET Core 1.0 .Apache Cordova.Xamarin和Azure快速构建移动应用解决方案 ...
- 移动开发的跨平台技术发展史 | 技术头条
作者 | 刘望舒 责编 | 伍杏玲 跨平台技术的诞生 我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在"摸着河底过河".项目更 ...
- 跨平台应用开发进阶(六十一):uni-app 跨平台技术开发框架可行性调研
文章目录 一.流程类 二.研发类(uni-app框架) 三.心得分享(研发踩坑&uni-app踩坑) 四.拓展阅读 一.流程类 IOS和安卓企业开发者账户申请流程(申请渠道.需要提供的相关证明 ...
- 视频教程-ReactiveCocoa开发技术教程-iOS
ReactiveCocoa开发技术教程 毕业于解放军特种作战学院,曾就职广州军区司令部.复原后从事IT行业,涉及逆向,安全,密码学等技术领域.2014年在广州某线下教育机构担任iOS讲师,2015年加 ...
- Web技术是开发iOS和Android App
如果说以前的微信公众号还是一个媒体化的平台,那么2016年的公众号会有一种新的形态,叫应用号.应用号预示着比公众号更强大的功能.更优质的体验以及更丰富的服务.应用号的出现是微信产品的一次重大升级,无论 ...
最新文章
- hadoop W3SCHOOL
- Nagios 安装配置
- 手机屏大字滚动_在iPhone手机中,实现长截图的几种方法
- string转换为bigdecimal_SO面试题09:如何将String转换为Int?
- 派生类的拷贝构造【C++继承】
- 格力发布公告称双11期间让利30亿元打击低质伪劣产品
- python设计模式六大原则_学习设计模式 - 六大基本原则之迪米特法则(示例代码)...
- 如何为网站进行安装SSL证书
- Linux DNS 服务配置 (非常详细)
- 如何看待基于OpenStack与Docker技术的云计算建设
- Spring Cloud(Greenwich版)-03-编写高可用Eureka Server(集群)
- 通王CMS采集-TWCMS文章采集-通王CMS关键词采集伪原创发布详解
- 推荐:dhtmlx系列js工具包
- 用简单易懂的例子解释隐马尔可夫模型
- SpringBoot文件夹压缩下载实现示例
- 图片和视频混合广告栏轮播实现
- 怎么把计算机拉到桌面上,怎么把电脑游戏放到桌面
- 安装测试包(.ipa)到iPhone手机
- 汇编 windows 10 通过DOSBox使用Debug程序
- 利用计算机解决问题过程中找出已知,用计算机解决问题的过程讲解.ppt
热门文章
- 微软发布VS Code Jupyter插件!不止Python!多语言的Jupyter Notebook支持来了!
- 【翻译】.NET 5 Preview8发布
- 哪种开源许可证最适合商业化?
- 【译】gRPC vs HTTP APIs
- 通过Blazor使用C#开发SPA单页面应用程序(1)
- Apollo 配置中心:分布式部署
- 书籍推荐:《C#7.0本质论》
- .NET Standard 2.1 公布
- aspnet core 2.1中使用jwt从原理到精通一
- Net Core集成Exceptionless分布式日志功能以及全局异常过滤