Не понимаю, почему люди пытаются пользоваться Android так, как будто это просто очередная сборка Linux.
Android не расчитан на использование через консоль и запуск нативных бинарников.
Раз уж консоль является основным способом управления Node.js, то без неё, естественно, не обойтись, но почему бы не заниматься садомазохизмом и использовать консоль в стиле Holo (но с поддержкой старых версий, если там нужные API есть) из TextView и EditText, которая открывалась бы по нажатию иконки Node.js в меню?
Android сделан с мыслью, что нативные бинарники используются только для системных приложений, а пользовательские приложения работают через Dalvik используя app_process.
При этом настоящие stdin/stdout тоже должны быть реализованы (если возможно), чтобы можно было запускать в adb, но запускать через app_process.
А почему бы просто не использовать для всех случаев канонизации, в том числе регистрации и сброса пароля, один и тот же способ канонизации — единственный вызов toLower на стороне сервера?
Не знаю, как будет в реализации, но по моему оптимистическому мнению:
1) Консоль самодельная будет, я думаю.
2) Скорее всего, так как Android поддерживает такое через intent'ы, в стандартной поставке есть привязка приложений как минимум к HTML-файлам и картинкам.
3) Смысла нет, сокеты и так работают отлично работают и широко используются в приложениях, разве что чтобы к рутовским файлам иметь доступ.
4) На Android есть службы.
Не надо доводить код до того, чтобы он работал плохо. Вряд ли вы будете писать комментарий вроде «этот код очень чистый, но может быть медленным», а вот «HACK: ...» сами пальцы так и хотят написать. Поэтому источники багов от костылей искать проще (Ctrl+F > "// HACK"), чем источники тормозов от чистоты, даже несмотря на профилировщики.
И на ранних этапах (во время разработки самой части кода, которая ускоряется от костыля) интегрировать костыли значительно проще, потому что суть участка кода всё ещё есть в голове, чем плюнуть в какое-нибудь отмеченное профилировщиком место в конце.
Ведь на костылях и построены многие вещи, радикально изменившие представление о компьютерах. Commander Keen, благодаря которому на ПК появились плавные sidescroller'ы, использовал особенности фреймбуфера EGA, а Quake тормозил бы, если бы не костыль с исправлением перспективы только каждые 8-16 пикселей (которое, кстати, реализовано на ассемблере так, чтобы операция деления производилась совместно с целочисленными операциями).
Я считаю, что код по возможности нужно писать красивый, но если костыльное (через unsafe с указателями, например) решение даёт хороший прирост к производительности (имеется в виду как прирост от костыля в одном месте, так и суммарный прирост от костылей в разных местах), то лучше использовать его, потому что, как уже было сказано в посте, «пользователей не волнует, насколько красив ваш код и насколько хороша архитектура, их волнует, чтобы проект хорошо работал».
Android не расчитан на использование через консоль и запуск нативных бинарников.
Раз уж консоль является основным способом управления Node.js, то без неё, естественно, не обойтись, но почему бы не заниматься садомазохизмом и использовать консоль в стиле Holo (но с поддержкой старых версий, если там нужные API есть) из TextView и EditText, которая открывалась бы по нажатию иконки Node.js в меню?
Android сделан с мыслью, что нативные бинарники используются только для системных приложений, а пользовательские приложения работают через Dalvik используя app_process.
При этом настоящие stdin/stdout тоже должны быть реализованы (если возможно), чтобы можно было запускать в adb, но запускать через app_process.
1) Консоль самодельная будет, я думаю.
2) Скорее всего, так как Android поддерживает такое через intent'ы, в стандартной поставке есть привязка приложений как минимум к HTML-файлам и картинкам.
3) Смысла нет, сокеты и так работают отлично работают и широко используются в приложениях, разве что чтобы к рутовским файлам иметь доступ.
4) На Android есть службы.
И на ранних этапах (во время разработки самой части кода, которая ускоряется от костыля) интегрировать костыли значительно проще, потому что суть участка кода всё ещё есть в голове, чем плюнуть в какое-нибудь отмеченное профилировщиком место в конце.