Як зазначають інші, це питання компромісів та правильних знань.
Єдиний підводний камінь, який ви можете розглянути, - це ви: у своєму запитанні ви згадуєте, що в Інтернеті ви бачите як "перехресну платформу" як перевагу. Але чи справді це? Подумайте про це так: якщо ви розробляєте щось для робочого столу, вам потрібно визначити список платформ та їх вимоги до підтримки.
Не помиляйтесь, це те саме для Інтернету. І хоча це вже надзвичайно простіше, ніж раніше, якщо ви розробляєте широкий публічний додаток, вам доведеться мати справу з усіма можливими версіями кожного веб-браузера там. І якщо це більше корпоративного додатку, то створіть себе та підготуйтеся до складання своїх підтримуваних платформ браузерів дуже точно.
Не думайте, що тут і там ви не уникнете зламати конкретні платформи, якщо будуєте щось значне.
А потім веселі частини. Що найкраще? Веб-переглядачі, які майже регулярно оновлюються, як Chrome? Або ті, які впроваджують безпеку, оновлюються лише щомісяця та основними функціями кожного кам'яного віку (як IE)? Відповідь не така очевидна, як ви могли б подумати, тому що деякі з цих частих "прозорих" оновлень можуть порушити ваш код, і вам потрібно буде дотримуватися цього та негайно реагувати. Або слідкуйте за попередніми версіями бета та розробників під час розробки та тестування. Для всіх браузерів ви нерозумно сказали, що хочете підтримати (удачі).
О, і не будемо забувати міркування щодо інтерфейсу користувача. Ви також стикаєтеся з радістю вирішувати, чи хочете ви послідовно користувальницького інтерфейсу ПРОСТО ВСІХ своїх цільових платформ чи послідовного інтерфейсу зкожен цільовий майданчик. Побачити всі ті маленькі кнопки, які можна переглянути на веб-сторінках? Ви хочете, щоб вони скрізь були однаковими або інтегрувались із середовищем, яке використовує ваш користувач? Звичайно, ця проблема не є новою та існувала для інших моделей розробки, але вона, здається, є важливішою тут і залежить від типу користувачів, на яких ви орієнтуєтесь, і чого вони очікують. Громадський кінцевий користувач, як правило, хоче, щоб ви інтегрувались із їх платформою - але все одно хочете, щоб ви "ого!" їх з вигадливими речами - тоді як корпоративний користувач захоче щось, схоже на додаток для настільних ПК. І мобільні платформи мали новий вимір у всьому цьому.
Для останніх 2 абзаців загальною ідеєю є інколи встановити пакунок заздалегідь налаштованого веб-браузера зі своїм інсталятором, який потім підключатиметься до вашого веб-додатку (локально розміщеного або в Інтернеті). Це чудово, тому що ви керуєте частотою оновлення, і ви можете "заморозити" стан, і ви точно знаєте, на чому підтримувати та перевіряти. Крім того, ви можете додавати цікаві речі, такі як спеціальні розширення для користувачів. Наприклад, упаковка «замороженого» Chromium за допомогою невеликих розширень Chrome, розроблених для полегшення використання веб-додатків для різних типів користувачів, може бути надзвичайно приємною. З іншого боку, ви зараз відповідаєте за порушення безпеки, оскільки ви заморозили цикл випуску, і ваш додаток не скористається покращенням швидкості (якщо є).
Як і багато речей, це сокира з двома краями.
Примітка. У мене є сильна упередженість щодо Інтернету, оскільки це в основному велика купа напівфабрикованих технологій (і я тут ввічливий), аж до шарів OSI, на яких ми продовжуємо додавати шари лайна, приховуючи проблеми внизу, не реально вирішуючи або їх фіксація.
Попри це, я виступаю за Інтернет за його всюдисущу природу як платформу. Я думаю, що ваш крок компанії (мабуть) правильний. Очевидно, це залежить від вашого цільового ринку та платформ, на які ви прагнете. Якщо ви хочете викрити щось як послугу, ви, мабуть, добре піти (хоча це теж не потрібно). Якщо ви цього не зробите, то, можливо, причин для цього не так багато.
Хм, і очікуйте цікавих розробок у майбутньому зараз, коли більш легкі варіанти існуючих операційних систем продовжують нереститися для мобільних середовищ (нетбуків, смартфонів, КПК, планшетів, електронних книг ...), приділяючи більше уваги використанню легких вбудованих браузерів. .. але з усією своєю новою часткою глюків, що надають інтерфейс користувача.
Щодо технологій, що базуються на плагінах ... я б сказав, тримайтеся подалі від них. Вони підвищать потужність вашого додатка, але обмежать його проникнення на ринок. У деяких випадках ви побачите це як плюс у плані підтримки міжплатформ, поки нова платформа раптом не відмовиться їх підтримувати. Веб-стандарти тут є з причини (будьте обережні, щоб не надто хвилюватися з приводу всього, що є в HTMl5, інакше це може підірватися вам на обличчя)
РЕДАКТУВАННЯ: інші речі для розгляду ...
Набір персоналу
Це дуже важко знайти знають веб - розробник. Ви можете подумати, що там є їхнє стадо, але вони втрачаються у величезному пулі, ну, досить некомпетентних людей, які думають, що зуміли написати 700 рядків JavaScript / ECMAScript, щоб реалізувати певну перевірку у своїх формах - це все-таки все і бути всім, чого можна досягти за рахунок навичок високого рівня.
Я не жартую, останнім часом моє перше питання для всіх інтерв'ю з веб-розробки - як оголосити змінну, а потім, чи існує різниця між використанням var
чи ні (залежно від того, як вони відповідають). Це гнітюче. Мені набагато складніше знайти середнього або просунутого веб-розробника, ніж знайти середнього або просунутого розробника настільних ПК.
Сприйняття
Ніхто ніколи не стане вважати вас серйозно, коли ви скажете "Я веб-розробник". Це для підкласу програмістів, розробників, чи не так? Ті, кого ви ігноруєте та знущаєтесь здалеку, і не приєднуйтесь, коли вони йдуть по каву. :)
Це, очевидно, неправда, але воно зводиться до того, що ви розробляєте для середовища, яке в основному для вас управляється. Веб-переглядачі виправляють вашу розкручену розмітку, стилі, які ви накрутили, і навіть виправлятимуть накручені сценарії для деяких із них та оптимізують її для вас, якщо вам потрібно. І якщо ви веб-розробник, люди не будуть вважати, що у вас є поняття про програмування нижчого рівня, тому ви повинні бути повноцінним ідіотів, правда?
І тоді вони розуміють, наскільки божевільно складний ECMAScript може бути, але відмовляться переглядати свою думку. Тому що це веб. Нам це не подобається по суті, нам просто подобається те, що він дозволяє нам робити.