Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-26254] Titanium project boilerplates for integration with various tech stacks

GitHub Issuen/a
TypeStory
PriorityMedium
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsTemplates
LabelsTItaniumAppcdplugin, cb-tooling
ReporterJan Vennemann
AssigneeJan Vennemann
Created2018-08-03T09:39:00.000+0000
Updated2020-03-06T19:34:09.000+0000

Description

While working on the Angular and Vue.js projects we have experimented with different technology stacks and how they can work with Titanium. A lot of this can benefit our users in their existing and new projects so it would be a good thing to create some boilerplate projects that demonstrate how to use these various tech stacks. Suggestion for possible boilerplate projects: * Use [TypeScript](http://www.typescriptlang.org/) in app projects and libraries (/) (https://www.appcelerator.com/blog/2018/08/introducing-titanium-boilerplates-typescript/) * Unit test app and module projects as well as libraries with [Karma](https://karma-runner.github.io/) * End-to-end test app and module projects as well as libraries with [Appium](http://appium.io/) and [WebdriverIO](http://webdriver.io/) * Use [Webpack](https://webpack.js.org/) to load, transform and bundle all kinds of assets. More ideas that required additional evaluation: * State libraries like Vuex, Redux or MobX

Comments

  1. Chris Barber 2018-08-03

    We don't much talk about React. If we're going to support Angular and Vue, I would say React should also be supported. Maybe we start with just supporting JSX syntax before introducing the whole React API. I also strongly feel we should advocate one or more state management libraries. I know Vue has Vuex, but I would recommend Redux and maybe some others such as MobX. React now ships with a Context API which is pretty cool, declarative, but cool. Finally I would advocate that Titanium have first class support for CSS. CSS is a "technology" and it's a basic building block. Several frameworks/libraries defer all styling solely to CSS. There are many great CSS frameworks for grids, consistency, etc. There are several neat things happening in the CSS sector such as build-time enhancements (sass, less, post-css, etc) as well as really useful features (e.g. calc(), rem, grid, etc).
  2. (deactived) Brian Immel 2018-08-03

    Adding my 0.02: The more support we add, the more documentation we will need to support said technologies. React is a beast, IMHO, while CSS seems rather easy to document. Maybe I'm bias because I know CSS and have been dreading the day when I start learning React. I second Chris' thoughts here.
  3. Jan Vennemann 2018-08-04

    [~cbarber], you make some good points, but they are way out of scope of this ticket. A potential React integration or CSS support are huge projects on their own that require quite some effort from our side to implement. CSS in particular should get some attention after Vue and Angular support is on an equal level and CSS support is the next logical step to improve development experience with both. However, the items i have listed in the ticket's description require only a simple plugin in our CLI or their environment to make them work. Advocating for a state library could very much fit in this scope. [~bimmel], that also means we wouldn't need to worry about extensive documentation, because the third-party product can be used as usual and a user can refer to the other product's docs. We would only provide a guideline how to set things up, which is the purpose of these boilerplate projects.

JSON Source