Navigation

    论坛 - React Native中文社区

    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Search
    1. Home
    2. 深圳金马
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    深圳金马

    @深圳金马

    0
    Reputation
    9
    Posts
    1695
    Profile views
    0
    Followers
    0
    Following
    Joined Last Online

    深圳金马 Follow

    Best posts made by 深圳金马

    This user hasn't posted anything yet.

    Latest posts made by 深圳金马

    • RE: [实时动态]3.8日苹果警告邮件事件

      我保持中立态度,说不定框架中的dlopen、dlsym、、、 现在fb的人已经改rn框架了,想告诉你们提前做好升级rn版本的准备

      posted in Blogs
      深圳金马
      深圳金马
    • RE: react native 差异热更新js&apk,我感觉好多人需要

      @FB 你没看过我的代码,网络那块有优化的

      posted in 讨论区
      深圳金马
      深圳金马
    • RE: react native 差异热更新js&apk,我感觉好多人需要

      顶起来,真的要顶起来

      posted in 讨论区
      深圳金马
      深圳金马
    • react native 差异热更新js&apk,我感觉好多人需要

      中文网自己写了一个,我也写了一个,我楼下那个也写了一个(反正我觉得我写的是最好的,大牛读下代码就知道了),啥都不说先上项目地址
      https://github.com/shenzhenjinma/react-native-horse-push
      具体原理看优酷视频第46分钟开始 http://v.youku.com/v_show/id_XMTUxOTE5MzQwNA==.html

      流程图这样的
      alt text

      集成了灰度部署,但是需要再后端实现,这里因为没有时间就先写差异更新, 文档肯定写的不好,我有空再写详细点,有啥问题加qq群389969823 就不装逼写那么多英文了,给国人看的都中文吧 这是一个中国式的react native更新 他包含 apk 与 js的差异更新 并且支持灰度部署,需要通过后端实现。 这个插件已经在app端实现了所有需要的功能了,后端我还在写,如果你很急可以根据你的业务逻辑写下你的后端,到时候后端会放出。 这里我会给你后端如何返回数据的一个简单demo。

      业务流程图

      把这个项目下载下来,在你的程序引入这个依赖包

      在安卓的assets文件夹下面放置你的js bundle文件,文件名一定要为 horse.push.js,就是我们的基础,因为我们的差异更新必须有一个基础包,在你发布到时候的时候你可以内嵌一个最新的jsbundle包就可以了
      创建安卓程序的application (in Application.java)
      public void onCreate() {
      HorsePush.getInstance(getApplicationContext(), "http://you.server/horsepush", "you_channel");// <------ 加入这个代码
      }
      修改 MainActivity (in MainActivity.java)
      protected void onCreate(Bundle savedInstanceState) {
      startActivity(new Intent().setClass(getApplicationContext(), HorsePushStartPage.class));// <------ 加入这个代码,使用启动屏
      }

      protected String getJSBundleFile() {
          return HorsePush.getJSBundleFile(this); // <------ 加入这个代码告诉rn通过本地启动
      } 
      
      protected void onResume() {
          HorsePush.reCheckUpdate();//<------每次从后台返回都会尝试更新
      }
      

      }
      生成差异文件

      通过 bsdiff生成,这两天没空,我会更新的,很简单的你自己研究下bsdiff的用法
      Usage

      每次打开app的时候都会请求你在application里面写的接口,由接口返回更新数据,数据格式如下,
      每次会吧自己的app版本号和渠道号和js的md5传送给服务器,由服务器返回的数据决定是差异更新还是完整更新,
      如果差异更新里面字段有内容就用差异更新进行更新,

      {
      "code": 200,
      "msg": "获取成功",
      "data": {
      "javaVersionCode": 0,
      "javaVersionInfo": "发现新的apk版本",
      "javaForceUpdate": false,
      "javaPatchDownlink": "http://you.server/patch.apk",
      "javaDownlink": "http://you.server/newversion.apk",
      "javaDownlinkMd5": "you apk md5",
      "jsVersionInfo": "欢迎使用xxx,点击确定进入最新版",
      "jsForceUpdate": false,
      "jsPatchDownlink": "http://you.server/patch.js",
      "jsDownlink": "http://you.server/newversion.js",
      "jsDownlinkMd5": "you js md5",
      "startpageimg": "http://you.server/startpageimg.jpg",
      }
      }

      posted in 讨论区
      深圳金马
      深圳金马
    • RE: react-native热更新js脚本

      @鸿杰 说:

      新,肯定离不开版本号,各家的版本号格式不同,意义也不一致,比较流行的版本号由3到4个数字组成,其中用.隔开,比如1.23.53、2.343.12.34,基于react-native开发产品,我个人觉得比较合理的版本号应该由4个数字组成,从左到右,第一位数字表示大版本号,当有重大更新时,该位数字加一,第二位数字是react-native的版本号,第三位数字表示发布的次数,发布正式版时,该位数字为偶数,发布测试版时,该位数字为奇数,在研发时,内部测试版和对外发布的正式版一定是有所区别的,那么我们通过判断该位的奇偶性就能很方便地区分对待了,最后一位数字表示了版本管理工具的版本号,比如我们目前使用svn来管理项目版本,每次提交时svn都有一个自增的版本号,将这个版本号记录在产品的版本号中,可以方便我们通过svn的log查询到对应的修改内容。

      了解了版本号中各个数字的意义之后,那么我们接下来说说如何实现js代码的热更新。
      热更新的大致流程如下:

      我怎么感觉这个和我那么像?https://github.com/shenzhenjinma/react-native-horse-push

      posted in 讨论区
      深圳金马
      深圳金马
    • RE: 多语言适配组件(文字和图片支持多语言)

      @long 是的,你的思路也是可以的

      posted in 分享
      深圳金马
      深圳金马
    • 多语言适配组件(文字和图片支持多语言)

      某个朋友说他们要把app弄到东南亚去,需要用到多语言,于是半夜睡不着写了一个多语言组件,文字和图片是可以根据多语言自动变的,放到github上下面的地址就是,res目录里面
      https://github.com/shenzhenjinma/react-native-horse-push/tree/master/react/res

      posted in 分享
      深圳金马
      深圳金马
    • RE: Techparty-广州-2016年3月ReactNative专场沙龙【直播】

      @nickolas 没有bug的话应该是4月底

      posted in Blogs
      深圳金马
      深圳金马
    • Techparty-广州-2016年3月ReactNative专场沙龙【直播】

      做好心理准备,这么多图片小心卡爆你浏览器,要不要关掉无用程序?

      0_1459174327336_740742105163936859.jpg
      0_1459174335039_60579327793292904.jpg
      0_1459174771241_DSC_0017.jpg
      0_1459174806347_DSC_9706.jpg
      0_1459174791435_DSC_9707.jpg
      0_1459172399192_IMGP3968.jpg
      0_1459172396093_IMGP3966.jpg

      0_1459172425802_IMGP3969.jpg
      0_1459172448457_IMGP3983.jpg

      0_1459172462299_IMGP4003.jpg
      0_1459172469635_IMGP4004.jpg

      0_1459172526123_IMGP4080.jpg
      0_1459172541264_IMGP4088.jpg

      0_1459172549723_IMGP4092.jpg
      0_1459172552756_IMGP4101.jpg

      0_1459172513395_IMGP4067.jpg

      0_1459172528291_IMGP4082.jpg
      0_1459172534850_IMGP4085.jpg

      0_1459172515319_IMGP4070.jpg
      0_1459172521641_IMGP4074.jpg

      0_1459172432293_IMGP3978.jpg
      0_1459172439309_IMGP3980.jpg

      0_1459172500062_IMGP4018.jpg
      0_1459172504078_IMGP4020.jpg
      0_1459172506454_IMGP4021.jpg

      0_1459172496750_IMGP4016.jpg

      0_1459172509141_IMGP4047.jpg
      0_1459172511260_IMGP4056.jpg

      0_1459174826673_DSC_9723.jpg 0_1459174829035_DSC_9790.jpg 0_1459174830709_DSC_9811.jpg 0_1459174832416_DSC_9814.jpg 0_1459174834102_DSC_9815.jpg 0_1459174836131_DSC_9817.jpg 0_1459174837944_DSC_9821.jpg 0_1459174840155_DSC_9825.jpg 0_1459174844219_DSC_9834.jpg 0_1459174846146_DSC_9836.jpg 0_1459174848439_DSC_9842.jpg 0_1459174850631_DSC_9849.jpg 0_1459174852435_DSC_9851.jpg 0_1459174854259_DSC_9854.jpg 0_1459174855944_DSC_9857.jpg 0_1459174858018_DSC_9870.jpg 0_1459174859794_DSC_9871.jpg 0_1459174861439_DSC_9872.jpg 0_1459174864121_DSC_9874.jpg 0_1459174866033_DSC_9882.jpg 0_1459174868049_DSC_9888.jpg 0_1459174869877_DSC_9903.jpg 0_1459174887578_DSC_9905.jpg 0_1459174893102_DSC_9907.jpg 0_1459174895258_DSC_9910.jpg 0_1459174898019_DSC_9911.jpg 0_1459174900250_DSC_9913.jpg 0_1459174903646_DSC_9914.jpg 0_1459174905484_DSC_9917.jpg 0_1459174907913_DSC_9923.jpg 0_1459174909760_DSC_9924.jpg 0_1459174911657_DSC_9925.jpg 0_1459174913582_DSC_9926.jpg 0_1459174915340_DSC_9932.jpg 0_1459174917105_DSC_9934.jpg !0_1459174966876_DSC_9939.jpg 0_1459174970914_DSC_9940.jpg 0_1459174974581_DSC_9941.jpg 0_1459174978096_DSC_9943.jpg 0_1459174981169_DSC_9946.jpg 0_1459174986872_DSC_9948.jpg 0_1459174994345_DSC_9955.jpg 0_1459174997801_DSC_9956.jpg 0_1459175000802_DSC_9957.jpg 0_1459175003781_DSC_9960.jpg 0_1459175006792_DSC_9973.jpg 0_1459175011197_DSC_9975.jpg 0_1459175016931_DSC_9976.jpg 0_1459175019774_DSC_9983.jpg 0_1459175022973_DSC_9989.jpg 0_1459175026039_DSC_9991.jpg


      Techparty-广州-2016年3月ReactNative专场沙龙直播地址:
      时间 3月26号 13:30
      保利威视直播: http://live.polyv.net/watch/101116.htm
      斗鱼直播: http://www.douyutv.com/techparty

      新的一年开始了。Techparty(珠三角技术沙龙)广州和深圳的活动继续搞起来了。 广州的2016年3月的沙龙主题为React Native。

      Facebook 在 React.js Conf 2015 大会上推出了基于 JavaScript 的开源框架 React Native。React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。


      主题

      0:开场自我介绍

      主题一:《React Native如何应用在工程中》

      吴宗倬 - 就职于微信。

      主题简介:

      React Native 优势和劣势,通讯原理。 前端和终端开发介绍。以及React Native嵌入微信iOS。

      主题二: 《React Native快速开发最佳实践》

      Gold Horse(黄泽彬) - 广州linux网 站长(百度搜:广州linux 或者 广州 react native) reactnative.cn管理员之一 就职于广州臻贝,10年web,seo搜索引擎优化,逆向开发,5年app、pc、linux、爬虫、开发。

      主题简介:

      Supercell百多人的团队每年就开发十几个项目,但真正赚钱的就那么几个。作为一个商业的APP应用开发亦是如此,(['React Native','十几人的开发团队','快速开发','事半功倍'])=>{return '新的蜕变'}。

      主题三: 《在Rails项目中使用React JS》

      RainChen(陈林燏) - 现任广州Beansmile 技术总监,10年web开发、8年ruby on rails开发经验,主持开发过各种系统,目前专注敏捷团队管理。

      主题简介:

      分享如何在rails项目中集成reactjs,遇到的问题和解决方法。

      中场休息

      主题四:《珠三角技术沙龙app开发的React Native实践》

      赖勇浩 - 珠三角技术沙龙(Techparty)发起人之一,老程序员,齐昌网络总经理。

      主题简介:

      珠三角技术沙龙app发布在即,这个通过React Native实现“一套代码,两个平台”梦想的项目在开发过程中踩过哪些坑,这个论坛型的app又经历了怎么样的演变,欢迎你来到沙龙,为你揭晓。

      主题五: 《React with TypeScipt》

      卢建晖 - 微软Windows Development MVP,华南师范大学网络教育学院程序开发总监,从事教育行业的移动应用。多年的跨平台开发经验,为不同行业提供Xamarin/Cordova/ReactNative的解决方案。

      主题简介:

      利用Typescript 快速编写ReactJS,结合Visual Studio Code编写和部署ReactJS应用。

      主题六: 《Realm - 替代 SQLite 的跨平台移动数据库》

      荆雷 - 悉尼大学计算机硕士,多年软件开发经验。曾致力于多媒体、计算机视觉等领域的研发。现专注于 JavaScript 全栈开发,对 Meteor 和 React 兴趣浓厚。曾就职于 UTStarcom, 澳洲西悉尼大学 MARCS 听觉实验室 (现 MARCS 学院) 等机构。

      主题简介:

      Realm 是一个移动数据库,可运行于手机、平板和可穿戴设备上。其目标是代替 SQLite 和 CoreData。2016 年 2 月,Realm release 了 React Native 版本。其性能完爆 SQLite 和 AsyncStorage。Realm 不仅性能优异,也很简单易用,更重要的是契合了 React Native 的 reactive pattern 和 unidirectional data flow. 所以是一个必须关注的下一代移动数据库。

      抽奖环节

      拍照留念

      活动结束

      沙龙长期赞助商: 'Coding', 'UC', 'UCloud', '七牛', '融云'

      并由七牛提供的精美奖品

      报名方式:

      活动时间:2016年03月26日(周六)下午 13:30 - 17:30

      费用:50元 (场地咖啡费用)

      地点:广州某咖啡厅,后续通知

      报名地址:
      http://www.huodongxing.com/event/1326008177500

      posted in Blogs
      深圳金马
      深圳金马