1. 安装

go get -u github.com/gopherjs/gopherjs
2. 基本代码使用
备注: 这个只是一个简单的demo,进行pi 运算,结果还真是快

a. code
golang package main import (
"fmt"
"math"
"time"
) func term(k float64) float64 {
return 4 * math.Pow(-1, k) / (2*k + 1)
} // pi performs n iterations to compute an approximation of pi using math.Pow.
func pi(n int32) float64 {
f := 0.0
for k := int32(0); k <= n; k++ {
f += term(float64(k))
}
return f
} func main() {
// Start measuring time from now.
started := time.Now() const n = 50 * 1000 * 1000
fmt.Printf("approximating pi with %v iterations.\n", n)
fmt.Println(pi(n)) fmt.Println("total time taken is:", time.Since(started))
} 一般我们使用go run 运行code
但是使用gopherjs 我们用 gopherjs run b. 运行code go run main.go approximating pi with 50000000 iterations.
3.1415926735902504
total time taken is: 5.823561654s gopherjs run main.go gopherjs: Source maps disabled. Install source-map-support module for nice stack traces. See https://github.com/gopherjs/gopherjs#gopherjs-run-gopherjs-test.
approximating pi with 50000000 iterations.
3.1415926735902504
total time taken is: 2.534s
3. web 开发(主要是一些bindings)
a. 简单的alert code

app.go

package main

import (
"fmt" "github.com/gopherjs/gopherjs/js"
) func main() {
fmt.Println("Hello, playground")
js.Global.Call("alert", "Hello, JavaScript")
println("Hello, JS console")
} b. build gopherjs build app.go c. html 页面引用 添加 <script>app.js</script> 备注: 没有使用dom 操作的代码使用node 可以直接执行
4. 适用场景
后端golang 编写一次,多次使用,同时性能还不错,目前官方提供了好多方便的binding
比如基于electron 开发的应用使用 gopherjs-electron会有比较大的性能提升,很不错
的项目
5. 参考资料
https://github.com/oskca/gopherjs-electron
https://github.com/gopherjs/gopherjs
https://github.com/rongfengliang/gopherjs-demo
 
 
 
 

使用gopherjs 进行web 应用开发的更多相关文章

  1. web前端开发分享-目录

    1. web前端开发分享-css,js入门篇 2. web前端开发分享-css,js进阶篇 3. web前端开发分享-css,js提高篇 4. web前端开发分享-css,js工具篇 5. web前端 ...

  2. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  3. 用grunt搭建web前端开发环境

    1.前言 本文章旨在讲解grunt入门,以及讲解grunt最常用的几个插件的使用. 2.安装node.js Grunt和所有grunt插件都是基于nodejs来运行的,如果你的电脑上没有nodejs, ...

  4. web前端开发中常用的尺寸和位置

    我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...

  5. 【web开发 | 移动APP开发】 Web 移动开发指南(2017.01.05更新)

    版本记录 - 版本1.0 创建文章(2016.12.30) - 版本1.1 更正了hybird相关知识:增加了参考文章(2017.01.05): + Web APP更正为响应式移动站点与页面,简称响应 ...

  6. 4. web前端开发分享-css,js工具篇

    web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...

  7. 5. web前端开发分享-css,js深化篇

    一. css练习网易专题: 1. http://news.163.com/ 新闻 跟腾讯的新闻版式大体没有大的变化,只是细节. 2. http://news.163.com/photo/#Curren ...

  8. web前端开发学习内容

    应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准                       代码能 兼容主流浏览器.ie6.7.8.9 ff 等.    ...

  9. Web前端开发工程师养成计划【转载】

    Web前端开发工程师养成计划(入门篇) 最原始的忠告:这个世界上有想法的人很多,但是有想法又能实现它的人太少! 首先要感谢伟大的Web2.0概念.产品概念.用户体验概念.jQuery插件,是它们在中国 ...

随机推荐

  1. Eclipse 中从SVN下载的项目如何解除关联上传到另一SVN路径下

    首先选中项目右击-->team-->断开连接  选择第一个即可断开与上一个SVN关联 然后上传到另一SVN路径下 选中项目右击-->team-->Share Project  ...

  2. Art-Template模板引擎(原生写法与简洁写法)

    模板引擎:把js数据转换成html需要的页面,这就是模板引擎需要做的事     • native原生语法     1. 准备数据     2. 把数据转化成html格式的字符串 使用模板引擎 artT ...

  3. rdlc报表出现多余空白页面

    1.RDLC报表设计好后,在ReportViewer预览报表时,页数都正常:但在切换为整页模式时,常造成多了不少空白页出来.第一时间觉得不可思议,在ReportViewer看来正常,怎可能在整页预览时 ...

  4. 【Demo】jQuery 设置简单的分页

    功能描述: (1)设定起始页位置和每页的大小: (2)绑定自定义的分页事件,在事件中隐藏当前页不需要显示的行: (3)为表格添加页链接: (4)绑定链接的单击事件,在事件中触发表格分页事件. 效果图: ...

  5. Intellij IDEA的一些操作小技巧

    1.Presentation Mode 我们可以使用 Presentation Mode,将IDEA弄到最大,可以让你只关注一个类里面的代码,进行毫无干扰的 coding.可以使用Alt+v快捷键,弹 ...

  6. C++:创建线程初试

    1.使用CreatThread创建 #include <iostream> #include <Windows.h> using namespace std; /* 创建一个线 ...

  7. 033——VUE中安装使用vue-devtools调试工具用于监控数据变化

    vue官网:https://cn.vuejs.org/ 下的官方仓库:vue-devtools  安装到火狐或谷歌下都可以,安装成功之后,按F12查看就可以了

  8. C++复习9.面向对象编程

    C++ 面向对象编程概述 20131001 一些基本概念:封装.继承.组合.虚函数.抽象基类.动态绑定.多态性等等 1.一个笑话:如果坐在后排聊天的同学能够像中间打牌的同学那样安静的话,那么就不会影响 ...

  9. 远程调用与编译DS作业

    1.编译服务器上的ds作业 dscc /d 服务器地址:端口 /u 用户名 /p 密码 工程名称 /J 作业名称 解释: 作业名称:直接写作业名称即可,不用.pjb 2.执行服务器上的ds作业 dsj ...

  10. MATLAB基础知识tips

    网络论坛资源: MATLAB中文论坛https://i.cnblogs.com/EditPosts.aspx?opt=1 circshift 移位函数,circshift(A,SHIFTSIZE).S ...