Движок построен на базе Google V8, база данных Postgres (язык запросов компилируется в SQL) и фронтент на Django. Если есть идеи по оформлению, пишите мне на anton at akshell.com.
Сейчас нельзя, потому что приложения не могут создавать/удалять пользователей, создавать/удалять приложения, не имеют доступа к базам данных и файловым хранилищам других приложений, не могут модифицировать код приложений. В принципе, можно было бы все это добавить, создав некие «системные» приложения с такими правами, но не очевидно, чем это может быть полезно. Разве что увеличится некое теоретическое изящество.
По поводу поддержки CommonJS — Возможно Вам стоило обратить внимание на nodeJS там есть и commonJS и поддержка Postgresql и куча модулей в том числе и быстрых, на С++
Akshell ориетирован прежде всего на простоту разработки, а nodejs — асинхронный фреймворк (это очень хорошо для перформанса, но простоты не добавляет). Вот какие-то модули с поддержкой CommonJS будет возможно использовать.
Akshell использует Postgres не напрямую: у приложений есть API к базе данных, в т.ч. специальный язык запросов, который удобно использовать из Javascript. Вызовы этого API и запросы трансформируются в SQL, скармливаются Postgres'у, его ответы преобразуются в соответствующие структуры и возвращаются приложению. Самим приложениям о Postgres'е ничего знать не нужно.
Ещё пара вопросов, Скажите сколько времени Вы потратили на проект (времени), и думали ли о mongoDB (его преимуществом было бы отсутствие необходимости создавать таблицы)
Ну я потратил изрядное количество времени :) Главным приоритетом для меня была простота разработки, поэтому я выбрал реляционную БД. По моему мнению, полноценные транзакции и запросы значительно облегчают создание приложений. По той же причине я сделал и язык запросов: я старался сделать использование реляционной БД максимально простым.
есть ряд вопросов:
1) каким образом обеспечивается безопасность данных?
2) как измеряете нагрузку?
3) на каком уровне идет виртуализация? на уровне железки, веб-сервера, или приложения?
кстати есть еще такая разработка bytefy.com/ по архитектуре еще ближе к вашей
хоть мы делаем похожие продукты, думаю мы можем поделится некоторыми соображениями, уверен в этом мире хватит места для двух-трех платформ :)
Очень интересно, посмотрю ваш проект. На bytefly я запросил инвайт, но пока не получил :(
1) Базы данных и хранилища файлов отдельных приложений полностью независимы.
2) Пока никак :) Конечно, есть некоторая защита от примитивного DoS, но системы биллинга пока нет. Пока сервис с бете, можно писать только открытые приложения, а это бесплатно.
3) На уровне приложения.
Приложения исполняются движком на базе Google V8, он и обеспечивает виртуализацию. Базы данных обеспечивает PostgreSQL, запросы компилируются в SQL и скармливаются ему.
Akshell ориентирован прежде всего на простоту и скорость разработки, поэтому я выбирал скриптовой язык. Javascript уже используется в броузерах, поэтому я предпочел его. К тому же Google V8 исполняет его очень быстро.
Через дефис длиннее, сложнее набирать. К тому же я у многих спрашивал перед тем как купить доменное имя — все говорили, что хорошо читается. Видимо, дело вкуса.
Просто у скриптовых языков слабая поддержка в IDE. Обычно есть только подсветка синтаксиса и слабый code completion. В случае же Java или C# на помощь придут рефакторинги и инспекции с исправлением ошибок за один клик.
С другой стороны соглашусь, что JS покажется ближе чем Java большинству веб-разработчиков.
PS. Я специально не говорил про типизацию и производительность, чтоб не холиварить.
Ключевая особенность Akshell — это тесное взаимодействие приложений, возможное за счет того, что учетная запись пользователя общая. Это особенно актуально для «социальных» приложений, но вообще, конечно, можно писать любые веб-приложения.
Самый очевидный способ — брать деньги с коммерческих приложений за использованные ресурсы при превышении определенных квот. Однако он страдает от проблемы курицы и яйца: сейчас Akshell позволяет писать приложения быстро и просто, но это единственное преимущество перед обычным хостингом с каким-нибудь веб-фреймворком. Наличие большого количества пользователей дало бы гораздо большее преимущество, позволило бы использовать социальные фичи «на полную». Пользователи же, в свою очередь, захотят регистрироваться при наличии хороших приложений.
Сейчас я делаю Akshell совместимым с CommonJS, чтобы использовать открытые Sever-Side Javascript библиотеки, а затем писать «хорошие приложения».
Веб-интерфейс — это круто. Интеграция с Emacs — еще круче. Шаблоны Django — хорошо. Javascript — очень хорошо.
Очень жаль, что это не node.js — я уже не могу без этой асинхронности. И очень жаль, что там PostgreSQL… да вообще, что там SQL. Вот бы туда MongoDB…
Спасибо. Да, асинхронности нет, т.к. я делал ставку прежде всего на простоту использования. А доступ к базе данных происходит через API и язык запросов, который спроектирован именно для удобного встраивания в Javascript. Да, вызовы API и запросы транслируются в SQL и исполняются Postgres'ом, но это лишь деталь реализации, которая пользователю не видна. Эта связка обеспечивает полноценные запросы и транзакции, она тоже была выбрана ради простоты использования.
Akshell, платформа социальных приложений