开发工具分享: Web前端编码常用的在线编译器

1.OneCompiler

工具网址:https://onecompiler.com/

OneCompiler支持60多种编程语言,在全球有超过1280万用户,让开发者可以轻易实现代码的编写、运行和共享。

OneCompiler的线上调试功能完全免费,对编程语言的覆盖也很全,他们的编译环境除了对Java/C++/Python/Swift等主流编程语言的支持,还支持了Mongodb/Redis/MySQL等数据库脚本语言和Vue/React等Web前端编程框架。

OneCompiler除了提供线上编译环境,还提供了编程语言教程和API手册方便用户们学习。

2.Programiz

工具网址:https://www.programiz.com/

Programiz的宣传语是"Learn to Code for Free",他们主要提供免费的编程教学和代码样例。

网站上提供了学习编程语言和数据结构的免费教程,还提供了OJ题库用来编程练习。

网站的在线编译环境也是对用户完全免费。

Programiz除了提供网页版,还提供了基于iOS和Android平台的手机app版本,方便用户在手机上学习。

3.myCompiler 

工具网址:https://www.mycompiler.io/

轻量级且小众的在线编程网站,网站上有个"Recent"按钮,点进去可以看到全球开发者最近在该网站上运行了哪些代码,特别有趣味。

myCompiler除了支持C/C++/Java/Python等主流热门的编程语言,还提供了对汇编语言的支持,这一点对学习嵌入式开发的用户很有帮助。

4.CodePen

工具网址: https://codepen.io/

很成熟且功能强大的前端编程工具,支持Vue/React等主流的前端编程库。

提供了完全免费的代码托管和代码测试功能,支持用户自定义工具界面和代码自动补全。

除了编译和调试,还支持在网站上保存自己的代码笔记。

用于线上开发的时候,CodePen对HTML/CSS/JavaScript等前端语言的编辑和预览功能做得比其他网站更强大。

除了对开发环境的支持,CodePen还分享了来自全球开发者的酷炫的前端网页作品。

5.JSFiddle

工具网址:https://jsfiddle.net/

JSFiddle在编译调试前端代码的时候十分的简洁且高效。

在JSFiddle上面可以利用现有的模板轻松创建自己的前端项目。

JSFiddle对调试和预览很友好,支持炫酷的语法高亮和html/css的网页界面渲染。

JSFiddle在调试JavaScript的时候还支持引入React/Vue/Angular等第三方库。

6.CodeSandbox

工具网址:https://codesandbox.io/

除了支持在线的代码编译调试,还支持单元测试。

覆盖的前端框架很广,支持React/Vue/Next.JS/Node.JS等大多数JavaScript编程框架。

可以让开发者根据自己的开发需要来定制单独的虚拟开发环境microVMs。

CodeSandbox为开发者们提供了内置的Docker容器来部署微服务和数据库应用,此外,CodeSandbox还提供了专门的VsCode插件。

对于大规模前端应用的开发可以考虑这个工具,毕竟功能和开发环境很强大,如果只是为了学习编程语法,建议使用其他网站,因为CodeSandbox内置了Docker容器,进入代码界面的时候会首先启动microVMs虚拟环境,启动时间比较长。

7.Swiftfiddle

工具网址:https://swiftfiddle.com/

苹果应用编程语言Swift语言的线上编译环境,目前该网站最高支持到了Swift 6.x版本。

如果暂时不想买苹果电脑,或者windows笔记本使用惯了,懒得拿出抽屉里面的苹果笔记本,可以考虑使用该网站进行Swift语言的编译和开发,进入网站即可编码调试,不依赖Mac系统的xcode开发工具。

网站是开源的,项目代码地址在:  https://github.com/swiftfiddle/swiftfiddle-web

补充:以上截图中使用的JavaScript代码,基于回调函数实现的模拟订单交易系统。

function checkInventory(order, callback, errorCallback) {
    console.log(`Verifying inventory: ${order.productId}`);
    setTimeout(() => {
        Math.random() > 0.1 ?
            callback({...order, reserved: true}) :
            errorCallback('Insufficient inventory');
    }, 1000);
}

function processPayment(order, callback, errorCallback) {
    console.log(`Processing payment: ${order.amount}`);
    setTimeout(() => {
        Math.random() > 0.3 ?
            callback({...order, paid: true}) :
            errorCallback('Payment failed');
    }, 1500);
}

function shipOrder(order, callback) {
    console.log(`Processing order shipping: ${order.address}`);
    setTimeout(() => {
        callback({...order, shipped: true});
    }, 2000);
}

function placeOrder(order) {
    checkInventory(
        order,
        (reservedOrder) => {
            processPayment(
                reservedOrder,
                (paidOrder) => {
                    shipOrder(paidOrder, (finalOrder) => {
                        console.log('Order completed: ', finalOrder);
                    });
                },
                (paymentError) => {
                    console.error('Error in payment stage:', paymentError);
                }
            );
        },
        (inventoryError) => {
            console.error('Error in inventory stage:', inventoryError);
        }
    );
}

const testOrder1 = {
    productId: 'P123',
    amount: 99.99,
    address: 'Boston'
};

const testOrder2 = {
    productId: 'P124',
    amount: 100,
    address: 'London'
};

placeOrder(testOrder1);
placeOrder(testOrder2);

运行结果:

Verifying inventory: P123
Verifying inventory: P124
Processing payment: 99.99
Processing payment: 100
Processing order shipping: Boston
Processing order shipping: London
Order completed:  {
  productId: 'P123',
  amount: 99.99,
  address: 'Boston',
  reserved: true,
  paid: true,
  shipped: true
}
Order completed:  {
  productId: 'P124',
  amount: 100,
  address: 'London',
  reserved: true,
  paid: true,
  shipped: true
}

[Execution complete with exit code 0]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员与背包客_CoderZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值