热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

今日头条适配方案_探索头条小程序开发!JavaScript为什么成了众多小程序的首选?...

从13年百度率先提出轻应用的概念以来,支付宝,微信等好多大流量App都借助自己的平台,推出了小程序。小程序的优势很明显:轻量
1af764501f2b5ab09697ed9ade7a1f8c.png

从13年百度率先提出轻应用的概念以来,支付宝,微信等好多大流量App都借助自己的平台,推出了小程序。小程序的优势很明显:轻量、无需安装、随用随走、性能又可以媲美原生的应用,更重要的是可以充分发挥各自平台的优势,带来更精彩、更丰富的用户体验。

而开发小程序,就不得不提Javascript与Node.js。

Javascript是什么?

0d99c08414dfe35616b99a81dcc4cede.png

Javascript其实跟Java也没什么关系,它的官方名称为ECMAScript,是一种解释性的脚本语言,可以嵌入HTML,然后在浏览器中运行。HTML大家应该都知道,是一个网页的描述文件,它是静态的,而Javascript能够为这些静态的页面添加动态内容,所以在前端开发中必不可少。

早期的Javascript之所以流行,是因为其功能强大,在不需要服务器的情况下就能在客户端大有建树,使得浏览器中的网页不再呆板死寂!但也正因为Javascript的动态性,网站的安全性能无法得到有效的保障,所以也诟病不少!

2009年,随着封装了Chrome V8引擎的Node.js发布,使得Javascript又获得了新生,和PHP,Python等语言一样,成了服务器端开发的利器。时至今日,各种基于Javascript的框架层出不穷,不仅在前端开发中风采不减,而且在混合开发(Hybrid)领域大放异彩,涌现了React Native,Angular UI等优秀框架。

为什么是Javascript?

f390c94a8d5c5ca0cfb4a3759fba149d.png

小程序开发,大家为什么不约而同的选择了Javascript?

首先,与它与生俱来的优势是分不开的,即跨平台、面向对象、事件驱动等。

其次,就是Node.js的带来强大的服务器环境支持。Node.js的单线程、异步I/O、事件驱动等特点可以解决应用的高并发,加上强大的V8引擎来解释Javascript,正好适合小程序的业务特点。

所以,在平台端搭建小巧的Node.js服务器,然后用Javascript开发小程序,就成了现有平台们的首选。

小程序的基础架构

d9ca02e4092d3b601a7ed410b1dac93d.png

探索各大平台的小程序开发,不难发现,基本上都是由4类文件组成:

一是用来描述页面信息的XML文件(相当于Web中的HTML文件);

二是用来美化页面的XCSS文件(CSS样式文件,X在不同平台可能有不一样的字母);

三是用来处理事件的Javascript文件(标准的JS文件);

四是用来声明配置(路径、信息等)的JSON文件(或其它的用来描述配置信息的文件,但以JSON居多,毕竟大家都熟悉,和Javascript最般配)。

其实小游戏和小程序的框架是类似的,只不过小程序中可能不需要太多的页面,所以有些会省去页面文件和CSS文件,主要是基于H5的Canvas(同时支持2D和3D WebGL)来开发。

为什么不用H5?

055589f6cb2845833d9fc37897383405.png

很多开发过H5应用的朋友也会纳闷,为什么平台的小程序不直接用H5,而是都自立门户,定义自己的规范呢?

首先,是各自平台的展现形式不一样,即所用的控件有很大的不同,H5并不能在不同的平台更好的适配,反而会降低用户体验满意度。

其次,每个平台都有自己的特有的API体系,H5开发也不能做到适配所有。

总之,平台的差异性,资源的差异性,决定了规范的差异性,与其适配折中,不如自定规矩,然后发挥更大的优势!

探索头条小程序

今日头条的小程序一直在秘密的进行着。这两天有点空闲,看了看API,跟其它平台相比,并没有特别的不同。

头条小程序充分结合了其场景:大流量入口(搜索、微头条、我的页面)、内容匹配(个人首页、文章详情页、小视频详情页)、广告投放(广告、频道、钱包)等。

但是在数据存储、文件存储、云端开发等环节还相对薄弱,毕竟头条的云端产品还不曾露面(不知道会不会做?),由于其还没有正式上线,在内测版体验还算不错,值得期待!

小程序的未来

小程序依托平台的魅力,已经展现了其特殊的优势。如何与自家平台的特色相关联,平台也是想尽了方法,用尽了策略。

现阶段,大家对小程序的接受还是有限,大家最担心的是小程序带来的平台臃肿和混乱。

不管担忧也罢,不习惯也罢,小程序都会成为一种发展趋势。借助云计算和5G的发展,小程序一定会带来突破性的发展。

想学编程的朋友们,不要一天到晚盯着大数据、人工智能了,从Javascript开始也是个不错的选择哦!



推荐阅读
  • 本文深入探讨了Redis中的两种主要持久化方式——RDB(Redis Database)和AOF(Append Only File),并详细解析了两者的实现机制、优缺点以及在实际应用中的选择策略。 ... [详细]
  • 本文详细探讨了HTML表单中GET和POST请求的区别,包括它们的工作原理、数据传输方式、安全性及适用场景。同时,通过实例展示了如何在Servlet中处理这两种请求。 ... [详细]
  • 腾讯视频 Node.js 服务国庆阅兵直播高并发实战
    本文分享了腾讯视频团队在国庆阅兵直播项目中,如何利用Node.js服务成功应对2.38亿次观看的高并发挑战。文章将从服务架构、可用性保障、缓存策略、日志与告警等方面详细解析。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了如何在不同操作系统和设备上设置和配置网络连接的IP地址,涵盖静态和动态IP地址的设置方法。同时,提供了关于路由器和机顶盒等设备的IP配置指南。 ... [详细]
  • 本文详细介绍了如何在Linux系统中安装和配置Node.js,包括从官方下载、编译安装到运行基本示例的全过程。 ... [详细]
  • 在跨浏览器开发中,一个常见的问题是关于如何在鼠标悬停时显示图片提示信息。本文深入探讨了 IE 浏览器对 IMG 元素 alt 属性的特殊处理,并提供了最佳实践建议。 ... [详细]
  • 福克斯新闻数据库配置失误导致1300万条敏感记录泄露
    由于数据库配置错误,福克斯新闻暴露了一个58GB的未受保护数据库,其中包含约1300万条网络内容管理记录。任何互联网用户都可以访问这些数据,引发了严重的安全风险。 ... [详细]
  • 本文深入探讨了 Prototype.js 框架及其与 JavaScript 原生 toString() 方法之间的区别,适合对前端开发感兴趣的开发者阅读。文章将帮助读者理解两者在功能实现和应用场景上的不同,从而更好地利用这些工具进行高效编程。 ... [详细]
  • MQTT协议:轻量级消息传输的基石
    MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种基于发布/订阅模式的轻量级通信协议,适用于低带宽、高延迟或不可靠的网络环境。该协议基于TCP/IP构建,由IBM在1999年首次推出,旨在通过最小化网络流量和代码量,为远程设备提供高效、可靠的消息传输服务。 ... [详细]
  • Node.js中子进程的创建与管理详解
    本文深入探讨了Node.js中如何使用child_process模块来创建和管理子进程,包括exec、spawn和fork三种方法的具体应用及其实现细节。 ... [详细]
  • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
  • 使用 NDB 提升 Node.js 应用调试体验
    本文介绍了由 Google Chrome 实验室推出的新一代 Node.js 调试工具 NDB,旨在为开发者提供更加高效和便捷的调试解决方案。 ... [详细]
  • 每位开发者都应该拥有一个展示自我技能与分享知识的空间——个人技术博客。本文将指导你如何使用静态网站生成器Hexo结合GitHub Pages搭建这样一个平台。 ... [详细]
author-avatar
woshishl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有