Тупість це невід’ємна риса жадібності. А нове це добре забуте старе. Хто давно працює з ФОПами той пам’ятає, що це все вже було. Тіді воно не протрималось і пари місяців.
От як воно буде цього разу. Введуть цю дурість. Галери відкриють за кордоном купу компаній, які будуть наливати гроші прямо на валютні рахунки ФОПів у потрібному співвідношенні і будуть мати контракти на розробку.
ФОПи будуть укладати контракти з місцевими галерами на аренду офісу та обладнання де буде прописано графіки та умови використання. Все це за жодними законами не може вже трактуватись, як трудові відносини, бо робітники не платять роботодавцям... ну ви розумієте.
А відносини з закордонними конторами — це в чистому вигляді підприємництво.
Все і далі буде, як є...поки зрештою просто не відмінять спрощенку як таку, до чого все і так вже довго йде.
Котлин — это высер русского гения, для людей которым не нравиться С-подобный синтаксис и вечно все не так. И каждый год мы наблюдаем появление подобных языков типа Скала, Groove, Котлин и т.п. Они появляються и потом куда-то исчезают заменяясь новыми «гениальными» супер заменами С и Java. И Котлин совсем не удобнее Java — это очередной миф, который пытаються вбить в голову людям через массированную рекламу. Просто собрали в одном месте все те анти-паттрены, которые умные люди годами блокируют в Java, чтобы меньше плодили быдлокодинг, скопом добавили не вмеру умные русские программисты в одном месте не обремененные всякими JCP и очень громко радуються своим глупостям.
Так что не переживайте с Java все будет в порядке, еще очень долго. Работу найдете.
Если Гугл поссориться с Ораклом, от Java, во-первых им не нужно будет отказывться, т.к. Java — это давно Open Source и развиваеться не только Ораклом, а тот же Гугл представлен в JCP. Кстати, в отличие от чуда, которое толкает исключительно одна контора.
Ну и если таки, по не известным мне причинам, из-за Оракла Гуглу таки придется выпилять Java то поровозом за ней пойдет и Котлин, он к вашим сведениям, сильно завязан на инфраструктуру Java (JVM, API и т.п.). На этот удивительный случай, на самом деле, Гугл готовит Flutter, который использует Dart и его они типа(!) собираються использовать в новой ОСи, которую Вы упомянули. Грозит ли это Java?
Попробуйте представить, что на сцену выходит такой Гугл и говорит: «Все! Мегатонны софта уже написанного для Android на Java нам больше не нужны, всем миллионам Java программистам, которые все эти годы делали Android самой популярной мобильной платформой, срочно переучиваться на уже однажды умерший(для браузеров, куда его уже толкали как замену JavaScript) наш собственный Dart». Когда такое произойдет и произойдет ли вообще?
Про ху, простите, что-то там, со своей осью это как в СССР был свой автопром. Пускай стараються, можете особо на них внимания не обращать. У Самсунга, кстати тоже есть своя ОС. И у ЛЖ. А как же без своих осей и языков программирования в наше то время!
И вот Вам правило буравчика: при выборе платформ, языков программирования, технологий о технической стороне думайте во вторую очередь. В первую очередь смотрите где бабки. СКОЛЬКО вложено, КТО вкладывает и кто собираеться вкладывать, склько сможете ЗАРАБОТАТЬ лично Вы.
Большинство проектов можно спокойно реализовать на Swift. ObjC код(чужой например), если нужно, можно легко вставить в проект на Swift без дополнительных знайний.
Так что если цель именно iOS то Swift, на мой взгляд, лучший выбор. По крайней мере для моих проектов его хватает с головой и к счастью сильно углубляться в изучение ObjC, за несколько лет использования, совсем не нужно было.
Техника у Apple действительно лучшая. Но программистов они очень не любят. Софт — откровенный треш, особенно для разработки. Xcode — это привет из 90ых. А AppStore это ужас, ужас, особенно это чувсвтуеться, если поработаете с конкурентом Google Play.
Политика компании, откровенный совок — все запрещено и почти никакого выбора! На каждый чих нужны сертификаты, разрешения, провижены. Все постоянно меняеться. То что вчера работало — не факт, что сегодня заработает. Вашему работодателю будет пофг на это(денег дополнительных и славы не заработаете). А Вы задолбаетесь пыль глотать с этим угаром.
Если хотите получать удовольствие от программирования и не иметь проблем с работой — учите лучше Java. Она и как язык куда приятнее, чем поскалеподобный Swift, вечно меняющий даже синтаксис от версии к версии. Ну и вся сопутвтувющая инфратруктура от IDE до библиотек и возможности отлаживать код на много порядков круче у Java. Ну и это не только для мобилок и планшетов. Есть работа посерьезнее и интереснее.
Ну и чисто субъективно, мне кажеться, что Apple сейчас на самом пике, может еще будет немного расти, но спад уже пошел. Уже не № 1 по многим параметрам и это будет усугубляться.
Я заметил, что успешные проекты и компании всегда делают увлеченные люди(типа Стива Джобса).Они не просто делают, а искренне любят и верят в то что они делают. Потом на их место приходят просто люди. Хорошие профи(если повезет), они мало понимают и совсем не чувствуют продукт или компанию. Просто зарабоатывают, паразитируют на успехе, бояться резких движений, акционеров, что люди подумают. И прогресс на этом заканчиваеться. Инерция продолжает толкать проект или компанию. Выпускают айфон 6 потом 7 потом 8, Х, но уже сложно сказать, что революционного, нового от версии к версии, уже это никого особо не удивляет и не вставляет. А потом получаеться Сони. Крутая компания, много денег, но уже давно не то и не так. А потом и вовсе тихо и мирно кто-то поглощает остатки былой роскоши.
Стоит оно того, чтобы учить язык такой одной компании, и который больше нигде реально не нужен?
Не треба приписувати мені того, що я не казав. Аутентифікацію та авторизацію я привів лише, як приклад. Сама бізнес-логіка, звичайно, включає набагто більше різних задач.
Окрім того не варто плутати авторизацію з аутентифікацією. Це різні речі. І авторизація на клієнті... серйозно? Можете розкрити детальніше, що Ви маєте на увазі?
щодо SPA то все не так однозначно. Завантажити header&footer та відрендерити простий html може бути не такою вже і великою проблемою в порівнянні з перевантаженою логікою, яка буде «перегрівати» процесор. Підвантажувати та частково перемальовувати контент можна і в не SPA сайтах. Просто можна це робити там де це має сенс і не робити там де це перевантажує складність системи.
Але я не ствреджую. Це як раз я намагаюсь з’ясувати.
Для чого скажімо деякі фреймворки мають сервер-рендерінг режим?
Тут виникла деяка каша з понять.
Я питав про розрастання пам’яті за рахунок підвантаження навих модулів. Це не
утечки памяти
(memory leak). І якщо ви пишете на Java там про memory footprint зазвичай думють, але лише коли в цьому є реальна потреба. Подивіться просто на Java проекти яких безліч в мережі. Там просто зазвичай інші пріорітети. Ті для кого дуже важливий розмір програми і скільки вона використовує пам’ять роблять проекти на C++, а де це критично і взагалі на C.
Коли в програмі є memory leak звичайно це серйозний баг і його завжди нормальні люди виправляють.
З багами там наче все непогано. Там проблема саме з реалізацією. І, справді, найбільші проблеми там все ж не в UX, а в серверних технологіях, що вони обрали. Пошук, система комментів і т.і.
Але і з UX там все не дуже. Є прості проблеми, як от коли ви тиснете Лайк на якомусь сайті і потім, щоб набрати текст більше 3 літер іноді треба дуже постаратись. Або є проблеми, що витікають з обмежень архітектури SPA, коли досить проблематично букмаркати цікаві матеріали, особливо коментарі. Система коментів взагалі неюзабельна. Навігація дуже заплутана, ну звісно, якщо треба щось більше ніж скролати стрічку. Простір використовується вкрай нераціонально, все дуже перевантажено зайвим.
Цікаво!
Знайшов статтю з цього приводу:
news.dartlang.org/...i-uses-dart-we-asked.html
Як взагалі Dart підтримується для Angular? В Angular все ж на TypeScript заточено з коробки...
погані програми є скрзь. Але хто або що заважало встановити альтернативну програму для контактів?
Я не знаю. Чесно кажучі я і іншу соцмережу яка б мені подобалась не можу зараз пригадати.
Але Фейсбук точно не те чим зручно користуватись.
сервіс в Андроіді — це достатньо проста програма, навіть складно уявити, щоб там можна було написати щось таке, що поступово розбухає від підвантаження нової функціональності. Хіба що піонери щось напишуть, але хто цим користуватись буде?
Програми-демони на Java теж стартують і виділяють потрібну пам’ять. а якщо вони починають забагато жерти з плином часу, то це швидко стає зрозумілим і з цим боряться, бо це баг, поганий дизайн і т.і. В java є дуже потужні інструменти, щоб боротись з такими проблемами і там все досит чітко стандартизовано.
А в який спосіб Angular/React/Backbone спрощують це завдання? Я так розумію там так само на JavaScript або TypeScript треба програмувати цю взамодію?
Та ні, я до того, що саме це сам Гугл використовує для своїх сервісів(gmail, drive, gmap etc), а не той же Angular.
Якщо все так складно, як Ви пишете, то чому Google обрав саме Closure, а не Angular?
Там це не є такою проблемою. Java програму ніхто в 100500 табах браузера не відкриває.
І є багато різних можливостей для оптимізації в залежності від специфіки задачі.
.Net з власного досвіду скажу дуже гарно віддає пам’ять, можна сказати все що бере миттєво і повертає. З Java було дещо гірше, коли в мене були такі задачі, але зараз там, здається, теж все непогано(принаймі є ключі для JVM). Хоча, зазвичай, кого це хвилює на сервері?
Про Python, Ruby нічого не знаю, але ж і їх ніхто в табах браузера в неймовірних кількостях не запускають. І на мобільних пристроях теж не запускають де обмежена пам’ять, батарея і можливості процесора.
Готових компонентів безліч. Це не проблема.
Є питання, навіщо самі ці фреймворкі типу Ангуляра? Чудові компоненти є і для старого доброго jQuery
Я можливо невдало виклав свої питання. Я жодним чином не хотів протиставляти SPA vs Static pages. Чесно кажучі я взаглі вважаю, що SPA і є статичною сторінкою, яку просто потім динамічно змінюють в браузері.
Переше питання було, до якої межі може мати сенс триати все саме на ОДНІЙ сторінці.
А друге питання було про те що дають всілякі популярні нині фреймворки, що не можна зробити простіше за допомогою більш «преземлених» технологій.
Ну а третє — це приклад такої технології, альтернативного підходу. Html, JS+jQuery + (увага, це здається тут не дуже зрозуміли) готові компоненти для jQuery. Їх дуже багато і є навіть готві бібліотеки компонентів такі, як PrimeUI.
Я нічого не стверджую, намагаюсь дізнатись. Що саме дають Angular, ReactJS, чого не може дати підхід описаний в моєму третьому пункті.
P.S. Фейсбук — це жах! Гадаю, що єдина причина чому цим сайтом досі користуються люди — те що ви просто не можете перейти на інший, бо там не буде всіх ваших друзів.
Може це і є гарний приклад того, чому дуже важко написати нормальну програму в одному вікні браузера?
1)Гугл Мапс, насправді в цьому контексті дуже проста програма. Там один (ну може 2 з гугл стріт) вікон. Наскільки мені відомо там вони використовують свою JavaScript бібліотеку Closure, як і у більшісті гугловских сервісів, самі вони свій хвалений Ангуляр не дуже то і використовують для реальних проектів.
2)Це не факт. Зараз Інтернет все більше зміщується на мобільні пристрої. А у них зазвичай з ресурсами не дуже. Особливо в плані батареї.
Наприклад той же фейсбук на телефоні, що програма, що сайт постійні учасники усіляких антирейтингів bloatware. Дуже багато користувачів їх не люблять саме за цю жирність не ресурсоємність. Але від фейсбуку поки люди відмовитись не можуть. А від вашої програми?
Окрім того, як я зазначав, більшість бізнес логіки просто неможливо переносити на клієнта. Ну от наприклад систему аутентифікації та авторизації. Ви що серйозно перевіряєте права доступа до своїх сервісів на клієнті? :-)
Суть питання не в тому чи можна це якось в принципі десь зробити з милицями. Якщо я використовую Angular, ReactJS, Vie.JS etc вони здатні мені гарантувати, що в разі дуже складної архітектури вони будуть підчищати в пам’яті браузера той контент, що зараз не використовується? Або воно буде так потихеньку пухнути поки не завантажить все що можливо?Уявіть сайт з великою кількістю різних розділів, форм для заповнення і т.п. така типова бізнес програма.
Браузерів багато, на всіх милиць не наробишся.
Навіщо? Щось ніяк не второпаю про що річь.
У бекенда є інтерфейс, наприклад RESTful сервіси. Всі клієнти працюють через цей інтерфейс. Бекенд один, клієнтів різних скільки завгодно. Навіщо кожному клієнту свій бекенд?
Є рішення простіше і давно перевірене — ГУЛАГ.