iOS开发者的一些前端感悟

很多前端工程师会把自己比作“魔法师”,而对于JavaScript这门语言,我也想把它唤作一门“有魔力的语言”。因为这群有无限想法的人,真的在用它创造各种让你惊叹的事物。

Web三件套
Web三件套

一、前言

几年前,笔者还是一名初涉编程的学生,对于开发的各个领域都倍感新奇。曾经在知乎一个编程相关的问题下,看到一个关于各个领域的诙谐论调,谈到前端,他概括为:“前端简单来说就是画网页”。笑谈过后,笔者也不经意间留下了前端很简单、比较低端的印象。
后来有了几年的移动端开发经历,后端也有一些实践。在最近的一份工作经历中,开始逐渐了解了一直未曾涉足的前端领域。这段经历切实地印证了“无知者无畏”这句话,因为我逐渐发现了前端的魅力所在,甚至被她所吸引。
这篇文字我分类在了随笔中,严格来说它不算一篇技术文章,写下来的目的是想记录一番自己的感悟,也希望和各位前端的前辈以及曾经和我有一样想法的同学多多交流。

二、移动端的开始。

大学的时候,学院科创基地在项目领域的实践顺序便是先从前端开始入门,完成一个网页项目之后,开始自由选择后端、移动端,或者继续深耕前端。那时对前端有了最初的印象:通过编程创造一个网页。它的容易入门,让最初的我觉得这个领域不过如此。各种培训机构对于前端教学的猛烈势头,也造就了我对于这个技术方向“低端”的误解。所以转而开始 iOS 开发的学习。
转眼几年过去,在移动端学习的过程中,也在不断地了解着其他领域。由于移动端对后端的依赖,自己也开始了后端开发的实践,对几种后端语言都有了尝试。但是一直以来,对于前端都只是停留在能够简单地写一些 HTML,粗略地读懂前端的代码。而对于它的理解,更是和最初无异。

三、大前端的工作经历

前段时间开始了在某数十人大前端团队工作的经历,岗位 iOS 开发,团队中移动端工程师负责ReactNativeHybrid等项目的 Native 部分。由于工作需要,开始了JavaScript的学习。曾经对这门语言的认识是“操作DOM,从而实现网页中UI、数据等的动态部分”。
团队中前端工程师的工作内容,也和我印象中的大大不同。他们会进行React框架的本地化改进,会为ReactNative添加更丰富的功能,他们更会创造一个个有想法的产品,比如根据注释自动生成标准化文档的工具、协作管理和测试API的平台等等,我印象中网页的画师竟然也可以是各种富有创意和实用性的产品的创造者。这让我开始重新认识前端这个领域。

四、对前端的重新认识

随着了解的加深,我开始接触到更多开拓了眼界的前端项目,也对前端工程师有了全新的理解。

  • 永远不熄灭一统三端的雄心
    由于任何平台都必备 Web 运行环境,造就了“每当一个新的平台出现,都是前端工程师的新舞台”的局面。
    个人电脑普及之后,由于 Windows 和 Mac OS 操作系统都有各自的市场,每当一款软件推出,开发人员都必须为两个平台分别使用不同的语言编写不同的桌面客户端。这个时候前端工程师开始站了出来,他们创造了Electron,想要用Web三件套来构建跨平台的桌面客户端。
    在智能手机风靡的今天,他们又创造出了PhoneGap,想要用Web三件套来开发跨平台的移动应用程序。他们创造了Weex,甚至想用一套Web代码构建各移动平台的原生应用程序。他们还创造了ReactNative,想要用Web代码编写各平台的原生应用程序。
    他们为了这个宏伟的目标不断尝试,而桌面客户端或移动端工程师则在不停地追随他们的工作。(哭
  • 百家争鸣的开发框架
    对于各种设计模式,前端工程师们总是冲在前面进行尝试,各种前端开发框架也就层出不穷。ReactAngularVue,虽然彼此之间竞争激烈,但无疑他们都各有所长,也深刻改变了前端开发的方式。可以说,对于前端工程师,“与时俱进”是最基本的要求,因为这群人总在不停地创造新东西。
  • 后端?我也可以
    谁说前端真的就永远停留在前端?node.js告诉我们前端工程师也可以进行后端开发。而且由于 JavaScript 的语言、以及对应引擎的特点,node架构的项目在某些场景下还有着优秀的表现。
  • 在各种场景中进行创造
    由于前端项目在各种平台中的通行,以及浏览器在个人电脑中的使用方便性,前端工程师创造了各种可以方便我们生活的产品。可以说,很多前端工程师是具有优秀产品经理的想法的。
    笔者使用的博客框架Hexo以及同样非常优秀的Ghost,可以非常方便地进行个人博客网页的自动化生成。
    其他的各种JavaScript项目,笔者不一一列举了,总之你会发现不断地发问,“它竟然可以做到这个?”
  • 无所不能的JavaScript
    有魔力的JavaScript
    有魔力的JavaScript

    很多前端工程师会把自己称作魔法师,因为它们会创造出各种神奇的项目,满足各种切实的需求。这一切都是因为它们有 JavaScript 这个有魔力的武器。在 Github 语言排行榜中中雄踞第一,那么多人都在使用它做着各种有趣的事情。又或者说是脚本语言的“无所不能”,另一个出色的脚本语言 Python,也同样在做着各种神奇的事情。

五、笔者的最终感悟

自己的职业规划一直都是成为一个全栈工程师,进而成为一个懂技术的产品经理。后端作为一个项目的基石,所以一直在进行着尝试,也规划着即将发力学习。移动端是实践已久的领域。而前端,一直都被自己所忽视。开始了解之后,竟然发现前端这个领域人人都是产品经理,让我觉得移动端、后端的工程师总是在专注着自己的部分,而前端工程师却是最有产品视野的,他们总思索着各种新奇的想法。事实也确实如此,相比起来,前端领域是极其有活力的。自己接下来,也将开始大前端的探索。

后记

无知者无畏。曾经觉得前端浅显,觉得其他领域高端。经过了解才知它的魅力。确实,前端入门门槛很低,然而它的上限确实无穷高。不甚了解的时候,心中有莫名其妙的不屑。了解得越多,越发产生了敬畏。技术的鄙视链一直存在,现在却发现,总是叫嚣着鄙视某个领域的人,多半对这个方向不甚了解。只有在某个领域做到顶端的人,才有资格评判高下。哪天尤雨溪要是发话:“嗨,前端这个方向,不过如此。”那我可能就真的会信了吧。(笑

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366923.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows下github 出现Permission denied (publickey)

github教科书传送门:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 再学习到"添加远程仓库"的时候遇到了 Permission denied (publickey) 这个问题, 总结来说以前的步骤如下所示: 1、git config --glo…

[UE4]嵌套Canvas

转载于:https://www.cnblogs.com/timy/p/9090642.html

写博客的这几个月,获益良多

1.前言 也将近过年了,看了那么多人搞了年会总结。自己活跃社区这几个月,改变了不少,收获也不少。就想写下这段时间写文章的一些总结,统计下‘成绩’,说下感想,就写了这篇文章。这次总结的关键词就是&#x…

shiro 权限 URL 配置细节

转载于:https://www.cnblogs.com/hwgok/p/9100277.html

2016 年崛起的 JS 项目

本文是我对中文版 risingstars2016 的整理,而本人就是中文版的译者,首发于知乎专栏 前端周刊。共 21384 字,读完需 30 分钟,速读需 5 分钟。长江后浪推前浪,如果你能花 30 分钟读完我 6 个小时翻译的内容,相…

php 开启命令模式,如何启用PhpStorm中的命令行工具

本篇文章主要给大家介绍如何使用phpstorm中的命令行工具。PhpStorm下载地址:PhpStorm使用命令行工具,我们可以直接从IDE调用命令!在我们使用任何命令行工具之前,我们必须在设置中启用它。涉及到的步骤如下:使用命令行工…

React Native项目自动化打包发布

今天这篇文章的目的是在rn项目的构建,并不会涉及到rn框架或者使用的讲解,说起构建,特别是前端构建大家应该很快会想到webpack、Grunt、 Gulp等。而这些工具在rn项目中就显得有些鸡肋。所以在此给大家分享一下不使用构建工具实现rn项目自动化打…

Python程序员之面试必回习题

写在前面 近日恰逢学生毕业季,课程后期大家“期待苦逼”的时刻莫过于每天早上内容回顾和面试题问答部分【临近毕业每天课前用40-60分钟对之前内容回顾、提问和补充,专挑班里不爱说话就的同学回答】。 期待的是可以检验自己学习的成功;苦逼的是…

SpringMVC原理MVC设计思想

什么是MVC? MVC是一种架构模式 --- 程序分层,分工合作,既相互独立,又协同工作 MVC是一种思考方式 --- 需要将什么信息展示给用户? 如何布局? 调用哪些业务逻辑? MVC流程图如下图所示: MVC核心思…

Hbase 的javaAPI基本操作用 在idea上的实现

1.保证集群开启&#xff1a; jps有如下进程 2.pom文件中的依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sche…

旅行报告:JavaOne 2013 –重归荣耀

我已经回来几天了&#xff0c;需要赶上过去几天一直搁置的所有事情。 对我来说&#xff0c;这是一年中最忙的时间。 JavaOne和OpenWorld在旧金山的整整一周。 一个非常简短的旅行报告。 年度ACED简报 你们中许多人都知道我是Oracle社区认可计划&#xff08;称为“ ACE计划 ”&…

ElasticSearch 数据分片

一、ElasticSearch 分片 ElasticSearch集群中有许多个节点(Node)&#xff0c;每一个节点实例就是一个实例&#xff1b;数据分布在分片之间。集群的容量和性能主要取决于分片如何在节点上如何分配。将数据分片是为了提高可处理的容量和易于进行水平扩展&#xff0c;为分片做副本…

Unity3D_(游戏)2D坦克大战 像素版

2D坦克大战 像素版 游戏规则&#xff1a;  玩家通过上、下、左、右移动坦克&#xff0c;空格键发射子弹 敌人AI出身时朝向己方大本营(未防止游戏快速结束&#xff0c;心脏上方三个单位障碍物设为刚体)    当玩家被击杀次数>3  或  心脏被子弹击穿  重新加载游戏…

认识Skeleton Screen【屏幕加载骨架】

一直以来&#xff0c;无论是web还是iOS、android的应用中&#xff0c;为了提升应用的加载等待这段时间的用户感知体验&#xff0c;各种奇门遁甲之术层出不穷。其中&#xff0c;菊花图以及由它衍生各种加载动画是一个非常大的流派&#xff0c;如下图所示&#xff1a;由它衍生而出…

使用Apache Zookeeper进行协调和服务发现

面向服务的设计已被证明是针对各种不同的分布式系统的成功解决方案。 如果使用得当&#xff0c;它会带来很多好处。 但是随着服务数量的增加&#xff0c;了解部署什么以及部署在何处变得更加困难。 而且&#xff0c;由于我们正在构建可靠且高度可用的系统&#xff0c;因此还需要…

微信小程序无埋点数据采集方案

作者&#xff1a;lxj&#xff0c;点餐终端团队成员前言 相信业务团队对这样的场景不会太陌生&#xff1a;打点需求&#xff1a; 每新上一个功能&#xff0c;数据产品便会同步加上打点需求&#xff0c;当数据打点上线后一段时间&#xff0c;数据产品/业务产品便会针对数据的转化…

php异步请求$.post,如何用PHP实现异步请求、忽略返回值

本篇文章的主要内容是用PHP实现异步请求、忽略返回值&#xff0c;具有一定的参考价值&#xff0c;有需要的朋友可以看看&#xff0c;希望能对你有帮助。项目需要&#xff0c;场景如下&#xff1a;某个条件下需要调用接口发送多个请求执行脚本&#xff0c;但是由于每个请求下的脚…

Linux NTP

ntpd服务的设置: ntpd服务的相关设置文件如下&#xff1a; /etc/ntp.conf&#xff1a;这个是NTP daemon的主要设文件&#xff0c;也是 NTP 唯一的设定文件。/usr /share/zoneinfo/:在这个目录下的文件其实是规定了各主要时区的时间设定文件&#xff0c;例如北京地区的时区设定文…

《React 学习之道》The Road to learn React (简体中文版)

通往 React 实战大师之旅&#xff1a;掌握 React 最简单&#xff0c;且最实用的教程。 前言 《React 学习之道》这本书使用路线图中的精华部分用于传授 React&#xff0c;并将其融入一个独具吸引力的真实世界 App的具体代码实现。 如何掌握 React 存在特别多的路线图。本书提…

vue.js(三)

这里该记到vue的组件了&#xff0c;组件基础篇 1.vue组件的基本书写方式 Vue.component(button-counter, {data: function () {return {count: 0}},template: <button v-on:click"count">You clicked me {{ count }} times.</button> }) 上面定义了一个名…