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

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 这个有魔力的武器。在 Github 语言排行榜中中雄踞第一,那么多人都在使用它做着各种有趣的事情。又或者说是脚本语言的“无所不能”,另一个出色的脚本语言 Python,也同样在做着各种神奇的事情。

五、笔者的最终感悟

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

后记

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

iOS开发者的一些前端感悟相关推荐

  1. iOS开发者知识普及,Swift 挑战 Objective-C,谁会笑到最后?...

    **前言: ** 目前全球共有超过 7 亿台 iPhone 处于活跃状态,全球约有2000万名 iOS 开发者,这造就了 iOS 作为全球第二大移动设备平台的状态. 虽然安卓系统的全球市场占有率超过 ...

  2. iOS开发者React Native学习路线

    2019独角兽企业重金招聘Python工程师标准>>> http://blog.talisk.cn/blog/2016/08/13/RN-Learning-path-for-iOS- ...

  3. 开放下载!《iOS开发者必读资讯》

    简介:对于开发者和程序员来说,对 WWDC 20 我们有哪些新发现和新思考?淘系技术客户端团队将从Swift语言.metal的变化.中间件相关的-网络技术相关.隐私适配等各个话题,来系统输出我们的关注 ...

  4. 在Windows笔记本上调试运行在iOS设备上的前端应用

    我在每天工作中需要在不同的移动设备上测试我们开发的前端应用是否正常工作,比如iOS设备和Android设备.我用的工作笔记本电脑又是Lenovo的,安装的是Windows操作系统. 有的时候一个开发好 ...

  5. 让阿里告诉你, iOS开发者为什么要学 Flutter !

    2019 年无疑是 Flutter 技术如火如荼发展的一年.每一个移动开发者都在为 Flutter 带来的"快速开发.富有表现力和灵活的 UI.原生性能"的特色和理念而痴狂,从超级 ...

  6. iOS开发者知识普及,Swift 挑战 Objective-C,谁会笑到最后?

    前言: 目前全球共有超过 7 亿台 iPhone 处于活跃状态,全球约有2000万名 iOS 开发者,这造就了 iOS 作为全球第二大移动设备平台的状态. 虽然安卓系统的全球市场占有率超过 iOS 系 ...

  7. 当下移动开发唱衰,iOS开发者如何才能涅槃重生?

    2007年1月9日,乔布斯发布了第一代iPhone手机,他重新定义了人们对于手机的认知,那一天,也是移动互联网时代的开端. 次年7月,在 WWDC 苹果全球开发者大会上,苹果宣布 App Store ...

  8. 同为iOS开发者为什么有人4k有人40k?原因就在这里!

    前言 移动开发真正火起来其实就是最近这几年,iOS 开发技术因为发展也就才这么几年,所以值得做的事情还有很多,这就造成了每年苹果的 WWDC 都会推出一堆新的特性和 API. 整体上来说,这对业界是好 ...

  9. 作为3-5年的iOS开发者:你为什么迟迟进不去大厂呢?

    本文对象是内心渴望进大厂的童鞋,希望你能咬牙看完,转折点也许就发生在今天. 这几年来,至少几十个个朋友跟我聊起这个话题,想进大厂-一门心思进大厂,但是在聊的过程中,我就可以判定: 当下及未来一段周期的 ...

最新文章

  1. Linux内核之内核同步(三)——自旋锁
  2. JS String类型整理
  3. 无约束优化算法——牛顿法与拟牛顿法(DFP,BFGS,LBFGS)
  4. android 读取文件相关
  5. php类如何变为静态调用,PHP类中静态方法如何调用非静态方法?_后端开发
  6. mysql+查看connection_如何查看MySQL connection id连接id
  7. 是介于小型机和微型计算机,第一章计算机基础解析.ppt
  8. DOS批处理删除文本文件重复的行
  9. CCF NOI1002 三角形
  10. java线程池示例_Java线程连接示例
  11. android 登录 service_如何优雅的实现自己的Android组件化改造?
  12. HTML5期末大作业:运动系列——NBA篮球主题学生网页设计(7个页面) HTML+CSS+JavaScript 体育网页设计HTML代码 学生网页课程设计期末作业下载 大学生网页设计制作成...
  13. 数据库之SQL笛卡尔积
  14. python nlpir_中文分词工具--NLPIR/ICTCLAS的Python版本使用
  15. CAD-Cass小结(5)————WIN10安装并运行CAD2006及Cass7.0
  16. 伴随着三维全息投影技术的升级,物理屏幕将彻底消失
  17. 合同节水服务认证国内怎么申请?
  18. MPA(多页面模式)与SPA(单页面模式)
  19. 做好每周工作总结很重要
  20. Matlab 公式大全

热门文章

  1. python滑块验证(打码)+pillow裁剪图片
  2. 生成划掉的字_哪种备忘录划删除线,能划掉文字在字中间划线的便签
  3. h5+css3简单实现网页端五子棋游戏1.0版
  4. react redux mysql_实现React-redux的基本功能
  5. python提示takes no arguments_Python创建实例时提示错误takes no arguments,找不到什么原因?...
  6. go-ipfs-api
  7. 帅某---考研---高数笔记---汤家凤---第十章向量代数与空间几何
  8. 【Leetcode】1925. Count Square Sum Triples
  9. 数据链路层——局域网扩展
  10. python:实现newton_forward_interpolation牛顿前插算法(附完整源码)