看了几天的小程序(当然也包括了上手书写),才有了这篇博文,非技术贴,只是发表下个人观点,仅以个人技术能力来看小程序。

  首先说下优点:

  1. 调试工具:官方的工具还是做了很多工作,包括监听文件变动自动刷新,编译es6等
  2. 真机调试:里面集成了github上一款开源调试工具vconsole https://github.com/WechatFE/vConsole
  3. 文件关联:关联名称相同的wxss,wxml,js为一个组件的内容
  4. 样式:支持flex布局,不用hack
  5. 语言:支持es6,可以模块化布置项目的代码

  接下来是缺点:

  1. 调试工具:审查元素必须切换到Wxml模式才可以,在控制台编辑css没有只能提示,用小箭头选择元素时貌似碰到wx原生组件会选择不上,只能一层一层展开查看
  2. 真机调试:这个真要吐槽下,就是在调试工具上明明好使,在真机上就会碰到内部错误直接退出,官方也没有给出一些合理的智能提示,这个时候往往需要靠猜哪里的问题
  3. 模块化:个人认为微信的模块化只是针对js语言,至于把写好的模块封装成组件是不便的也不现实的(至少现在这样的机制),原因有以下:1.dom没办法动态添加删除修改(当然现在想要修改属性,就必须要都绑定到page的data数据中,这样就会造成如果页面复杂,数据就会异常多,也不可控,加上改变的函数也会增多),2单独import的wxml组件跟page传输数据很别扭方式,3,page中的对象需要的方法需要提前定义,没法后期添加。4.模块import无法配置别名。

对于小程序项目构建的看法:

  1. 关于项目怎么构建目录和组件:官方并没有给出,给出的就是类似一个demo,完全不能提到构建这个角度
  2. 我个人配置的目录是pages,compoment,util,serve,image这5个目录
  3. 关于如何更好的处理组件和调用自定义组件的方式我认为官方还是要先解决这个问题的,要不小程序我认为永远就是小玩具,成不了大气候,本身小程序的市场定位更适合小B2C电商,但是电商的项目业务还是很复杂的,和用户的交互也比较多,如果仅仅是给个demo就扔给开发人员,那小程序的前景我个人是不看好的。
  4. 关于提供的原生组件接口和配置也太任性,毕竟面向的是web前端开发人员,而不是app原生开发人员,书写规范上还是要迁就一下前端开发人员的好
  5. 最后一点还是要回到小程序的定位上,现有的功能可以好不客气的说原生web都可以实现,没必要真的去移至到小程序平台,以京东商城的小程序为例提供的功能有限,交互体验也不是很好,官方的认为更流畅也没有很好的提现,这里可以举个例子就是小程序的打开时间,打开京东小程序大概要3-4秒,这个和打开网页没什么区别了,还限制了很多功能和交互方式。

至于小程序的前景怎样,个人认为已经不是微信能控制的了,如果还是像现在这样”任性“只提供基础的组件和不解决组件的调用方式的话,前景堪忧。如果还是如此”作风“真的火了,那我只能说中国真是一个神奇的地方。

以上仅为个人观点。。。(在国内写博文我还是加上这句话吧,以免被人当成某当,认为不思进取,阻挡前端大一统别人领域的潮流)

仅以一个前端开发人员的角度看微信小程序的更多相关文章

  1. 不一样的角度 解读微信小程序

    不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...

  2. 从程序员的角度分析微信小程序(编程语言:用到什么学什么)

    从程序员的角度分析微信小程序(编程语言:用到什么学什么) 一.总结 一句话总结:微信小程序原理就是用JS调用底层native组件,和React Native非常类似.(需要时,用到时再学) 1.选择语 ...

  3. 微信小程序开发系列教程三:微信小程序的调试方法

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...

  4. 从程序员的角度分析微信小程序

    昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200 ...

  5. 微信小程序开发《三》:微信小程序请求不能使用session的原因及解决办法

    本人在前面的微信小程序开发<二>中提到要想在服务端保持状态需要在客户端第一次请求服务器的时候给客户端返回一个sessionid,由客户端在本地保存,下次请求的时候在header里面带上这个 ...

  6. 微信小程序开发之如何哪获取微信小程序的APP ID

    微信小程序的开发工具,在新建项目的时候,默认提示填写APP ID,如果不填写AppID 也是可以本地测试和开发的,但是无法通过手机调试,只能在开发工具里查看 如果需要真机调试微信小程序,需要安装微信6 ...

  7. 推荐给Web前端开发人员的一些书籍(从基础到架构阶段)

    有很多人问我说作为一个前端开发人员都需要看一些什么书籍,尤其是刚入门的新手,今天我整理了一下推荐给大家,大佬绕过. HTML+CSS+JavaScript 网页设计 从入门到精通 作为一个前端新手,强 ...

  8. Web前端_微信小程序实战开发

    微信小程序开发实战教程 一.微信小程序 它是一种混合开发的方式. 是安装在微信中的程序(一个程序最多2M空间). 1.1 注册 1  2 点击立即注册:进入下方页面 3  4 点击小程序进入表单填写页 ...

  9. [转]微信小程序,开发大起底

    本文转自:http://blog.csdn.net/baiyuzhong2012/article/details/54378497 作者简介:张智超,北京微函工坊开发工程师,CSDN微信开发知识库特邀 ...

随机推荐

  1. Bootstrap 图标

    Bootstrap 图标由 Glyphicons 提供.详情可以去bootstrap官网进行查看. 用法: <i class="icon_class_name">< ...

  2. JavaScript里的依赖注入

    JavaScript里的依赖注入 我喜欢引用这句话,“程序是对复杂性的管理”.计算机世界是一个巨大的抽象建筑群.我们简单的包装一些东西然后发布新工具,周而复始.现在思考下,你所使用的语言包括的一些内建 ...

  3. 字符串处理:kmp算法

    刷vj的时候遇到一个kmp算法,就学习了一下 看了某位大神的清楚解释略有领会 看了一遍之后,可以清楚的知道 void kmp 的模拟过程,就是j指针的运动情况 但是j指针的运动是如何具体的实现,这其实 ...

  4. c#多选下拉框(ComboBox)

    代码如下 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawi ...

  5. MongoDB:利用官方驱动改装为EF代码风格的MongoDB.Repository框架 五 --- 为List<MongoDBRef>增加扩展方法

    本次改动主要内容:为List<MongoDBRef>增加扩展方法 在MongoDB.Repository的使用过程中,发现在一个类中只定义一个List<MongoDBRef>是 ...

  6. Activity的启动模式与flag详解

    Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance.以下逐一举例说明他们的区别: standard:Activity ...

  7. C/C++ 中 const 修饰符用法总结

    C/C++ 中 const 修饰符用法总结 在这篇文章中,我总结了一些C/C++语言中的 const 修饰符的常见用法,供大家参考. const 的用法,也是技术性面试中常见的基础问题,希望能够帮大家 ...

  8. go语言中的数组切片:特立独行的可变数组

    go语言中的数组切片:特立独行的可变数组 初看go语言中的slice,觉得是可变数组的一种很不错的实现,直接在语言语法的层面支持,操作方面比起java中的ArrayList方便了许多.但是在使用了一段 ...

  9. revel框架教程之权限控制

    Go语言实战 - revel框架教程之权限控制 一个站点上面最基本都会有三种用户角色,未登录用户.已登录用户和管理员.这一次我们就来看看在revel框架下如何进行权限控制. 因为revel是MVC结构 ...

  10. VS2012下使用Moq进行单元测试

    单元测试虽然是个很老的东西了,但平时写代码一般都不写测试,因为VS调试完全可以满足了,所以一直也就没有用过,刚好在<Pro.ASP.NET.MVC.3.Framework>中看到了Moq这 ...