移动开发

深度揭秘阿里移动端高性能动态化方案Weex

别等时光非礼了梦想. 提交于 2019-12-10 20:52:37
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 2016年Qcon大会首日,阿里巴巴资深总监、淘宝移动平台、阿里百川负责人庄卓然宣布移动端高性能动态化方案Weex即时内测,并将于6月开源。此消息一出,群情汹涌,在座的程序猿、攻城狮们纷纷拿起手机扫码,以期第一时间感受Weex的神奇之力。 在第二天的主题分享会上,阿里巴巴前端开发专家赵锦江和技术专家徐凯对Weex进行了深入的解析。以下为演讲速记整理后的成文。 阿里怎么看待移动开发? 目前的移动开发者面临的最大痛点就是面对极其复杂的环境,对此,庄卓然给出一个公式,移动开发的复杂度=应用数量×平台数量×要适配的各种各样的机型。 如何解决这个问题呢?在解决问题之前,首先要对移动开发的未来有着精准的研判。 阿里认为,移动开发的未来必定更加平衡,也就是说必须是性能与动态兼得,如此,才能够满足未来用户的需求。另外,移动开发在未来也必定是开放互联的状态,移动互联网将来肯定是基于更加大众化的技术体系,没有平台之间的隔阂,而且简单易用。 所以,阿里结合移动开发的现状并围绕其愿景推出了Weex解决方案。 事实上,在去年的双11活动中,Weex就得到了实战的验证,且表现不俗。时至今日,Weex已经被阿里技术团队多次运用,并“创造”出各种丰富的场景,整体的表现非常优异。 把移动端所有界面拆分成各个page,然后中间设置有路由的控制逻辑

关于Weex你需要知道的一切

徘徊边缘 提交于 2019-12-10 20:52:20
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> QCon第一天,GMTC全球移动技术大会联席主席、手淘技术老大庄卓然(花名南天)在Keynote上宣布跨平台开发框架Weex开始内测,并将于6月份开源,同时他们也放出官网:http://alibaba.github.io/weex ,可以在上面申请内测资格,以及下载Android版Demo把玩。 在大会后我对庄卓然做了一个采访,对一些大家关心的问题得到官方的回复,整理在这里。所有该发的不该发的我都发在这儿了,为了涨粉我也是拼啦~ Weex基本信息 官方支持iOS、Android、HTML5. Write Once, Run Everywhere。一次编写可生成三平台代码。 DSL模板学习超简单,直接写HTML、CSS、JS。这意味着可以直接用现有编辑器和IDE的代码补全、提示、检查等功能。 轻量级、可扩展、高性能。 集成花样多,可在HTML5页面嵌入,也可嵌在原生UI中。 Weex的由来 Weex的前身是WeApp,一个用JSON配置原生UI组件来实现动态化的框架,关于类似这个的思想,可以在天猫这篇 配置中心实践 中看到,已经很牛了,Weex是WeApp的进化版本,加上ex去掉App,就成了现在这个名字。他们还编了个段子: You give us a few weeks, so we bring you a

他用Weex花两天时间开发出『One·一个』App

末鹿安然 提交于 2019-12-10 20:49:41
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 自阿里在QCon北京2016上面宣布Weex内测已经过去了一个多月时间,在这段时间里,有不少开发者通过申请已经获得内测资格,并尝试用它进行开发,阿里也进一步邀请更多开发者来体验和使用Weex,如阿里百川推出的Weex Workshop挑战赛。 Github用户dodola参加了这场Workshop,用两天时间开发了『One·一个』App的Weex版本,并将它开源了出来,你可以下载该项目并按照提示编译并运行。 项目地址: https://github.com/dodola/WeexOne dodola在项目声明中也介绍了使用Weex开发的感受: Weex从上手来说还是相当容易的,我看了一会文档就可以开始做页面了,语法套用的是原生的css、html、javascript的语法,并没有像React Native那样开发一个JSX语言还需要适应这种语法,相对来说Weex要比React Native上手要简单很多的。 从生成的包的大小来看我的这个应用没混淆状态下apk是3.9MB,相对于ReactNative的7.8MB的大小还是要小很多的,从界面流畅度来看Weex可能要比React Native要流畅和灵敏一些。 开发过程中没有遇到大的难题,基本上看文档和例子代码就好了,像开发WeexOne这种小项目一般两天就做完了

iOS UITextField 使用与方法解读

只谈情不闲聊 提交于 2019-12-09 13:45:36
UITextField是IOS开发中用户交互中重要的一个控件,常被用来做账号密码框,输入信息框等。 初始化一个文字框: UITextField * textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 30, 100, 100)]; 设置和获取文字框文字: @property(nonatomic,copy) NSString *text; 通过AttributedString创建和获取文字: @property(nonatomic,copy) NSAttributedString *attributedText; 设置字体颜色属性: @property(nonatomic,retain) UIColor *textColor; 设置字体属性: @property(nonatomic,retain) UIFont *font; 设置字体对齐格式: @property(nonatomic)NSTextAlignment textAlignment; 设置输入框风格: @property(nonatomic) UITextBorderStyle borderStyle; 这个风格是一个枚举,如下: typedef NS_ENUM(NSInteger, UITextBorderStyle) { //没有任何边框

HTML5+、mui开发移动app

元气小坏坏 提交于 2019-12-08 10:17:20
跨平台移动APP开发进阶(二)HTML5+、mui开发移动app教程 作者: sunhuaqiang1 前端开发APP,从HBuilder开始~ 序 通过 HTML5 开发移动App 时,会发现HTML5 很多能力不具备。为弥补HTML5 能力的不足,在W3C 中国的指导下成立了www.HTML5Plus.org组织,推出HTML5+规范。 HTML5+扩展了JavaScript 对象plus,使得js 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。 HBuilder 的手机原生能力调用分2 个层面: a) 跨手机平台的能力调用都在HTML5+ 规范里,比如二维码、语音输入,使用plus.barcode 和plus.speech。编写一次,可跨平台运行。 b) JS Bridge是另一项创新技术,通过js 可以直接调ios 和android 的原生API,这部分就不再跨平台,比如调ios game center,或在android 手机桌面创建快捷方式。 JSB 的用法是var obj = plus.android.import("android.content.Intent");将一个原生对象android.content.Intent 映射为js 对象obj,然后在js

移动Web开发图片自适应两种常见情况解决方案

懵懂的女人 提交于 2019-12-08 01:19:31
本文主要说的是Web中图片根据手机屏幕大小自适应居中显示,图片自适应两种常见情况解决方案。开始吧 在做配合手机客户端的Web wap页面时,发现文章对图片显示的需求有两种特别重要的情况,一是对于图集,这种文章只需要左右滑动浏览,最好的体验是让图片缩放显示在屏幕有效范围内,防止图片太大导致用户需要滑动手指移动图片来查看这种费力气的事情,用户体验大大降低。二是图文混排的文章,图片最大宽度不超过屏幕宽度,高度可以auto。这两种情况在项目中很常见。另外,有人说做个图片切割工具,把图片尺寸比例都设定为统一的大小,但即使这样,面对各种大小的移动设备屏幕,也是无法适用一个统一方案就能解决得了的。而且如果需求太多,那服务器上得存多少份不同尺寸的图片呢?显示不太符合实际。 下面是图集类型,需求方要求图片高宽都保持在手机可视视野范围,js代码列在下面: <script type="text/javascript"> $(function(){ var imglist =document.getElementsByTagName("img"); //安卓4.0+等高版本不支持window.screen.width,安卓2.3.3系统支持 /* var _width = window.screen.width; var _height = window.screen.height - 20; var

C#开发Unity游戏教程之Scene视图与脚本的使用

两盒软妹~` 提交于 2019-12-07 20:12:40
C#开发Unity游戏教程之Scene视图与脚本的使用 Unity中Scene 视图的快捷操作 Scene 视图是开发者开发游戏时,操作最频繁的视图。因为一旦一个游戏对象被添加到游戏的场景中,就需要首先使用鼠标为这个游戏对象设置出合适的状态。而且开发者还需要多角度的观察游戏场景中的各游戏对象。基于以上的原因, Unity 提供了很多快捷操作,支持开发者对 Scene 视图所做的各种操作,常见的操作方式有: 直接按下键盘上的 Q 、 W 、 E 、 R 键,即可选中 Unity 左上角,工具栏上的 4 个按钮,且按钮与按键一一对应,省去了开发者使用鼠标点击的麻烦。 使用鼠标的滚轮,可以控制 Scene 视图“窗口”与各游戏对象的远近,如图 2-14 所示,且向上滚动靠近,向下滚动远离。 图 2-14 使用鼠标的滚轮,控制 Scene 视图与场景中各游戏对象距离的远近 使用鼠标双击 Hierarchy 视图上的游戏对象名,场景视图会移动,直到对应的对象处于场景视图的中间,如图 2-15 所示。当开发者在场景中找不到对应的游戏对象时,可以使用这种方法快速找到。 图 2-15 鼠标双击对象名,场景视图速度定位到对应对象,且被显示在场景视图的中央 在场景视图里,按下鼠标中间的按钮(或滚轮),鼠标变成了 ,然后移动鼠标,可以任意移动场景 。 , 如图 2-16 所示 , 。其

20120409 问题已经解决,debian6 上编译 android ics4.0编译用时:...

99封情书 提交于 2019-12-07 12:56:37
我的主机是 debian 6 x86_64 同步完android 4.0 的源码后,进行编译。 google 官方只有ubuntu 的解决方案,只字未提debian. 看来google 与ubuntu 关系很好! 以下为出错日志,现在还未解决, 看上去是.so 版本不匹配,找不到相应的函数。 /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib32/libX11.a(ClDisplay.o): In function `XCloseDisplay': (.text+0xbd): undefined reference to `xcb_disconnect' /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib32/libX11.a(OpenDis.o): In function `OutOfMemory': (.text+0x449): undefined reference to `xcb_disconnect' /usr/lib/gcc/x86_64-linux-gnu/4.4.5/../../../../lib32/libX11.a(OpenDis.o): In function `XOpenDisplay': (.text+0x7f4): undefined

移动端报表JS开发示例--获取定位

隐身守侯 提交于 2019-12-07 12:22:22
上次分享了移动端报表JS开发的系统概念,后来我又回去摸索了一些案例。之前接触到的FineReport的APP客户端可以用来打卡签到,就好奇研究了以下,这次就来聊一聊报表移动端开发如何实现定位功能。 1. 解决思路 在用FineReport设计模板的时候添加一个 按钮控件 ,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后在客户端填报当前模板即可。 2. 示例 实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示在下方对应的单元格中: 2.1 模板制作 打开设计器,新建一张模板,按照如下图所示样式设计模板,其中E2单元格为按钮控件,控件名称为地理位置,C5为下拉框控件,E5为时间控件: 2.2 获取当前地理位置 获取当前地理位置有两种方式,一个是点击按钮获取地理位置,一个是直接打开模板的时候就获取位置,示例中,我们是想实现通过点击按钮获取地理位置。 通过点击按钮获取地理位置 打开按钮的控件设置,为该控件添加一个点击事件,如下图: js如下: 1. FR.location(function(status, message){ //获取地理位置 2. if(status=="success") { 3. //定位成功,message返回经纬度值 4. FR.Msg.alert("当前位置是" + message); 5. contentPane

移动app开发框架uni-app系列2

不羁的心 提交于 2019-12-06 22:49:15
继上次对uni-app有了初步认识之后,我们继续学习这款框架。 首先说一下我对框架提出的一些问题 框架,众所周知都会内置一些自己css,js和封装组件,但这些都应该在源文件中找到,以便应对复杂的需求环境,但是我在uni-app的源文件中始终没找到一个index.css的文件,但是我在谷歌开发者工具中有显示在某某文件夹下,这让我很抓狂。(如果哪位大佬找到了,真挚的希望告知一下) uni-app的upx单位 uni-app 使用 upx 作为默认尺寸单位, upx 是相对于基准宽度的单位,可以根据屏幕宽度进行自适应。uni-app 规定屏幕基准宽度750upx。 页面元素宽度在 uni-app 中的宽度计算公式: 750 * 元素在设计稿中的宽度 / 设计稿基准宽度 注意: 动态绑定的 style 不支持直接使用 upx。 <!-- - 静态upx赋值生效 --> <view class="test" style="width:200upx"></view> <!-- - 动态绑定不生效 --> <view class="test" :style="{width:winWidth + 'upx;'}"></view> 解决办法: 在js中用uni-app的函数uni.upx2px()转换为px之后进行动态绑定 uni-app的css执行顺序 导入的css先执行 >