Создатели калифорнийского стартапа 280North, судя по всему, довольно большие любители маков, а точнее языка Objective-C, который так полюбился разработчикам под мак, и не только им.
Поэтому не удивительно, что именно они совсем недавно представили интереснейшую разработку, а конкретнее язык Objective-J и, соответственно, фреймворк для него под названием - Cappuchino. Этот скриптовой объектно-ориентированный язык, основанный на JavaScript, по сути, предлагает web-программистам отказаться от самого web’a, как бы это парадоксально не прозвучало. Как заявил Росс Баучер из 280 North - "Cappuccino не требует от разработчика знания HTML, CSS, DOM, программист в Cappuccino имеет дело с сущностями более высокого уровня, такими как окна, области окон, графические элементы. “ Таким образом, разработка веб-приложений осуществляется фактически также как и десктопных приложений.
Пример применения данного инструментария - бесплатная весьма качественная Интернет-программа создания и демонстрации презентаций 280Slides, разработанная буквально за пару месяцев самой 280North, состоящей, кстати, всего из трёх человек.
Кстати, Библиотека Cappuchino представляет собой клон GNUstep, и поэтому распространяется как программное обеспечение с открытым исходным кодом, на условиях LGPL.
По утверждениям разработчиков языка из официального туториала – новый язык представляет собой надстройку над обычным JavaScript, а значит любой JS код будет рабочим ив Objective-J. При этом любой, кто знает JavaScript и обладает базовыми знаниями объектно-ориентированного программирования, без труда сможет освоить новый язык, даже не имея особых знаний Objective-C, на котором он был основан.
Язык Objective-J имеет два типа объектов, первый – это собственно JavaScript объекты, а второй это уже объекты самого Objective-J, основанные на классах и наследовании наподобие как в обычных C или Java. Объявление класса происходит следующим образом:
@implementation Person : CPObject
{
CPString name;
}
@end
Начинается всё с @implementation, за ним идёт имя класса, двоеточие и имя наследуемого класса. В фигурных скобках осуществляется объявление переменных.
Oбъявление методов внутри класса (также располагается где угодно между @implementation и @end) осуществляется следующим образом:
- (void)setName:(CPString)aName
{
name = aName;
}
- (CPString)name
{
return name;
}
Следует отметить, что объявление здесь не совсем обычное: минусом обозначается переменная, принадлежащая объекту, как обе переменные в примере выше, а плюсом переменная, принадлежащая классу. В фигурных скобках указывается возвращаемое значение. Когда метод имеет больше одного параметра, каждый параметр отделяется двоеточием, и при объявлении такого метода параметр состоит из метки, за ним идёт двоеточие, потом тип параметра и затем уже само имя параметра:
- (void)setJobTitle:(CPString)aJobTitle company:(CPString)aCompany
Имя метода в Objective-J своеобразно разделяется между всеми параметрами и представляет собой конкатенацию меток, что, кстати, повышает читаемость кода. В примере сверху метод называется setJobTitle:company:. Вызов данного метода осуществляется следующим образом, где данные следуют за метками:
[myPerson setJobTitle: «Founder» company: «280 North»];
Продолжение можно прочитать в туториале
Итак за первую неделю открытого доступа самую первую глючную версию инструментария скачало более десяти тысяч человек, что говорит о явной заинтересованности разработчиков данным начинанием. Конечно, Objective-J пока в начале своего пути и хватает моментов, которые ещё необходимо разрешить, но потенциал у него большой.
А вообще раз декстопные приложения перебираются в веб, то почему бы за ними не последовать и фреймворкам? Тем более что процесс уже идёт полным ходом, если вспомнить Google WebToolkit или MicroSoft Volta, а теперь вот и Cocoa->Cappuchino.
Читатели в 🇵🇱, пожалуйста, поддержите dev.by своими налогами!
10 популярных курсов по изучению JavaScript для крутой веб-разработки
JavaScript остается одним из самых популярных языков программирования в мире. Мы собрали список курсов и сертификаций по Javascript от основ до необычных особенностей. В листинге как платные, так и бесплатные онлайн-курсы. Погнали за новыми знаниями!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.