仅以一个前端开发人员的角度看微信小程序
看了几天的小程序(当然也包括了上手书写),才有了这篇博文,非技术贴,只是发表下个人观点,仅以个人技术能力来看小程序。
首先说下优点:
- 调试工具:官方的工具还是做了很多工作,包括监听文件变动自动刷新,编译es6等
- 真机调试:里面集成了github上一款开源调试工具vconsole https://github.com/WechatFE/vConsole
- 文件关联:关联名称相同的wxss,wxml,js为一个组件的内容
- 样式:支持flex布局,不用hack
- 语言:支持es6,可以模块化布置项目的代码
接下来是缺点:
- 调试工具:审查元素必须切换到Wxml模式才可以,在控制台编辑css没有只能提示,用小箭头选择元素时貌似碰到wx原生组件会选择不上,只能一层一层展开查看
- 真机调试:这个真要吐槽下,就是在调试工具上明明好使,在真机上就会碰到内部错误直接退出,官方也没有给出一些合理的智能提示,这个时候往往需要靠猜哪里的问题
- 模块化:个人认为微信的模块化只是针对js语言,至于把写好的模块封装成组件是不便的也不现实的(至少现在这样的机制),原因有以下:1.dom没办法动态添加删除修改(当然现在想要修改属性,就必须要都绑定到page的data数据中,这样就会造成如果页面复杂,数据就会异常多,也不可控,加上改变的函数也会增多),2单独import的wxml组件跟page传输数据很别扭方式,3,page中的对象需要的方法需要提前定义,没法后期添加。4.模块import无法配置别名。
对于小程序项目构建的看法:
- 关于项目怎么构建目录和组件:官方并没有给出,给出的就是类似一个demo,完全不能提到构建这个角度
- 我个人配置的目录是pages,compoment,util,serve,image这5个目录
- 关于如何更好的处理组件和调用自定义组件的方式我认为官方还是要先解决这个问题的,要不小程序我认为永远就是小玩具,成不了大气候,本身小程序的市场定位更适合小B2C电商,但是电商的项目业务还是很复杂的,和用户的交互也比较多,如果仅仅是给个demo就扔给开发人员,那小程序的前景我个人是不看好的。
- 关于提供的原生组件接口和配置也太任性,毕竟面向的是web前端开发人员,而不是app原生开发人员,书写规范上还是要迁就一下前端开发人员的好
- 最后一点还是要回到小程序的定位上,现有的功能可以好不客气的说原生web都可以实现,没必要真的去移至到小程序平台,以京东商城的小程序为例提供的功能有限,交互体验也不是很好,官方的认为更流畅也没有很好的提现,这里可以举个例子就是小程序的打开时间,打开京东小程序大概要3-4秒,这个和打开网页没什么区别了,还限制了很多功能和交互方式。
至于小程序的前景怎样,个人认为已经不是微信能控制的了,如果还是像现在这样”任性“只提供基础的组件和不解决组件的调用方式的话,前景堪忧。如果还是如此”作风“真的火了,那我只能说中国真是一个神奇的地方。
以上仅为个人观点。。。(在国内写博文我还是加上这句话吧,以免被人当成某当,认为不思进取,阻挡前端大一统别人领域的潮流)
仅以一个前端开发人员的角度看微信小程序的更多相关文章
- 不一样的角度 解读微信小程序
不一样的角度 解读微信小程序 七月在夏天· 2 天前 前段时间看完了雨果奖中短篇获奖小说<北京折叠>.很有意思的是,张小龙最近也要把应用折叠到微信里,这些应用被他称为:小程序. 含着金钥匙 ...
- 从程序员的角度分析微信小程序(编程语言:用到什么学什么)
从程序员的角度分析微信小程序(编程语言:用到什么学什么) 一.总结 一句话总结:微信小程序原理就是用JS调用底层native组件,和React Native非常类似.(需要时,用到时再学) 1.选择语 ...
- 微信小程序开发系列教程三:微信小程序的调试方法
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 这个教程的前两篇文章,介绍了如何用下图所示的微信开发者工具自动生成一个Hel ...
- 从程序员的角度分析微信小程序
昨天朋友圈被微信小程序刷爆了. 我赶快在书架上拿出三年前买的书,把上面的土擦干净,压压惊. 作为一个并不是资深的程序员. 从程序员的角度分析一下微信小程序,欢迎指点. 首先吐槽 微信小程序只发了200 ...
- 微信小程序开发《三》:微信小程序请求不能使用session的原因及解决办法
本人在前面的微信小程序开发<二>中提到要想在服务端保持状态需要在客户端第一次请求服务器的时候给客户端返回一个sessionid,由客户端在本地保存,下次请求的时候在header里面带上这个 ...
- 微信小程序开发之如何哪获取微信小程序的APP ID
微信小程序的开发工具,在新建项目的时候,默认提示填写APP ID,如果不填写AppID 也是可以本地测试和开发的,但是无法通过手机调试,只能在开发工具里查看 如果需要真机调试微信小程序,需要安装微信6 ...
- 推荐给Web前端开发人员的一些书籍(从基础到架构阶段)
有很多人问我说作为一个前端开发人员都需要看一些什么书籍,尤其是刚入门的新手,今天我整理了一下推荐给大家,大佬绕过. HTML+CSS+JavaScript 网页设计 从入门到精通 作为一个前端新手,强 ...
- Web前端_微信小程序实战开发
微信小程序开发实战教程 一.微信小程序 它是一种混合开发的方式. 是安装在微信中的程序(一个程序最多2M空间). 1.1 注册 1 2 点击立即注册:进入下方页面 3 4 点击小程序进入表单填写页 ...
- [转]微信小程序,开发大起底
本文转自:http://blog.csdn.net/baiyuzhong2012/article/details/54378497 作者简介:张智超,北京微函工坊开发工程师,CSDN微信开发知识库特邀 ...
随机推荐
- 凝结时光:ImageMagick 制作 gif
从去年12.12开始,工作日都会从单位的落地窗向外拍一张照片,有点每日打卡的意思.weekday 是一天不落的,weekend 不是每次都到单位,落了几次. 想法来自上学的时候,有同学在同一个地方,拍 ...
- iOS基础 - 核心动画
一.核心动画 l 核心动画基本概念 l 基本动画 l 关键帧动画 l 动画组 l 转场动画 l Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事 ...
- 【hanoi】hanoi移动次数和移动步骤
#include<stdio.h> #include<stdlib.h> //移动次数 int hanoi(int num) { ; ) { ; } else { all = ...
- 从异步更新进度想起的事儿——IProgress
今天,在群里向大家请教了这样一个问题:“两个对象(类.窗体或什么)之间,要完成比较频繁的报告进度更新都有哪些好的方式”,Somebody 跳出来给出了个“IProgress”,没了解过,后面围绕着它讨 ...
- 《C++游戏开发》笔记十三 平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9611887 作者:七十一雾央 新浪微博:http:/ ...
- 运用Unity实现AOP拦截器
运用Unity实现AOP拦截器[结合异常记录实例] 本篇文章将通过Unity实现Aop异常记录功能:有关Unity依赖注入可以看前两篇文章: 1:运用Unity实现依赖注入[结合简单三层实例] 2:运 ...
- 项目Splash页面的开发与设计
项目Splash页面的开发与设计 首先建立一个安卓的项目,然后修改manifest.xml文件,修改应用程序的logo和显示名称,效果图如下: 对应的代码如下: 1 <?xml version= ...
- Lucene全文检索(一)
全文检索的概念 1.从大量的信息中快速.准确的查找要的信息2.收索的内容是文本信息3.不是根据语句的意思进行处理的(不处理语义)4.全面.快速.准确是衡量全文检索系统的关键指标.5.搜索时英文不区分大 ...
- STM8S ADC初始化设置及应用
//ADC通道号定义 #define ADC_Chanel0 (unsigned char)0x00 #define ADC_Chanel1 (unsigned char)0x01 #define A ...
- 用JSP+JavaBean开发模式实现一个销售额的查询
数据库使用mysql,如下: vo包的Sales类: package com.vo; public class Sales { public String salestime; public fl ...