Hello World from Objective-J

闲置手机变身高性能监控屏:AIDA64无线副屏全攻略(附模板下载) 本文详细介绍了如何利用AIDA64的RemoteSensor功能,将闲置手机或平板电脑改造为高性能监控屏的完整方案。从核心原理、服务器端部署、监控面板自定义,到解决常见的刷新慢等性能调优问题,提供了全流程实战指南。通过软件配置与局域网协同,无需复杂硬件改装,即可实现硬件状态的实时监控,并附有实用模板下载,助力DIY玩家打造个性化信息看板或机箱副屏。 阅读详情

在看了almost.at网站之后,我找到了Cappuccino。

 Cappuccino是一个很好的框架。有让我心动的UI层。很苹果。又能免去写

我决定看看这个用Objective-J的框架。

 

 

顺手译了一篇起步(意译):

原文:http://objective-j.org/learn/tutorials/objective-j-tutorial.php

 

 

Objective-J is a new programming language based on Objective-C. It is a superset of JavaScript, which means that any valid JavaScript code is also valid Objective-J code. Anyone familiar with JavaScript and object-oriented programming concepts, classical inheritance in particular, should have no difficulty learning Objective-J. Familiarity with Objective-C will be helpful, but it is not required.

Objective-J是一种新的编程语言。它基于Objective-C。它是Javascript的超集,这意味着,任何合法的Javascript代码都是合法的Objective-J代码。熟悉Javascript和OO编程概念的人-传统的继承概念-都不会在学习Objective-J的时候有困难。
熟悉Objective-C会很有帮助,但是不要求。

Objective-J has two types of objects, native JavaScript objects and Objective-J objects. Native JS objects are exactly what they sound like, the objects native to JavaScript. Objective-J objects are a special type of native object added by Objective-J. These new objects are based on classes and classical inheritance, like C++ or Java, instead of the prototypal model.

Objective-J有两种对象-原生Javascript对象和Objective-J对象。原生JS对象,名符其实的javascript的对象。Objective-J对象是一种特殊的原生对象。这些对象基于对象结构和继承,就像C++和Java一样,而不是prototypal模式的。
最简单的一个类:
 
一个类从@implementation开始,到@end结束。
方法:
 
-代表,这个方法是实例方法。
+可能代表类方法,we'll find out.
注意方法参数:
- (void)setJobTitle:(CPString)aJobTitle company:(CPString)aCompany
类型最好是声明出来,当然也不强求。

In Objective-J, method names are split across all of the arguments to a method. These are not technically named arguments. The method above is named setJobTitle:company:. This is achieved by concatenating the first part of the method with all the subsequent labels, in order.

在OJ中,方法名是分开的。这些参数实际上说,并不是命名参数。 上面这个方法的名字是 setJobTitle:company:

 

The parameters to a method must be passed in order, and all of the parameters are required. To call such a multiple parameter method, we pass our data after each label:

参数在传入时是有顺序的,并且都是要求的(没有默认参数这一说)。调用一个多参数的方法,可能是这样的:

 

[myPerson setJobTitle:"Founder" company:"280 North"];

As you can see, each colon is followed by the input that will be mapped to that parameter name. That sequence of label, colon, input is repeated for each parameter.

你可以看到,每个冒号后面都有一个输入参数,他们会被映射到各个参数名称。

You may be wondering why it matters what the actual name of the method is. One pattern you'll find in Objective-J and Cappuccino is the idea of passing a method as an argument to another method. This is used commonly in delegation and in the event system. Since methods aren't first class objects in the same way as JavaScript, we use a special notation to refer to them, @selector. If I wanted to pass the previous method as an argument to another method, I would use the following code:

你可能想知道为什么一个方法的真实名字很重要。OJ里,回调的手法很普遍,可能会有很多这样的代码:
[fooObject setCallbackSelector:@selector(setJobTitle:company:)];
如何使用一个对象。
This block of code creates a new Person object, and sets the name:
这段代码创建了一个Person对象,设置了name:
var myPerson = [[Person alloc] init];
[myPerson setName:"John"];
blahblah.

 

49、构建Objective - J应用:从Hello World到添加按钮 本文详细介绍了如何使用Objective-J构建一个简单的Web应用,从创建基础的Hello World程序到逐步添加按钮控件,实现用户交互功能。通过分步骤讲解关键文件的创建和代码实现,帮助开发者快速入门Objective-J开发,并为后续扩展更复杂的功能打下基础。 阅读详情

相关推荐

49、搭建Objective - J应用:从Hello World到添加按钮

本博客详细介绍了如何从零开始搭建一个Objective-J应用,包括创建基本的Hello World应用以及逐步添加按钮等用户控件。内容涵盖项目文件的准备、代码编写、部署测试方法,以及相关学习资源,帮助开发者快速入门Objective-J开发。

vvv99的博客 77

Objective-J?

刚听说原来还有Objective-J这种东西。这次Objective的不是C,不是Java,而是JavaScript。原本C不直接支持面向对象编程,给它加上面向对象特征似乎是很直观的事情,但给原本就是面向对象语言的JavaScript给Objective化……呵呵有意思。 官网在这里:[url=http://cappuccino.org/]Cappuccino Web Framework[/...

Script Ahead, Code Behind 503

48、跨平台编程:Objective - C与Objective - J开发指南

本文介绍了如何在Windows上使用GNUstep编写并编译Objective-C的Hello World程序,以及如何使用Objective-J和Cappuccino框架开发Web应用。内容涵盖环境搭建、代码编写、编译运行以及相关框架的下载和使用注意事项,适合初学者入门跨平台开发。

4k5l6j7h8的博客 73

多种语言的 hello world

多种语言的 hello world 2011年12月20日   1、Java   作为长期占据榜首的语言,最近的地位却不太稳固,应该和Oracle收购Sun有关吧。   public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }2...

wjqcx29o 236

48、在Windows和Web环境中开发Objective - C和Objective - J应用

本文介绍了如何在Windows环境下使用GNUstep开发Objective-C程序,并详细说明了如何编写、编译和运行一个简单的Hello World程序。此外,还讲解了如何使用Objective-J开发Web应用,包括下载Cappuccino框架、创建项目文件以及运行示例程序。文章还提供了扩展示例,展示如何在Objective-C中使用数组等Foundation类,帮助开发者进一步探索跨平台开发的可能性。

work3的博客 67

47、Core Data与Objective-C跨平台开发指南

本博客详细介绍了Core Data在Objective-C开发中的使用,包括NSManagedObject子类的创建、数据模型操作和版本控制测试。同时,还涵盖了在Windows 7上安装GNUstep进行Objective-C开发的步骤,并演示了如何编写和编译一个Hello World程序。此外,博客还介绍了如何在Mac上下载和安装Objective-J与Cappuccino框架,并利用它们创建一个简单的Web应用程序。这些内容为开发者提供了跨平台开发和Web开发的新思路与实践方法。

work3的博客 73

iOS开发系列---Objective-C之基础知识

一、Objective-C语言概述 Objective-C是一种面向对象的计算机语言,Brad J Cox 在20世纪80年代设计了Objective-C,该语言是基于SmallTalk-80。1988年NeXT发布了Objective-C,它的开发环境和类库叫"NEXTSTEP",1994年NeXT与Sun发布了标准的NEXTSTEP系统,取名"OPENSTEP",软件自由基金会OPE

Be a learner Not a knower. 1063

Objective-C实现栅栏密码算法(附完整源码)

Objective-C实现栅栏密码算法(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 270

iOS 热修复- JSPatch的(Hello World)

一.JSPatch介绍JSPatch 是一个开源项目(Github链接),只需要在项目里引入极小的引擎文件,就可以使用 JavaScript 调用任何 Objective-C 的原生接口,替换任意 Objective-C 原生方法。 目前主要用于下发 JS 脚本替换原生 Objective-C 代码,实时修复线上 bug。二.JSPatchPlatform介绍JSPatch 需要使用者有一个后台可

jeikerxiao 449

Objective-J 面向对象javascript

NULL 博文链接:https://javasam.iteye.com/blog/1835560

objj-runtime:Objective-J语言的运行时

Objective-J运行时 用于语言的Node运行时。 它使用Martin Carlberg的Objective-J to JavaScript。 如何使用 使用npm安装 npm install objj-runtime 确保已安装grunt命令行。 如果没有安装 npm install -g grunt-cli 从objj-runtime目录内部使用grunt编译和构建运行时。 grunt 将已构建的Cappuccino Foundation框架复制到Framework目录。 您可能需要在objj-runtime目录中创建Framework目录。 创建一个Objective-J main.j文件 @import <Foundation> @implementation MyClass : CPObject - (CPString)myMethod {

JupyterLab高效开发:必备快捷键与进阶调试指南(实战收藏)

本文是JupyterLab高效开发实战指南,重点分享提升生产力的核心快捷键与进阶调试技巧。通过掌握Cell操作、文件管理等必备快捷键,并利用JupyterLab内置的可视化调试器进行断点设置与单步执行,开发者能彻底告别低效的print调试,实现流畅的数据分析与模型开发工作流。

xxx12的博客 442

卡布奇诺咖啡:JavaScript和Objective-J中的Web应用程序框架

欢迎来到卡布奇诺咖啡! 介绍 Cappuccino是一个开放源代码框架,可轻松构建可在Web浏览器中运行的桌面级别应用程序。 使用Cappuccino,您无需担心HTML,CSS或DOM。 您可以使用Apple Cocoa框架的API和Objective-J语言编写应用程序。 查看的 查看一些 有关更多信息,请参见 在Twitter上关注 ,以获取有关该项目的更新。 如果发现任何错误,请。 系统要求 要运行Cappuccino应用程序,您需要的是兼容HTML5的Web浏览器。 我们在MacOS上与Xcode的紧密集成将可视化可可开发的全部功能带到了网络上。 但是,您也可以仅使用简单的文本编辑器在其他平台上工作。 入门 要编写您的第一个应用程序,请。 要为卡布奇诺咖啡做出贡献,请阅读此处:。 执照 该库是免费软件。 您可以根据自由软件基金会(Free Software Found

几乎所有编程语言的hello, world程序(1)

简介 “hello, world”程序是指在电脑屏幕上打印/输出”hello, world”这行字符串的应用程序。该范例最早出自1972年由贝尔实验室成员布莱恩柯林汉撰写的内部技术档案”A Tutorial Introduction to the Language B”中,不久同作者...

1424

卡诺图化简法注意事项+竞争冒险知识点总结

今天反思以下卡诺图化简法中的注意事项。 卡诺图看起来简单,但如果不熟悉的话很容易出错,因此要对画圈的规则比较熟悉。

weixin_42415266的博客 1万+

告别Keil/IAR:在VSCode中用CMake+Clangd打造丝滑的STM32开发环境(附完整配置)

本文详细介绍了如何在VSCode中使用CMake和Clangd搭建高效的STM32开发环境,替代传统的Keil/IAR工具。通过完整的配置指南和快速开发技巧,帮助开发者实现轻量级、高度可定制的现代化开发流程,显著提升STM32项目的开发效率。

weixin_26843605的博客 164

[Objective-C]简介、数据类型、NSLog、运算符

1. OC历史简介:     1) 以后OC就作为Objective-C的简称了;     2) 大致经过:          i) 最早由Brad J.Cox创造,仅仅是对C语言进行了一定的扩展,因此具有C语言的特性,但很多语法基于SmallTalk,因此是面向对象的;          ii) NeXT公司获得OC授权,并发展出了OC的语言库和开发环境(该环境基于NEXTSTEP操作系

Lirx_Tech的专栏 1678

Altair HyperWorks 2022.3.0 Suite下载

Altair HyperWorks开发团队提供了新的一流技术,以设计和优化高性能、高效和创新的产品,并发布了HyperWorks 2021.2套件。与所有新版本一样,这个版本包含了新特性、增强功能,并修复了前一个版本中用户报告的各种问题,提供了总体上更稳定的体验。链接: https://pan.baidu.com/s/1rYietmQLQUboHiJzYoE9WQ?pwd=m9yh 提取码: m9yh 复制这段内容后打开百度网盘手机App,操作更方便哦。

weixin_48469365的博客 2126

由于生成一个完整的app代码涉及多个方面(如用户界面、后端逻辑、数据存储等),并且不同的app平台(如iOS、Android、Web等)需要不同的开发工具和语言,因此在这里我将为你提供几个简单的示例,

java@OverrideKotlin 示例 (Android Studio)kotlin#chhas{) {Swift 示例 (Xcode)swiftObjective-C 示例 (Xcode)@end@endReact 示例 (前端)jsxreturn (

CecilPhilemon的博客 1612

告别 DIFY 构建卡顿 / 失败!巧用 Makefile 一键构建本地 WEB 镜像,附核心避坑指南

本文详细介绍了DIFY本地源码构建WEB镜像的完整流程,重点解决因官方npm源不稳定导致的构建失败问题。通过修改web/Dockerfile文件启用国内npmmirror镜像源,可大幅提升依赖下载速度和稳定性。在DIFY根目录执行封装好的make build-web命令即可一键完成构建,无需手动编写复杂docker命令。文章还提供了前置环境准备、构建结果验证等实用指导,帮助开发者高效完成DIFY前端二次开发后的镜像构建验证。

2501_93651177的博客 181

【深度学习新浪潮】Token经济学深度解析:从AI“新智元”梗到产业核心,研究成果+标杆产品全拆解

在正式深入研究和产品分析前,必须先破除概念误区:行业内常说的Token经济学,并非单一概念,而是分为AI词元Token经济学和Web3通证Token经济学两大核心分支,二者底层逻辑、应用场景天差地别,也是大众最容易混淆的点。Token是AI时代的新大宗商品:黄仁勋将Token类比为工业时代的电力、石油,是AI时代的核心生产资料与基础计价单位,不再是单纯的技术单元,而是具备标准化、可计量、可交易、可分层的数字商品,其价值由算力消耗、推理效率、实际应用价值共同决定,而非虚拟炒作。Token五层定价模型。

专注:太空算力、AI infra、异构调度、大模型成本工程 685

rpc框架之gRPC 学习 - hello world

grpc是google在github于2015年开源的一款RPC框架,虽然protobuf很早google就开源了,但是google一直没推出正式的开源框架,导致github上基于protobuf的rpc五花八门,国内比较著名的有百度的sofa-pbrpc,但是遗憾的是soft-pbrpc没有对应的java实现版本。rgpc还有一个独立的官网:http://www.grpc.io/,目前已经支持的...

weixin_34220963的博客 314

ESP32与DS18B20温度传感器的数据采集与告警系统

并且,通过自定义的微信告警功能,我们可以及时收到温度超过阈值的告警消息。随着物联网的快速发展,传感器在各种应用场景中发挥着重要的作用。本文将介绍如何使用ESP32微控制器与DS18B20温度传感器结合,通过串口输出和Web服务器实现温度数据的采集和监控,并使用自定义微信告警功能。上传完成后,打开串口监视器,您将看到ESP32连接到Wi-Fi网络,并开始监测温度。在您的计算机或移动设备上,打开一个Web浏览器,并输入ESP32的IP地址。在浏览器中输入ESP32的IP地址后,您将看到显示当前温度的页面。

loop_class349的博客 2242
上一篇: Athena LivePage的页面刷新异常和解决方法
下一篇: Render_if: Conditional Parts in Nevow Templates
d_yang
博客等级 码龄18年 33粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值