在Cosmic JS开发人员聚焦系列的本期中,我们与Brandon Reid进行了交谈,Brandon Reid是一位位于德克萨斯州达拉斯的JavaScript开发人员,他目前是Simple Media的首席开发人员。 布兰登最近在Cosmic上为能源和航空客户Arnold Companies开辟了一个新的React / Node网站。 在LinkedIn和GitHub上关注Brandon ,并享受Q / A。

Cosmic JS:您开发软件已有多长时间了?
Brandon :我个人曾经为高中时玩过的PC游戏(称为Space Engineers)创建小型C#脚本(我知道!还能获得多少书呆子?)专业上,我没有开始构建生产级软件直到我在北德克萨斯大学获得学士学位的二年级。 那时是2015年,当时我是研究助理。现在已经三年了,我享受其中的每一分钟。

您首选的开发堆栈是什么?
我在使用JavaScript。 因此,我一直以来都是CERN堆栈。 Couchbase,Express,React和Node。 但是,由于使用了Cosmic JS,我将不得不切换我的后端首选项:Couchbase for Cosmic。 :wink:就UI框架而言,我一直以来都是Material UI设计。 它简单,优雅,并具有用于响应的庞大UI套件,可提供大量出色的组件。

您最为过去的哪些项目感到骄傲,为什么?
放下手,这是我在北得克萨斯大学担任研究助理时在Ram Ram Tutu博士的带领下开发的第一批生产应用程序之一。 他的研究实验室基于可穿戴技术构建了一个移动android应用程序,该应用程序可以监视在代码紧急情况下对患者执行的CPR的质量。 从本质上讲,护士会佩戴与android平板电脑同步的android smartwatch,该平板电脑将监视CPR的运动/质量。 该研究与弗里斯科的德克萨斯健康长老会合作。 我的工作是实现一个内部Web应用程序,该应用程序可以以图表/直方图的形式显示实时统计数据。 数据包括在CPR期间执行的泵的分钟率/分钟,泵/分钟数等。我必须在android设备和内部服务器之间实现后端同步网关,并使用完整的堆栈。 这个项目确实使我感到自己在医疗行业中发挥着重要作用并产生了影响。

进一步谈谈您构建应用程序的过程。
通常,在构建应用程序之前,我会尝试将一些高层图表放在一起,以列出该应用程序的重要功能,其中大多数是以交互/顺序图的形式。 然后,我将分析应用程序将具有哪种全局和可重用组件。 这有助于我更好地了解数据将如何在整个应用程序的组件树中流动以及需要实现哪种数据管理。 之后,我将实现某种类型的敏捷工作流,在开发冲刺中工作,并尝试将MVP发布给我的客户。 我希望与客户保持尽可能透明,并在每个步骤中将他们纳入敏捷过程。

您对今天正在使用的哪些技术感到兴奋,或者想了解更多信息?
哦,天哪,这是一个很大的清单。 我一直想了解很多很棒的东西。 使用某些提供3D渲染功能的JavaScript库(例如3D.js),我感到非常兴奋。 随着现代浏览器功能的日益强大,我觉得我们将会看到使用3D内容的网站有所增加。 我也为在聊天机器人和其他用例中使用AI感到很兴奋,我一直渴望获得一些时间在Digital Ocean上启动AI服务器并使用它。 也! 反应动画库。 有一些非常有才华的开发人员在那里创建了一些很棒的动画。 等不及要花一些时间与他们一起玩了。

您刚刚完成了TAC的构建,将它从WordPress安装升级到了现代的API优先堆栈-那是什么?
建造TAC令人震惊! 在Cosmic中构建超快速的API后端,再顺利不过了。 我能够使用Cosmic的React Starter套件,并使用一个包装了NextJS及其SSR功能的出色样板来开始运行。 我从未遇到过Cosmic的问题,也从未联系过支持人员。 对于开发人员而言,这就是平台上的简单,轻松和优雅。 我喜欢看到大公司的这种趋势,最终摆脱了笨拙的系统,如WordPress / Drupal,并转向了更现代的Web堆栈。 作为专门从事React / Node的Full Stack开发人员,我对Web开发的未来感到无比兴奋。

TAC的后端由Node,Next.js和Express提供支持。 Next.js用于SEO优化以及站点路由的服务器端呈现功能。 由于它们是内置的,因此Next.js还可轻松与babel和webpack集成。我使用Next.js路由API为具有相同设计布局的页面呈现页面模板。 TAC的前端由React.js和世界上最受欢迎的React UI框架Material UI提供支持。 为了将Material UI与SSR结合使用,我不得不将网站包装在JSSProvider中,并使用CSSBaseline。 为了进行开发,我将Eslint用作linter,以获得更简洁,更一致的代码库。 由于TAC使用ES6 javascript,因此我还必须实现少量的polyfill才能将ES6转换为ES5,以便该站点可以与IE11一起使用。 我使用的一些著名的节点模块是:用于整个站点图像库的React-Image-Gallery,用于新闻编辑室的React-Masonry-Component和用于API请求的Fetch。 对于电子邮件服务/ API,我使用了nodemailer和mailgun。

我开始使用Cosmic的React Starter Kit来构建站点,它帮助我立即开始起步。 建立TAC的开始是从实施站点的所有全局变量(页眉,页脚,Favicon等)开始。 因此,我快速创建了一些javascript请求函数,以使用Cosmic的Node API从cosmic存储桶中提取数据。 我将这些全局组件添加到站点的主要_app布局中,因此每个页面都将使用这些全局组件进行包装和呈现。 从那里,我分析了哪些页面在多个页面或站点中具有可重用的组件,并根据我的分析为这些页面创建了组件视图。 从那里,我能够高效地剔除页面设计,并在运行时在宇宙桶中实现对象类型。 当我们接近网站发布时,我注意到了IE11的兼容性问题,因此不得不提出解决方案。 刚开始,我将在代码中进行浏览器嗅探,以显示在IE上可以正常运行的内容。 相反,我实现了Babel和一些polyfills以解决任何兼容性问题。

Cosmic JS Spotlight系列致力于展示使用现代工具构建应用程序的开发人员。 要与我们保持联系,请在Twitter上关注我们,并在Slack 上 加入对话 。

From: https://hackernoon.com/developer-spotlight-brandon-reid-197223f83ef0

开发人员聚焦:布兰登·里德(Brandon Reid)相关推荐

  1. JavaScript 发明者布兰登·艾克成为 Mozilla CEO

    Mozilla 董事会宣布委任联合创始人和现任 CTO -- Brendan Eich 为 Mozilla 新的 CEO,委任即时生效.同时宣布 Li Gond 为 COO,掌管包括云服务.IT.Ma ...

  2. “变态”的JavaScript 发明人--布兰登·艾奇

    "变态"的JavaScript 发明人–布兰登·艾奇(Brendan Eich) 布兰登·艾奇(Brendan Eich),JavaScript的发明人,在Mozilla公司担任首 ...

  3. Mozilla技术布道者给Web开发人员推荐Firefox插件列表

    本文作者Robert Nyman是Mozilla的技术布道者,从1999年开始从事Web前端开发 .让Web开发人员的生活尽可能轻松和高效,这是Firefox一直坚持的目标之一.通过提供工具和可扩展的 ...

  4. 全球100位最佳工程师,开发人员,编码人员和企业家,可以在线关注他们的github,推特,网站等

    想象一下,你可以与比尔·盖茨,詹姆斯·高斯林,鲍勃叔叔,埃隆·马斯克,昆西·拉尔森以及其他杰出的工程师,开发商和企业家等人在一起.想象一下,您可以自由地交流想法并与所有人共享知识. 这些聪明才智中的大 ...

  5. unity 开发游戏 认识_认识明天鼓舞人心的Unity开发人员

    unity 开发游戏 认识 Whether making short animated films, cinematic experiences or games that tackle social ...

  6. 50个高质量Java开发人员博客

    该页面的目的是收集最佳的100个Java博客,并帮助程序员找到可以阅读的优秀博客文章.其中一些博客可能不是Java开发人员编写的,但是Java开发人员应该发现它有用或有趣.阅读这些博客应该很有趣,并且 ...

  7. 《初级前端开发人员经常容易忽视几个细节问题汇总》

    <初级前端开发人员经常容易忽视几个细节问题汇总> 1.使用 变量.toString()的时候记得对变量进行判空 2.使用 字符串.indexOf()的时候记得对字符串变量进行判断是否为nu ...

  8. 软件开发向大数据开发过渡_如果您是过渡到数据科学的开发人员,那么这里是您的最佳资源...

    软件开发向大数据开发过渡 by Cecelia Shao 邵Ce It seems like everyone wants to be a data scientist these days - fr ...

  9. 初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎

    初级开发人员的缺点 by Syeda Aimen Batool 通过Syeda Aimen Batool 作为一名初级开发人员,我如何努力克服自己的挣扎 (How I'm working to ove ...

  10. 阿里巴巴如何改善开发人员在 K8s 上的体验?

    作者:邓洪超 阿里巴巴应用交付专家 前言 通过 K8s,用户能够自定义基础设施,可以平行的替换或改造平台的已有功能,而非只能局限在平台提供的能力之上构建.但正是这样的"白盒化"体验 ...

最新文章

  1. 浩鲸新智能解决方案工程师面试_华为解决方案技术工程师面试?
  2. 怎样在谷歌浏览器上加载金山词霸的取词插件?
  3. UTC/GMT/CST几种常见的时间概述
  4. MySQL连接方式:长连接或者短连接
  5. Swif语法基础 要点归纳(一)
  6. matlab把符号数,Matlab 符号与数值之间的转换
  7. [软技能] 现如今面对如层出不穷的类库,说说你的感受
  8. 记一次酷派尚锋Y75刷机
  9. 做个犀利的码农:如何持续培养/更新自己的开发技能
  10. pillow python histogram_Python中的PIL库
  11. CentOS 7 安装 jdk11
  12. 高一下册计算机教案,高一信息技术教案
  13. 向量场_方向向量和梯度
  14. 绩效考核的五大原则,你知道吗?
  15. Sql Server 2008服务启动失败,错误17058
  16. 在Ubuntu5.1中安装NVIDIA TNT2 M64老式显卡驱动程序..
  17. Sling CMS 学习:环境搭建(一)
  18. MATLAB字母识别
  19. excel单元表格里怎么嵌入表格?Smartbi都能解决
  20. Qt中SQL QSqlQuery 对象中prepare() 函数的用法

热门文章

  1. AJAX学习(一)AJAX基础
  2. 如何调用CAD命令行命令?
  3. EPIC/Steam 手柄没反应问题解决办法
  4. Google-Spyder:Google搜索引擎关键词检索结果抓取
  5. Exception in thread main java.lang.UnsatisfiedLinkError: com.mzlr.jni.Calculater.Sum(II)I at com.
  6. 鸿蒙哦叟,苕木匠时评:说鸿蒙“
  7. 网络安全七大赛道:全面梳理(重磅深度)
  8. python整数转换成英文表示
  9. qt中添加注释的快捷键_Qt Creator快捷键
  10. YOLOv4 改进 | 记录如何一步一步改进YOLOv4到自己的数据集(性能、速度炸裂)