Pull to refresh

Comments 40

Концовка скринкаста вызывает отторопь, но вообще мне понравилось. Думаю, попробую на досуге.
Как поклонник django — одобряю такой инструмент.
Да, из Django были портированы шаблоны и библиотека form.
А на чем крутится сайт? И такое жуткое оформление, что так и хочется помочь проекту.
Движок построен на базе Google V8, база данных Postgres (язык запросов компилируется в SQL) и фронтент на Django. Если есть идеи по оформлению, пишите мне на anton at akshell.com.
А фронтент можно было бы переписать на Javascript?
Сейчас нельзя, потому что приложения не могут создавать/удалять пользователей, создавать/удалять приложения, не имеют доступа к базам данных и файловым хранилищам других приложений, не могут модифицировать код приложений. В принципе, можно было бы все это добавить, создав некие «системные» приложения с такими правами, но не очевидно, чем это может быть полезно. Разве что увеличится некое теоретическое изящество.
По поводу поддержки CommonJS — Возможно Вам стоило обратить внимание на nodeJS там есть и commonJS и поддержка Postgresql и куча модулей в том числе и быстрых, на С++
Akshell ориетирован прежде всего на простоту разработки, а nodejs — асинхронный фреймворк (это очень хорошо для перформанса, но простоты не добавляет). Вот какие-то модули с поддержкой CommonJS будет возможно использовать.

Akshell использует Postgres не напрямую: у приложений есть API к базе данных, в т.ч. специальный язык запросов, который удобно использовать из Javascript. Вызовы этого API и запросы трансформируются в SQL, скармливаются Postgres'у, его ответы преобразуются в соответствующие структуры и возвращаются приложению. Самим приложениям о Postgres'е ничего знать не нужно.
> Вызовы этого API и запросы трансформируются в SQL
какой модуль их трансформирует? вы его сами написали?
Да, и язык запросов тоже я придумал. Он гораздо проще, чем SQL, избегает многих его острых углов, но при этом обладает такой же мощностью. Eго легко встраивать в Javascript: он использует те же типы и операторы. Вот описание интерфейса к базе данных, справочник по нему и справочник по языку запросов.
Ещё пара вопросов, Скажите сколько времени Вы потратили на проект (времени), и думали ли о mongoDB (его преимуществом было бы отсутствие необходимости создавать таблицы)
Ну я потратил изрядное количество времени :) Главным приоритетом для меня была простота разработки, поэтому я выбрал реляционную БД. По моему мнению, полноценные транзакции и запросы значительно облегчают создание приложений. По той же причине я сделал и язык запросов: я старался сделать использование реляционной БД максимально простым.
прикольно, а мы уже давно такое делаем, прошу сравнить



Online IDE — писать можно на Java и Javascript
Документация — с примерами

а что у вас на стороне сервера крутится?
правильная ссылка на документацию

есть ряд вопросов:
1) каким образом обеспечивается безопасность данных?
2) как измеряете нагрузку?
3) на каком уровне идет виртуализация? на уровне железки, веб-сервера, или приложения?

кстати есть еще такая разработка bytefy.com/ по архитектуре еще ближе к вашей

хоть мы делаем похожие продукты, думаю мы можем поделится некоторыми соображениями, уверен в этом мире хватит места для двух-трех платформ :)
Очень интересно, посмотрю ваш проект. На bytefly я запросил инвайт, но пока не получил :(

1) Базы данных и хранилища файлов отдельных приложений полностью независимы.
2) Пока никак :) Конечно, есть некоторая защита от примитивного DoS, но системы биллинга пока нет. Пока сервис с бете, можно писать только открытые приложения, а это бесплатно.
3) На уровне приложения.

Приложения исполняются движком на базе Google V8, он и обеспечивает виртуализацию. Базы данных обеспечивает PostgreSQL, запросы компилируются в SQL и скармливаются ему.
Почему в качестве server-side языка был выбран именно JS, а не Java или С#?
Akshell ориентирован прежде всего на простоту и скорость разработки, поэтому я выбирал скриптовой язык. Javascript уже используется в броузерах, поэтому я предпочел его. К тому же Google V8 исполняет его очень быстро.
А почему такое зубодробительное название?
В Akshell приложения взаимодействуют по образу и подобию UNIX пайпов, поэтому shell. AK — мои инициалы.
Ну, сделали бы через дефис, или пробел.
Первая мысль — Аскскссккшелл. Нечитаемо.

И инициалы — дурной тон.
Через дефис длиннее, сложнее набирать. К тому же я у многих спрашивал перед тем как купить доменное имя — все говорили, что хорошо читается. Видимо, дело вкуса.
Возможно. Но идея хороша.
UFO just landed and posted this here
первая попытка прочитать — aks hell
вторая — ass hell

к шеллу пришел только по прочтении топика ))
Программеры прочитают haskell.

Остальные Aks Hell или AKs Hell (aks — сленговое для ask, AKs — сокращение от Автомат Калашникова в форме мн. ч.)
Просто у скриптовых языков слабая поддержка в IDE. Обычно есть только подсветка синтаксиса и слабый code completion. В случае же Java или C# на помощь придут рефакторинги и инспекции с исправлением ошибок за один клик.

С другой стороны соглашусь, что JS покажется ближе чем Java большинству веб-разработчиков.

PS. Я специально не говорил про типизацию и производительность, чтоб не холиварить.
Любопытно… Немножко оффтопик, но… Вы пользуетесь Емаксом?
ага, пролистывал доки, любопытно стало, все ли обязаны пользоваться веб-редактором.

Сам уже довольно давно пользую, на елиспе кой-что пописывал для себя еще студентом.
UFO just landed and posted this here
Ключевая особенность Akshell — это тесное взаимодействие приложений, возможное за счет того, что учетная запись пользователя общая. Это особенно актуально для «социальных» приложений, но вообще, конечно, можно писать любые веб-приложения.
спасибо за интересный пост. Какие у вас планы по монетизации платформы? Какие способы вы видите?
Самый очевидный способ — брать деньги с коммерческих приложений за использованные ресурсы при превышении определенных квот. Однако он страдает от проблемы курицы и яйца: сейчас Akshell позволяет писать приложения быстро и просто, но это единственное преимущество перед обычным хостингом с каким-нибудь веб-фреймворком. Наличие большого количества пользователей дало бы гораздо большее преимущество, позволило бы использовать социальные фичи «на полную». Пользователи же, в свою очередь, захотят регистрироваться при наличии хороших приложений.

Сейчас я делаю Akshell совместимым с CommonJS, чтобы использовать открытые Sever-Side Javascript библиотеки, а затем писать «хорошие приложения».
Чертовски хорошее, своевременное и интересное начинание, пишите на хабр о том, как идут дела. Удачи!
Ну почти идеальная штука :)

Веб-интерфейс — это круто. Интеграция с Emacs — еще круче. Шаблоны Django — хорошо. Javascript — очень хорошо.
Очень жаль, что это не node.js — я уже не могу без этой асинхронности. И очень жаль, что там PostgreSQL… да вообще, что там SQL. Вот бы туда MongoDB…
Спасибо. Да, асинхронности нет, т.к. я делал ставку прежде всего на простоту использования. А доступ к базе данных происходит через API и язык запросов, который спроектирован именно для удобного встраивания в Javascript. Да, вызовы API и запросы транслируются в SQL и исполняются Postgres'ом, но это лишь деталь реализации, которая пользователю не видна. Эта связка обеспечивает полноценные запросы и транзакции, она тоже была выбрана ради простоты использования.
Sign up to leave a comment.

Articles